Is there a way to straight remove poison damage? like with an item or something, not just blocking it? Because i've been tinkering with afterburn damage for a flamethrower and two options came to me:
1. If there isn't, i deal with poison/fire damage in a way where it cannot be nullified, even going underwater, and gets obnoxious very quickly.
2. This option i actually tried and if this doesn't work i could use help: Inventory based damage with more control of it. The problem with this alternative is that Acs_Execute always only works on one person at once. The problem with acs_executealways is that i can't figure a way to make it work properly. I did came up with a code but if a player dies from say damage, kill is not counter toward the killer and even with a script that checks if a certain inventory is owned BEFORE activating the afterburn damage, if the script is enabled at the very same tick, this rule is completely ignored.
So if you guys can help this would be appreciated. Here's the codes (intended to work both on monsters n players):
ACS:
Code: Select all
script "Afterburn2" (void)
{
TakeInventory("AfterBurn", 1);
Print(s:"Fire it up baby!");
if(!!Checkinventory("FiredUp"))
{
Thing_Damage(0, 1);
Delay(15);
restart;
}
else
//TakeInventory("afterburn", 1);
//TakeInventory("firedup", 1);
TakeInventory("AlreadyBurned", 1);
terminate;
}
script "Afterburn" (void)
{
if( !!Checkinventory("AlreadyBurned", 1))
{
terminate;
}
else
GiveInventory("AlreadyBurned", 1);
ACS_NamedExecuteAlways("Afterburn2", 0);
terminate;
}
Code: Select all
ACTOR Afterburn : CustomInventory
{
+INVENTORY.ALWAYSPICKUP
+INVENTORY.AUTOACTIVATE
-Invbar
Inventory.MaxAmount 1
States
{
Spawn:
TNT1 A 1
stop
Pickup:
TNT1 A 1 A_JumpIfInventory("Alreadyburned", 1, "timeronly")
TNT1 A 1 A_GiveInventory("FiredUp", 1)
TNT1 A 1 ACS_NamedExecuteAlways("Afterburn")
stop
Timeronly:
TNT1 A 1 A_GiveInventory("FiredUp", 1)
stop
}
}
ACTOR FiredUp : PowerRegeneration
{
//inventory.maxamount 0
Powerup.Duration -5
Powerup.Strength 0
}
Actor Alreadyburned : Inventory
{
inventory.amount 1
inventory.maxamount 1
Inventory.InterHubAmount 1
-Invbar
+Inventory.Undroppable
+Inventory.HubPower
}