gzdoom/wadsrc/static/zscript/hexen/clericflame.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

211 lines
3.4 KiB
Text

// The Cleric's Flame Strike ------------------------------------------------
class CWeapFlame : ClericWeapon
{
Default
{
+NOGRAVITY
Weapon.SelectionOrder 1000;
Weapon.AmmoUse 4;
Weapon.AmmoGive 25;
Weapon.KickBack 150;
Weapon.YAdjust 10;
Weapon.AmmoType1 "Mana2";
Inventory.PickupMessage "$TXT_WEAPON_C3";
Tag "$TAG_CWEAPFLAME";
}
action native void A_CFlameAttack();
States
{
Spawn:
WCFM ABCDEFGH 4 Bright;
Loop;
Select:
CFLM A 1 A_Raise;
Loop;
Deselect:
CFLM A 1 A_Lower;
Loop;
Ready:
CFLM AAAABBBBCCCC 1 A_WeaponReady;
Loop;
Fire:
CFLM A 2 Offset (0, 40);
CFLM D 2 Offset (0, 50);
CFLM D 2 Offset (0, 36);
CFLM E 4 Bright;
CFLM F 4 Bright A_CFlameAttack;
CFLM E 4 Bright;
CFLM G 2 Offset (0, 40);
CFLM G 2;
Goto Ready;
}
}
// Floor Flame --------------------------------------------------------------
class CFlameFloor : Actor
{
Default
{
+NOBLOCKMAP +NOGRAVITY
RenderStyle "Add";
}
States
{
Spawn:
CFFX N 5 Bright;
CFFX O 4 Bright;
CFFX P 3 Bright;
Stop;
}
}
// Flame Puff ---------------------------------------------------------------
class FlamePuff : Actor
{
Default
{
Radius 1;
Height 1;
+NOBLOCKMAP +NOGRAVITY
RenderStyle "Add";;
SeeSound "ClericFlameExplode";
AttackSound "ClericFlameExplode";
}
States
{
Spawn:
CFFX ABC 3 Bright;
CFFX D 4 Bright;
CFFX E 3 Bright;
CFFX F 4 Bright;
CFFX G 3 Bright;
CFFX H 4 Bright;
CFFX I 3 Bright;
CFFX J 4 Bright;
CFFX K 3 Bright;
CFFX L 4 Bright;
CFFX M 3 Bright;
Stop;
}
}
// Flame Puff 2 -------------------------------------------------------------
class FlamePuff2 : FlamePuff
{
States
{
Spawn:
CFFX ABC 3 Bright;
CFFX D 4 Bright;
CFFX E 3 Bright;
CFFX F 4 Bright;
CFFX G 3 Bright;
CFFX H 4 Bright;
CFFX IC 3 Bright;
CFFX D 4 Bright;
CFFX E 3 Bright;
CFFX F 4 Bright;
CFFX G 3 Bright;
CFFX H 4 Bright;
CFFX I 3 Bright;
CFFX J 4 Bright;
CFFX K 3 Bright;
CFFX L 4 Bright;
CFFX M 3 Bright;
Stop;
}
}
// Circle Flame -------------------------------------------------------------
class CircleFlame : Actor
{
Default
{
Radius 6;
Damage 2;
DamageType "Fire";
Projectile;
-ACTIVATEIMPACT
-ACTIVATEPCROSS
RenderStyle "Add";
DeathSound "ClericFlameCircle";
Obituary "$OB_MPCWEAPFLAME";
}
native void A_CFlameRotate();
States
{
Spawn:
CFCF A 4 Bright;
CFCF B 2 Bright A_CFlameRotate;
CFCF C 2 Bright;
CFCF D 1 Bright;
CFCF E 2 Bright;
CFCF F 2 Bright A_CFlameRotate;
CFCF G 1 Bright;
CFCF HI 2 Bright;
CFCF J 1 Bright A_CFlameRotate;
CFCF K 2 Bright;
CFCF LM 3 Bright;
CFCF N 2 Bright A_CFlameRotate;
CFCF O 3 Bright;
CFCF P 2 Bright;
Stop;
Death:
CFCF QR 3 Bright;
CFCF S 3 Bright A_Explode(20, 20, 0);
CFCF TUVWXYZ 3 Bright;
Stop;
}
}
// Flame Missile ------------------------------------------------------------
class CFlameMissile : FastProjectile native
{
Default
{
Speed 200;
Radius 14;
Height 8;
Damage 8;
DamageType "Fire";
+INVISIBLE
RenderStyle "Add";
Obituary "$OB_MPCWEAPFLAME";
}
native void A_CFlamePuff();
native void A_CFlameMissile();
States
{
Spawn:
CFFX A 4 Bright;
CFFX A 1 A_CFlamePuff;
Goto Death + 1;
Death:
CFFX A 1 Bright A_CFlameMissile;
CFFX ABC 3 Bright;
CFFX D 4 Bright;
CFFX E 3 Bright;
CFFX F 4 Bright;
CFFX G 3 Bright;
CFFX H 4 Bright;
CFFX I 3 Bright;
CFFX J 4 Bright;
CFFX K 3 Bright;
CFFX L 4 Bright;
CFFX M 3 Bright;
Stop;
}
}