It used to execute a named script (Which Zandro does not support atm) so I changed it to a number but it still doesn't work in Zandronum (But the changed version still works in GZDoom).
The Script:
Code: Select all
#include "zcommon.acs"
script 500 (int bloodz) // blood's Z is already passed automatically
{
int ownerz;
// set activator to blood's owner, and retrieve its Z coord
SetActivatorToTarget(0);
if ((ClassifyActor(0) & ACTOR_MONSTER))
{
ownerz = GetActorZ(0) >> 16;
int headshotheight = (GetActorProperty(0, APROP_HEIGHT) >> 16) - 20;
int legshotheight = (GetActorProperty(0, APROP_HEIGHT) >> 16) / 4; // yeah the math here is bad but i don't care
// head shot
if (bloodz > (ownerz + headshotheight))
{
Thing_Damage2(0, 0x7FFFFFFF, "Normal"); // replace with your custom headshot damage type
}
// leg shot
// uncomment and do your own custom leg shot damage states here.
//if (bloodz < (ownerz + legshotheight))
//{
// printbold(s: "legshot!");
// Thing_Damage2(0, 0x7FFFFFFF, "LegShotDamage");
//}
}
}
Code: Select all
Actor Nash_Blood : Blood replaces Blood
{
+PUFFGETSOWNER // we need this this flag for everything to work
States
{
Spawn:
TNT1 AA 0
TNT1 A 1 ACS_ExecuteAlways(500, 0, z) // headshot/legshot check
BLUD CBA 8
Stop
}
}
Any ideas? It no longer uses named scripts but it still fails in Zandronum. The script never runs. I tested this by having it run a console command if it did. GZDoom informs me that it does not support console commands but Zandronum does nothing. Thanks! (Running Zandronum 2.1.2)