mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-06 13:01:03 +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.
99 lines
1.9 KiB
Text
99 lines
1.9 KiB
Text
|
|
// Bishop -------------------------------------------------------------------
|
|
|
|
class StrifeBishop : Actor
|
|
{
|
|
Default
|
|
{
|
|
Health 500;
|
|
Painchance 128;
|
|
Speed 8;
|
|
Radius 40;
|
|
Height 56;
|
|
Mass 500;
|
|
Monster;
|
|
+NOBLOOD
|
|
+NOTDMATCH
|
|
+FLOORCLIP
|
|
+INCOMBAT
|
|
+NOICEDEATH
|
|
+NEVERRESPAWN
|
|
DamageFactor "Fire", 0.5;
|
|
MinMissileChance 150;
|
|
MaxDropoffHeight 32;
|
|
SeeSound "bishop/sight";
|
|
PainSound "bishop/pain";
|
|
DeathSound "bishop/death";
|
|
ActiveSound "bishop/active";
|
|
DropItem "CrateOfMissiles", 256, 20;
|
|
Obituary "$OB_STFBISHOP";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
MLDR A 10 A_Look;
|
|
Loop;
|
|
See:
|
|
MLDR AABBCCDD 3 A_Chase;
|
|
Loop;
|
|
Missile:
|
|
MLDR E 3 A_FaceTarget;
|
|
MLDR F 2 Bright A_SpawnProjectile("BishopMissile", 64, 0, 0, CMF_AIMOFFSET);
|
|
Goto See;
|
|
Pain:
|
|
MLDR D 1 A_Pain;
|
|
Goto See;
|
|
Death:
|
|
MLDR G 3 Bright;
|
|
MLDR H 5 Bright A_Scream;
|
|
MLDR I 4 Bright A_TossGib;
|
|
MLDR J 4 Bright A_Explode(64, 64, alert:true);
|
|
MLDR KL 3 Bright;
|
|
MLDR M 4 Bright A_NoBlocking;
|
|
MLDR N 4 Bright;
|
|
MLDR O 4 Bright A_TossGib;
|
|
MLDR P 4 Bright;
|
|
MLDR Q 4 Bright A_TossGib;
|
|
MLDR R 4 Bright;
|
|
MLDR S 4 Bright A_TossGib;
|
|
MLDR T 4 Bright;
|
|
MLDR U 4 Bright A_TossGib;
|
|
MLDR V 4 Bright A_SpawnItemEx("AlienSpectre2", 0, 0, 0, 0, 0, random[spectrespawn](0,255)*0.0078125, 0, SXF_NOCHECKPOSITION);
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
|
|
// The Bishop's missile -----------------------------------------------------
|
|
|
|
class BishopMissile : Actor
|
|
{
|
|
Default
|
|
{
|
|
Speed 20;
|
|
Radius 10;
|
|
Height 14;
|
|
Damage 10;
|
|
Projectile;
|
|
+SEEKERMISSILE
|
|
+STRIFEDAMAGE
|
|
MaxStepHeight 4;
|
|
SeeSound "bishop/misl";
|
|
DeathSound "bishop/mislx";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
MISS A 4 Bright A_RocketInFlight;
|
|
MISS B 3 Bright A_Tracer2;
|
|
Loop;
|
|
Death:
|
|
SMIS A 0 Bright A_SetRenderStyle(1, STYLE_Normal);
|
|
SMIS A 5 Bright A_Explode(64, 64, alert:true);
|
|
SMIS B 5 Bright;
|
|
SMIS C 4 Bright;
|
|
SMIS DEFG 2 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|