gzdoom/wadsrc/static/zscript/heretic/chicken.txt
Christoph Oelckers a2f4cd7cda - fixed: All functions that are callable from weapon states and not members of Actor need to be declared 'action'.
With the stricter type checks of the self pointer that were now implemented these all produced errors.
2016-11-13 14:20:30 +01:00

201 lines
2.9 KiB
Text

// Beak puff ----------------------------------------------------------------
class BeakPuff : StaffPuff
{
Default
{
Mass 5;
Renderstyle "Translucent";
Alpha 0.4;
AttackSound "chicken/attack";
VSpeed 1;
}
}
// Beak ---------------------------------------------------------------------
class Beak : Weapon
{
Default
{
Weapon.SelectionOrder 10000;
+WEAPON.DONTBOB
+WEAPON.MELEEWEAPON
Weapon.YAdjust 15;
Weapon.SisterWeapon "BeakPowered";
}
action native void A_BeakRaise ();
action native void A_BeakAttackPL1();
States
{
Ready:
BEAK A 1 A_WeaponReady;
Loop;
Deselect:
BEAK A 1 A_Lower;
Loop;
Select:
BEAK A 1 A_BeakRaise;
Loop;
Fire:
BEAK A 18 A_BeakAttackPL1;
Goto Ready;
}
}
class BeakPowered : Beak
{
Default
{
+WEAPON.POWERED_UP
Weapon.SisterWeapon "Beak";
}
action native void A_BeakAttackPL2();
States
{
Fire:
BEAK A 12 A_BeakAttackPL2;
Goto Ready;
}
}
// Chicken player -----------------------------------------------------------
class ChickenPlayer : PlayerPawn native
{
Default
{
Health 30;
ReactionTime 0;
PainChance 255;
Radius 16;
Height 24;
Speed 1;
Gravity 0.125;
+NOSKIN
+PLAYERPAWN.CANSUPERMORPH
PainSound "chicken/pain";
DeathSound "chicken/death";
Player.JumpZ 1;
Player.Viewheight 21;
Player.ForwardMove 1.22, 1.22;
Player.SideMove 1.22, 1.22;
Player.SpawnClass "Chicken";
Player.SoundClass "Chicken";
Player.DisplayName "Chicken";
Player.MorphWeapon "Beak";
-PICKUP
}
States
{
Spawn:
CHKN A -1;
Stop;
See:
CHKN ABAB 3;
Loop;
Melee:
Missile:
CHKN C 12;
Goto Spawn;
Pain:
CHKN D 4 A_Feathers;
CHKN C 4 A_Pain;
Goto Spawn;
Death:
CHKN E 6 A_Scream;
CHKN F 6 A_Feathers;
CHKN G 6;
CHKN H 6 A_NoBlocking;
CHKN IJK 6;
CHKN L -1;
Stop;
}
}
// Chicken (non-player) -----------------------------------------------------
class Chicken : MorphedMonster
{
Default
{
Health 10;
Radius 9;
Height 22;
Mass 40;
Speed 4;
Painchance 200;
Monster;
-COUNTKILL
+WINDTHRUST
+DONTMORPH
+FLOORCLIP
SeeSound "chicken/pain";
AttackSound "chicken/attack";
PainSound "chicken/pain";
DeathSound "chicken/death";
ActiveSound "chicken/active";
Obituary "$OB_CHICKEN";
}
States
{
Spawn:
CHKN AB 10 A_Look;
Loop;
See:
CHKN AB 3 A_Chase;
Loop;
Pain:
CHKN D 5 A_Feathers;
CHKN C 5 A_Pain;
Goto See;
Melee:
CHKN A 8 A_FaceTarget;
CHKN C 10 A_CustomMeleeAttack(random[ChicAttack](1,2));
Goto See;
Death:
CHKN E 6 A_Scream;
CHKN F 6 A_Feathers;
CHKN G 6;
CHKN H 6 A_NoBlocking;
CHKN IJK 6;
CHKN L -1;
Stop;
}
}
// Feather ------------------------------------------------------------------
class Feather : Actor
{
Default
{
Radius 2;
Height 4;
+MISSILE +DROPOFF
+NOTELEPORT +CANNOTPUSH
+WINDTHRUST +DONTSPLASH
Gravity 0.125;
}
States
{
Spawn:
CHKN MNOPQPON 3;
Loop;
Death:
CHKN N 6;
Stop;
}
}