mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-30 15:52:09 +00:00
d4c0ee9e43
This function calculated everything correctly but ultimately set the vertical velocity wrong. Most importantly this meant that the actual velocity vector and actor pitch - if CMF_SAVEPITCH was used - did not match. Since this bug has been present since the pitch parameter was added, this deprecates A_CustomMissile and replaces it with a properly implemented A_SpawnProjectile function and handling the compatibility case with a new flag and a scripted wrapper function. All internal uses of A_CustomMissile have been replaced as well.
104 lines
1.5 KiB
Text
104 lines
1.5 KiB
Text
|
|
class Snake : Actor
|
|
{
|
|
Default
|
|
{
|
|
Health 280;
|
|
Radius 22;
|
|
Height 70;
|
|
Speed 10;
|
|
Painchance 48;
|
|
Monster;
|
|
+FLOORCLIP
|
|
AttackSound "snake/attack";
|
|
SeeSound "snake/sight";
|
|
PainSound "snake/pain";
|
|
DeathSound "snake/death";
|
|
ActiveSound "snake/active";
|
|
Obituary "$OB_SNAKE";
|
|
DropItem "PhoenixRodAmmo", 84, 5;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
SNKE AB 10 A_Look;
|
|
Loop;
|
|
See:
|
|
SNKE ABCD 4 A_Chase;
|
|
Loop;
|
|
Missile:
|
|
SNKE FF 5 A_FaceTarget;
|
|
SNKE FFF 4 A_SpawnProjectile("SnakeProjA", 32, 0, 0, CMF_CHECKTARGETDEAD);
|
|
SNKE FFF 5 A_FaceTarget;
|
|
SNKE F 4 A_SpawnProjectile("SnakeProjB", 32, 0, 0, CMF_CHECKTARGETDEAD);
|
|
Goto See;
|
|
Pain:
|
|
SNKE E 3;
|
|
SNKE E 3 A_Pain;
|
|
Goto See;
|
|
Death:
|
|
SNKE G 5;
|
|
SNKE H 5 A_Scream;
|
|
SNKE IJKL 5;
|
|
SNKE M 5 A_NoBlocking;
|
|
SNKE NO 5;
|
|
SNKE P -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Snake projectile A -------------------------------------------------------
|
|
|
|
class SnakeProjA : Actor
|
|
{
|
|
Default
|
|
{
|
|
Radius 12;
|
|
Height 8;
|
|
Speed 14;
|
|
FastSpeed 20;
|
|
Damage 1;
|
|
Projectile;
|
|
-NOBLOCKMAP
|
|
-ACTIVATEIMPACT
|
|
-ACTIVATEPCROSS
|
|
+WINDTHRUST
|
|
+SPAWNSOUNDSOURCE
|
|
RenderStyle "Add";
|
|
SeeSound "snake/attack";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
SNFX ABCD 5 Bright;
|
|
Loop;
|
|
Death:
|
|
SNFX EF 5 Bright;
|
|
SNFX G 4 Bright;
|
|
SNFX HI 3 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Snake projectile B -------------------------------------------------------
|
|
|
|
class SnakeProjB : SnakeProjA
|
|
{
|
|
Default
|
|
{
|
|
Damage 3;
|
|
+NOBLOCKMAP
|
|
-WINDTHRUST
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
SNFX JK 6 Bright;
|
|
Loop;
|
|
Death:
|
|
SNFX LM 5 Bright;
|
|
SNFX N 4 Bright;
|
|
SNFX O 3 Bright;
|
|
Stop;
|
|
}
|
|
}
|