mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-18 00:22:11 +00:00
ebd2c27e0a
- merged the FrontBlock searcher for the Bloodscourge into RoughMonsterSearch. This also fixes the bug that the searcher was not initialized properly for the MageBoss.
119 lines
2.1 KiB
Text
119 lines
2.1 KiB
Text
|
|
// Mage Boss (Menelkir) -----------------------------------------------------
|
|
|
|
class MageBoss : Actor
|
|
{
|
|
Default
|
|
{
|
|
Health 800;
|
|
PainChance 50;
|
|
Speed 25;
|
|
Radius 16;
|
|
Height 64;
|
|
Monster;
|
|
+FLOORCLIP +TELESTOMP
|
|
+DONTMORPH
|
|
PainSound "PlayerMagePain";
|
|
DeathSound "PlayerMageCrazyDeath";
|
|
Obituary "$OB_MBOSS";
|
|
}
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
MAGE A 2;
|
|
MAGE A 3 A_ClassBossHealth;
|
|
MAGE A 5 A_Look;
|
|
Wait;
|
|
See:
|
|
MAGE ABCD 4 A_FastChase;
|
|
Loop;
|
|
Pain:
|
|
MAGE G 4;
|
|
MAGE G 4 A_Pain;
|
|
Goto See;
|
|
Melee:
|
|
Missile:
|
|
MAGE E 8 A_FaceTarget;
|
|
MAGE F 8 Bright A_MageAttack;
|
|
Goto See;
|
|
Death:
|
|
MAGE H 6;
|
|
MAGE I 6 A_Scream;
|
|
MAGE JK 6;
|
|
MAGE L 6 A_NoBlocking;
|
|
MAGE M 6;
|
|
MAGE N -1;
|
|
Stop;
|
|
XDeath:
|
|
MAGE O 5 A_Scream;
|
|
MAGE P 5;
|
|
MAGE R 5 A_NoBlocking;
|
|
MAGE S 5;
|
|
MAGE T 5;
|
|
MAGE U 5;
|
|
MAGE V 5;
|
|
MAGE W 5;
|
|
MAGE X -1;
|
|
Stop;
|
|
Ice:
|
|
MAGE Y 5 A_FreezeDeath;
|
|
MAGE Y 1 A_FreezeDeathChunks;
|
|
Wait;
|
|
Burn:
|
|
FDTH E 5 Bright A_PlaySound("PlayerMageBurnDeath");
|
|
FDTH F 4 Bright;
|
|
FDTH G 5 Bright;
|
|
FDTH H 4 Bright A_Scream;
|
|
FDTH I 5 Bright;
|
|
FDTH J 4 Bright;
|
|
FDTH K 5 Bright;
|
|
FDTH L 4 Bright;
|
|
FDTH M 5 Bright;
|
|
FDTH N 4 Bright;
|
|
FDTH O 5 Bright;
|
|
FDTH P 4 Bright;
|
|
FDTH Q 5 Bright;
|
|
FDTH R 4 Bright;
|
|
FDTH S 5 Bright A_NoBlocking;
|
|
FDTH T 4 Bright;
|
|
FDTH U 5 Bright;
|
|
FDTH V 4 Bright;
|
|
Stop;
|
|
}
|
|
|
|
//============================================================================
|
|
//
|
|
// MStaffSpawn2 - for use by mage class boss
|
|
//
|
|
//============================================================================
|
|
|
|
void MStaffSpawn2 (double angle)
|
|
{
|
|
Actor mo = SpawnMissileAngleZ (pos.z + 40, "MageStaffFX2", angle, 0.);
|
|
if (mo)
|
|
{
|
|
mo.target = self;
|
|
mo.tracer = RoughMonsterSearch(10, true, true);
|
|
}
|
|
}
|
|
|
|
//============================================================================
|
|
//
|
|
// A_MStaffAttack2 - for use by mage class boss
|
|
//
|
|
//============================================================================
|
|
|
|
void A_MageAttack()
|
|
{
|
|
if (target == NULL)
|
|
{
|
|
return;
|
|
}
|
|
MStaffSpawn2(angle);
|
|
MStaffSpawn2(angle - 5);
|
|
MStaffSpawn2(angle + 5);
|
|
A_PlaySound("MageStaffFire", CHAN_WEAPON);
|
|
}
|
|
|
|
}
|