killtracing: more tests

shapetextures
Maikel de Vries 2016-01-03 14:39:24 +01:00
parent 3392921bfe
commit 471470f1fb
1 changed files with 140 additions and 19 deletions

View File

@ -165,7 +165,7 @@ global func FxIntTestControlStop(object target, proplist effect, int reason, boo
global func FxIntTestControlOnDeath(object target, proplist effect, int killer, object clonk)
{
// Log the result.
Log("Test %d (%s): %v", effect.testnr, Call(Format("~Test%d_Log", effect.testnr)), plr_killer == killer);
Log("Test %d (%s): %v, killer = %s", effect.testnr, Call(Format("~Test%d_Log", effect.testnr)), plr_killer == killer, GetPlayerName(killer));
// Store the result.
effect.results[effect.testnr - 1] = (plr_killer == killer);
effect.launched = false;
@ -191,6 +191,13 @@ public func RelaunchPlayer(int plr)
return;
}
global func GetPlayerName(int plr)
{
if (plr == NO_OWNER)
return "NO_OWNER";
return _inherited(plr, ...);
}
/*-- Kill Tracing Tests --*/
@ -317,7 +324,7 @@ global func Test8_OnStart()
return true;
}
global func Test9_Log() { return "Club shot"; }
global func Test9_Log() { return "Club object shot"; }
global func Test9_OnStart()
{
var victim = GetCrew(plr_victim);
@ -480,28 +487,12 @@ global func Test18_OnStart()
return true;
}
global func Test19_Log() { return "Dynamite explosion (thrown)"; }
global func Test19_Log() { return "Powder keg (shot by musket)"; }
global func Test19_OnStart()
{
var victim = GetCrew(plr_victim);
var killer = GetCrew(plr_killer);
victim->SetPosition(140, 150);
victim->DoEnergy(-45);
var dynamite = killer->CreateContents(Dynamite);
dynamite->ControlUse(killer);
killer->SetHandAction(0);
killer->ControlThrow(dynamite, 20, -20);
return true;
}
global func Test20_Log() { return "Powder keg (shot by musket)"; }
global func Test20_OnStart()
{
var victim = GetCrew(plr_victim);
var killer = GetCrew(plr_killer);
victim->SetPosition(250, 150);
victim->DoEnergy(-45);
@ -514,6 +505,22 @@ global func Test20_OnStart()
return true;
}
global func Test20_Log() { return "Dynamite explosion (thrown)"; }
global func Test20_OnStart()
{
var victim = GetCrew(plr_victim);
var killer = GetCrew(plr_killer);
victim->SetPosition(140, 150);
victim->DoEnergy(-45);
var dynamite = killer->CreateContents(Dynamite);
dynamite->ControlUse(killer);
killer->SetHandAction(0);
killer->ControlThrow(dynamite, 20, -20);
return true;
}
global func Test21_Log() { return "Incineration by burning clonk"; }
global func Test21_OnStart()
{
@ -533,6 +540,120 @@ global func Test21_OnStart()
return true;
}
global func Test22_Log() { return "Lorry dump"; }
global func Test22_OnStart()
{
var victim = GetCrew(plr_victim);
var killer = GetCrew(plr_killer);
DrawMaterialQuad("Tunnel", 110, 160, 170, 160, 170, 260, 110, 260);
victim->SetPosition(144, 250);
victim->DoEnergy(-48);
killer->SetPosition(100, 150);
var lorry = CreateObjectAbove(Lorry, 110, 160);
lorry->CreateContents(Rock, 20);
lorry->SetR(55);
killer->SetCommand("Grab", lorry);
lorry->ControlUseStart(killer, 1, 0);
ScheduleCall(lorry, "ControlUseHolding", 1, 40, killer, 1, 0);
return true;
}
global func Test23_Log() { return "Lorry destruction"; }
global func Test23_OnStart()
{
var victim = GetCrew(plr_victim);
var killer = GetCrew(plr_killer);
DrawMaterialQuad("Tunnel", 110, 160, 170, 160, 170, 260, 110, 260);
victim->SetPosition(124, 250);
victim->DoEnergy(-45);
killer->SetPosition(100, 150);
var lorry = CreateObjectAbove(Lorry, 150, 260);
lorry->DoDamage(95);
lorry->CreateContents(Rock, 20);
var firestone = killer->CreateContents(Firestone);
killer->SetHandAction(0);
ScheduleCall(killer, "ControlThrow", 4, 0, firestone, 14, -50);
return true;
}
global func Test24_Log() { return "Catapult shot"; }
global func Test24_OnStart()
{
var victim = GetCrew(plr_victim);
var killer = GetCrew(plr_killer);
var fake_killer = GetCrew(plr_killer_fake);
victim->SetPosition(240, 150);
victim->DoEnergy(-45);
var cannon = killer->CreateObject(Catapult);
fake_killer->CreateContents(Shield)->Enter(killer);
cannon->ControlUseStart(killer, 120, 0);
cannon->ControlUseStop(killer, 120, 0);
return true;
}
global func Test25_Log() { return "Moving lava"; }
global func Test25_OnStart()
{
var victim = GetCrew(plr_victim);
var killer = GetCrew(plr_killer);
DrawMaterialQuad("Tunnel", 60, 160, 90, 160, 90, 260, 60, 260);
DrawMaterialQuad("Earth", 90, 90, 130, 90, 130, 160, 90, 160);
DrawMaterialQuad("DuroLava", 94, 90, 126, 90, 126, 160, 94, 160);
victim->SetPosition(75, 250);
victim->DoEnergy(-45);
var firestone = killer->CreateContents(Firestone);
killer->SetHandAction(0);
ScheduleCall(killer, "ControlThrow", 4, 0, firestone, 14, -6);
return true;
}
global func Test26_Log() { return "Moving acid"; }
global func Test26_OnStart()
{
var victim = GetCrew(plr_victim);
var killer = GetCrew(plr_killer);
DrawMaterialQuad("Tunnel", 60, 160, 90, 160, 90, 260, 60, 260);
DrawMaterialQuad("Earth", 90, 90, 130, 90, 130, 160, 90, 160);
DrawMaterialQuad("Acid", 94, 90, 126, 90, 126, 160, 94, 160);
victim->SetPosition(75, 250);
victim->DoEnergy(-45);
var firestone = killer->CreateContents(Firestone);
killer->SetHandAction(0);
ScheduleCall(killer, "ControlThrow", 4, 0, firestone, 14, -6);
return true;
}
global func Test27_Log() { return "Windbag object shot"; }
global func Test27_OnStart()
{
var victim = GetCrew(plr_victim);
var killer = GetCrew(plr_killer);
victim->SetPosition(240, 150);
victim->DoEnergy(-45);
var windbag = killer->CreateContents(WindBag);
windbag->DoFullLoad();
CreateObject(Rock, killer->GetX() + 10, killer->GetY() - 10);
ScheduleCall(windbag, "ControlUse", 4, 1, killer, 20, -8);
return true;
}
/*-- Wiki Overview Table --*/
global func CreateWikiOverviewTable(array results)