qzdoom/wadsrc/static/zscript/hexen/pig.txt
Christoph Oelckers 371712c53a - turned everything I could into non-action functions.
- fixed emission of the self pointer in FxVMFunctionCall. I did not realize that the self expression only sets up a register for the value, not pushing it onto the stack.
2016-10-22 17:49:08 +02:00

170 lines
2.4 KiB
Text

// Snout puff ---------------------------------------------------------------
class SnoutPuff : Actor
{
Default
{
+NOBLOCKMAP
+NOGRAVITY
Renderstyle "Translucent";
Alpha 0.6;
}
States
{
Spawn:
FHFX STUVW 4;
Stop;
}
}
// Snout --------------------------------------------------------------------
class Snout : Weapon
{
Default
{
Weapon.SelectionOrder 10000;
+WEAPON.DONTBOB
+WEAPON.MELEEWEAPON
Weapon.Kickback 150;
Weapon.YAdjust 10;
}
native void A_SnoutAttack ();
States
{
Ready:
WPIG A 1 A_WeaponReady;
Loop;
Deselect:
WPIG A 1 A_Lower;
Loop;
Select:
WPIG A 1 A_Raise;
Fire:
WPIG A 4 A_SnoutAttack;
WPIG B 8 A_SnoutAttack;
Goto Ready;
Grunt:
WPIG B 8;
Goto Ready;
}
}
// Pig player ---------------------------------------------------------------
class PigPlayer : PlayerPawn native
{
Default
{
Health 30;
ReactionTime 0;
PainChance 255;
Radius 16;
Height 24;
Speed 1;
+WINDTHRUST
+NOSKIN
-PICKUP
PainSound "PigPain";
DeathSound "PigDeath";
Player.JumpZ 6;
Player.Viewheight 28;
Player.ForwardMove 0.96, 0.98;
Player.SideMove 0.95833333, 0.975;
Player.SpawnClass "Pig";
Player.SoundClass "Pig";
Player.DisplayName "Pig";
Player.MorphWeapon "Snout";
}
States
{
Spawn:
PIGY A -1;
Stop;
See:
PIGY ABCD 3;
Loop;
Pain:
PIGY D 4 A_PigPain;
Goto Spawn;
Melee:
Missile:
PIGY A 12;
Goto Spawn;
Death:
PIGY E 4 A_Scream;
PIGY F 3 A_NoBlocking;
PIGY G 4;
PIGY H 3;
PIGY IJK 4;
PIGY L -1;
Stop;
Ice:
PIGY M 5 A_FreezeDeath;
PIGY M 1 A_FreezeDeathChunks;
Wait;
}
}
// Pig (non-player) ---------------------------------------------------------
class Pig : MorphedMonster
{
Default
{
Health 25;
Painchance 128;
Speed 10;
Radius 12;
Height 22;
Mass 60;
Monster;
-COUNTKILL
+WINDTHRUST
+DONTMORPH
SeeSound "PigActive1";
PainSound "PigPain";
DeathSound "PigDeath";
ActiveSound "PigActive1";
}
States
{
Spawn:
PIGY B 10 A_Look;
Loop;
See:
PIGY ABCD 3 A_Chase;
Loop;
Pain:
PIGY D 4 A_PigPain;
Goto See;
Melee:
PIGY A 5 A_FaceTarget;
PIGY A 10 A_CustomMeleeAttack(random[PigAttack](2,3), "PigAttack");
Goto See;
Death:
PIGY E 4 A_Scream;
PIGY F 3 A_NoBlocking;
PIGY G 4 A_QueueCorpse;
PIGY H 3;
PIGY IJK 4;
PIGY L -1;
Stop;
Ice:
PIGY M 5 A_FreezeDeath;
PIGY M 1 A_FreezeDeathChunks;
Wait;
}
}