mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-12 13:42:29 +00:00
81 lines
1.4 KiB
Text
81 lines
1.4 KiB
Text
// Health bonus -------------------------------------------------------------
|
|
|
|
class HealthBonus : Health
|
|
{
|
|
Default
|
|
{
|
|
+COUNTITEM
|
|
+INVENTORY.ALWAYSPICKUP
|
|
Inventory.Amount 1;
|
|
Inventory.MaxAmount 200;
|
|
Inventory.PickupMessage "$GOTHTHBONUS";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
BON1 ABCDCB 6;
|
|
Loop;
|
|
}
|
|
|
|
//===========================================================================
|
|
//
|
|
// TryPickup
|
|
//
|
|
//===========================================================================
|
|
|
|
override bool TryPickup (in out Actor other)
|
|
{
|
|
PrevHealth = other.player != NULL ? other.player.health : other.health;
|
|
|
|
// Dehacked max health is compatibility dependent because Boom interpreted this value wrong.
|
|
let maxamt = MaxAmount;
|
|
if (maxamt < 0)
|
|
{
|
|
maxamt = deh.MaxHealth;
|
|
if (!(Level.compatflags & COMPATF_DEHHEALTH)) maxamt *= 2;
|
|
}
|
|
|
|
if (other.GiveBody(Amount, maxamt))
|
|
{
|
|
GoAwayAndDie();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
// Stimpack -----------------------------------------------------------------
|
|
|
|
class Stimpack : Health
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Amount 10;
|
|
Inventory.PickupMessage "$GOTSTIM";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
STIM A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Medikit -----------------------------------------------------------------
|
|
|
|
class Medikit : Health
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Amount 25;
|
|
Inventory.PickupMessage "$GOTMEDIKIT";
|
|
Health.LowMessage 25, "$GOTMEDINEED";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
MEDI A -1;
|
|
Stop;
|
|
}
|
|
}
|