Power: Fix unit test 20

liquid_container
Mark 2016-03-25 16:13:11 +01:00
parent 6b7dc6015d
commit c0b783c976
2 changed files with 14 additions and 4 deletions

View File

@ -32,8 +32,18 @@ public func IsContainer() { return true; }
protected func RejectCollect(id item, object obj)
{
if (obj->~IsFuel() || obj->~GetLiquidType() == "Oil")
// Accept fuel only
if (obj->~IsFuel())
return false;
// Is the object a container? If so, try to empty it.
if (obj->~IsContainer() || obj->~IsLiquidContainer())
{
var count = obj->ContentsCount(), contents;
while (--count >= 0)
if (contents = obj->Contents(count))
contents->Enter(this);
}
return true;
}

View File

@ -1101,8 +1101,9 @@ global func Test20_OnStart(int plr)
for (var i = 0; i < 3; ++i)
{
var barrel = engine->CreateContents(Barrel, 1);
var barrel = CreateObject(Barrel, 1);
barrel->CreateContents(Liquid_Oil, 10);
engine->Collect(barrel, true);
}
// Power consumer: armory.
@ -1139,8 +1140,7 @@ global func Test21_OnStart(int plr)
// Power source: one steam engine.
var engine = CreateObjectAbove(SteamEngine, 70, 160, plr);
var barrel = engine->CreateContents(Barrel, 1);
barrel->CreateContents(Liquid_Oil, 10);
engine->CreateContents(Liquid_Oil, 10);
// Power consumer: one pump.
var pump = CreateObjectAbove(Pump, 124, 160, plr);