qzdoom-gpl/wadsrc/static/zscript/hexen/fighterquietus.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

185 lines
3.2 KiB
Text

// Fighter Weapon Piece -----------------------------------------------------
class FighterWeaponPiece : WeaponPiece
{
Default
{
Inventory.PickupSound "misc/w_pkup";
Inventory.PickupMessage "$TXT_QUIETUS_PIECE";
Inventory.ForbiddenTo "ClericPlayer", "MagePlayer";
WeaponPiece.Weapon "FWeapQuietus";
+FLOATBOB
}
}
// Fighter Weapon Piece 1 ---------------------------------------------------
class FWeaponPiece1 : FighterWeaponPiece
{
Default
{
WeaponPiece.Number 1;
}
States
{
Spawn:
WFR1 A -1 Bright;
Stop;
}
}
// Fighter Weapon Piece 2 ---------------------------------------------------
class FWeaponPiece2 : FighterWeaponPiece
{
Default
{
WeaponPiece.Number 2;
}
States
{
Spawn:
WFR2 A -1 Bright;
Stop;
}
}
// Fighter Weapon Piece 3 ---------------------------------------------------
class FWeaponPiece3 : FighterWeaponPiece
{
Default
{
WeaponPiece.Number 3;
}
States
{
Spawn:
WFR3 A -1 Bright;
Stop;
}
}
// Quietus Drop -------------------------------------------------------------
class QuietusDrop : Actor
{
States
{
Spawn:
TNT1 A 1;
TNT1 A 1 A_DropWeaponPieces("FWeaponPiece1", "FWeaponPiece2", "FWeaponPiece3");
Stop;
}
}
// The Fighter's Sword (Quietus) --------------------------------------------
class FWeapQuietus : FighterWeapon
{
Default
{
Health 3;
Weapon.SelectionOrder 2900;
+WEAPON.PRIMARY_USES_BOTH;
+Inventory.NoAttenPickupSound
Weapon.AmmoUse1 14;
Weapon.AmmoUse2 14;
Weapon.AmmoGive1 20;
Weapon.AmmoGive2 20;
Weapon.KickBack 150;
Weapon.YAdjust 10;
Weapon.AmmoType1 "Mana1";
Weapon.AmmoType2 "Mana2";
Inventory.PickupMessage "$TXT_WEAPON_F4";
Inventory.PickupSound "WeaponBuild";
Tag "$TAG_FWEAPQUIETUS";
}
action native void A_FSwordAttack();
States
{
Spawn:
TNT1 A -1;
Stop;
Select:
FSRD A 1 Bright A_Raise;
Loop;
Deselect:
FSRD A 1 Bright A_Lower;
Loop;
Ready:
FSRD AAAABBBBCCCC 1 Bright A_WeaponReady;
Loop;
Fire:
FSRD DE 3 Bright Offset (5, 36);
FSRD F 2 Bright Offset (5, 36);
FSRD G 3 Bright Offset (5, 36) A_FSwordAttack;
FSRD H 2 Bright Offset (5, 36);
FSRD I 2 Bright Offset (5, 36);
FSRD I 10 Bright Offset (5, 150);
FSRD A 1 Bright Offset (5, 60);
FSRD B 1 Bright Offset (5, 55);
FSRD C 1 Bright Offset (5, 50);
FSRD A 1 Bright Offset (5, 45);
FSRD B 1 Bright Offset (5, 40);
Goto Ready;
}
}
// Fighter Sword Missile ----------------------------------------------------
class FSwordMissile : Actor native
{
Default
{
Speed 30;
Radius 16;
Height 8;
Damage 8;
Projectile;
+EXTREMEDEATH
RenderStyle "Add";
DeathSound "FighterSwordExplode";
Obituary "$OB_MPFWEAPQUIETUS";
}
native void A_FSwordFlames();
States
{
Spawn:
FSFX ABC 3 Bright;
Loop;
Death:
FSFX D 4 Bright;
FSFX E 3 Bright A_FSwordFlames;
FSFX F 4 Bright A_Explode (64, 128, 0);
FSFX G 3 Bright;
FSFX H 4 Bright;
FSFX I 3 Bright;
FSFX J 4 Bright;
FSFX KLM 3 Bright;
Stop;
}
}
// Fighter Sword Flame ------------------------------------------------------
class FSwordFlame : Actor
{
Default
{
+NOBLOCKMAP +NOGRAVITY
RenderStyle "Translucent";
Alpha 0.6;
}
States
{
Spawn:
FSFX NOPQRSTUVW 3 Bright;
Stop;
}
}