producer does not depend on partial fuel amounts

stable-6.1
Maikel de Vries 2015-03-24 22:39:18 +01:00
parent d19f75a5b9
commit 23accab0de
6 changed files with 19 additions and 9 deletions

View File

@ -14,7 +14,12 @@ protected func Hit(x, y)
}
public func IsFuel() { return true; }
public func GetFuelAmount() { return GetCon(); }
public func GetFuelAmount(bool get_partial)
{
if (get_partial)
return GetCon();
return 100;
}
local Collectible = 1;
local Name = "$Name$";

View File

@ -113,7 +113,7 @@ private func FindNearWater()
/*-- Status --*/
public func IsFuel() { return !wetness; }
public func GetFuelAmount() { return 100; }
public func GetFuelAmount(bool get_partial) { return 100; }
local Collectible = 1;
local Name = "$Name$";

View File

@ -8,11 +8,16 @@ protected func Hit()
func Incineration()
{
SetClrModulation (RGB(48, 32, 32));
SetClrModulation(RGB(48, 32, 32));
}
public func IsFuel() { return true; }
public func GetFuelAmount() { return 50; }
public func GetFuelAmount(bool get_partial)
{
if (get_partial)
return GetCon() / 2;
return 50;
}
public func IsSawmillProduct() { return true; }
local Collectible = 1;

View File

@ -12,7 +12,7 @@ func Incineration()
}
public func IsFuel() { return true; }
public func GetFuelAmount() { return 30; }
public func GetFuelAmount(bool get_partial) { return 30; }
// Main bridge object is saved
func SaveScenarioObject() { return false; }

View File

@ -411,7 +411,7 @@ public func CheckFuel(id product, bool remove)
var fuel_amount = 0;
// Find fuel in this producer.
for (var fuel in FindObjects(Find_Container(this), Find_Func("IsFuel")))
fuel_amount += fuel->~GetFuelAmount();
fuel_amount += fuel->~GetFuelAmount(false);
if (fuel_amount < FuelNeed(product))
return false;
else if (remove)
@ -420,7 +420,7 @@ public func CheckFuel(id product, bool remove)
fuel_amount = 0;
for (var fuel in FindObjects(Find_Container(this), Find_Func("IsFuel")))
{
fuel_amount += fuel->~GetFuelAmount();
fuel_amount += fuel->~GetFuelAmount(false);
fuel->RemoveObject();
if (fuel_amount >= FuelNeed(product))
break;

View File

@ -91,7 +91,7 @@ public func OnPowerProductionStart(int amount)
if (!fuel)
return false;
// Extract the fuel amount from the new piece of fuel.
fuel_amount += fuel->~GetFuelAmount() * 18;
fuel_amount += fuel->~GetFuelAmount(true) * 18;
fuel->RemoveObject();
}
// There is enough fuel so start producing power and notify network of this.
@ -134,7 +134,7 @@ protected func Working()
return;
}
// Extract the fuel amount from the new piece of fuel.
fuel_amount += fuel->~GetFuelAmount() * 18;
fuel_amount += fuel->~GetFuelAmount(true) * 18;
fuel->RemoveObject();
}
// Smoke from the exhaust shaft.