mirror of
https://github.com/ZDoom/Raze.git
synced 2025-04-22 07:50:54 +00:00
moved the burn states into their respective actors.
This allowed getting rid of a few switch/case blocks
This commit is contained in:
parent
5ed69f4965
commit
d0621535bf
5 changed files with 66 additions and 216 deletions
|
@ -104,6 +104,12 @@ xx(BloodMissileBase)
|
|||
xx(gibtype)
|
||||
xx(explodeSound)
|
||||
|
||||
xx(BurnIdle)
|
||||
xx(BurnChase)
|
||||
xx(BurnGoto)
|
||||
xx(BurnSearch)
|
||||
xx(BurnAttack)
|
||||
|
||||
// Blood state names. Most of these can be removed after the state system refactor is complete.
|
||||
xx(genIdle)
|
||||
xx(genRecoil)
|
||||
|
@ -164,36 +170,6 @@ xx(eelDodgeUpLeft)
|
|||
xx(eelDodgeDown)
|
||||
xx(eelDodgeDownRight)
|
||||
xx(eelDodgeDownLeft)
|
||||
xx(cultistBurnIdle)
|
||||
xx(cultistBurnChase)
|
||||
xx(cultistBurnGoto)
|
||||
xx(cultistBurnSearch)
|
||||
xx(cultistBurnAttack)
|
||||
xx(zombieABurnChase)
|
||||
xx(zombieABurnGoto)
|
||||
xx(zombieABurnSearch)
|
||||
xx(zombieABurnAttack)
|
||||
xx(zombieFBurnChase)
|
||||
xx(zombieFBurnGoto)
|
||||
xx(zombieFBurnSearch)
|
||||
xx(zombieFBurnAttack)
|
||||
xx(innocentBurnChase)
|
||||
xx(innocentBurnGoto)
|
||||
xx(innocentBurnSearch)
|
||||
xx(innocentBurnAttack)
|
||||
xx(beastBurnChase)
|
||||
xx(beastBurnGoto)
|
||||
xx(beastBurnSearch)
|
||||
xx(beastBurnAttack)
|
||||
xx(tinycalebBurnChase)
|
||||
xx(tinycalebBurnGoto)
|
||||
xx(tinycalebBurnSearch)
|
||||
xx(tinycalebBurnAttack)
|
||||
xx(genDudeBurnIdle)
|
||||
xx(genDudeBurnChase)
|
||||
xx(genDudeBurnGoto)
|
||||
xx(genDudeBurnSearch)
|
||||
xx(genDudeBurnAttack)
|
||||
xx(tinycalebIdle)
|
||||
xx(tinycalebChase)
|
||||
xx(tinycalebDodge)
|
||||
|
|
|
@ -1154,7 +1154,7 @@ static bool actKillDudeStage1(DBloodActor* actor, DAMAGE_TYPE damageType)
|
|||
if (damageType == kDamageBurn && actor->xspr.medium == kMediumNormal)
|
||||
{
|
||||
actor->ChangeType(kDudeBurningCultist);
|
||||
aiNewState(actor, NAME_cultistBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
actHealDude(actor, actor->startHealth(), actor->startHealth());
|
||||
return true;
|
||||
}
|
||||
|
@ -1164,7 +1164,7 @@ static bool actKillDudeStage1(DBloodActor* actor, DAMAGE_TYPE damageType)
|
|||
if (damageType == kDamageBurn && actor->xspr.medium == kMediumNormal)
|
||||
{
|
||||
actor->ChangeType(kDudeBurningBeast);
|
||||
aiNewState(actor, NAME_beastBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
actHealDude(actor, actor->startHealth(), actor->startHealth());
|
||||
return true;
|
||||
}
|
||||
|
@ -1174,7 +1174,7 @@ static bool actKillDudeStage1(DBloodActor* actor, DAMAGE_TYPE damageType)
|
|||
if (damageType == kDamageBurn && actor->xspr.medium == kMediumNormal)
|
||||
{
|
||||
actor->ChangeType(kDudeBurningInnocent);
|
||||
aiNewState(actor, NAME_innocentBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
actHealDude(actor, actor->startHealth(), actor->startHealth());
|
||||
return true;
|
||||
}
|
||||
|
@ -1186,7 +1186,7 @@ static bool actKillDudeStage1(DBloodActor* actor, DAMAGE_TYPE damageType)
|
|||
if (damageType == kDamageBurn && actor->xspr.medium == kMediumNormal)
|
||||
{
|
||||
actor->ChangeType(kDudeBurningTinyCaleb);
|
||||
aiNewState(actor, NAME_tinycalebBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
actHealDude(actor, actor->startHealth(), actor->startHealth());
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -456,10 +456,6 @@ void aiActivateDude(DBloodActor* actor)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case kDudeModernCustomBurning:
|
||||
if (actor->GetTarget() == nullptr) aiGenDudeNewState(actor, &genDudeBurnSearch);
|
||||
else aiGenDudeNewState(actor, &genDudeBurnChase);
|
||||
break;
|
||||
#endif
|
||||
case kDudeCultistTommyProne:
|
||||
{
|
||||
|
@ -535,12 +531,6 @@ void aiActivateDude(DBloodActor* actor)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case kDudeBurningCultist:
|
||||
if (actor->GetTarget() == nullptr)
|
||||
aiNewState(actor, NAME_cultistBurnSearch);
|
||||
else
|
||||
aiNewState(actor, NAME_cultistBurnChase);
|
||||
break;
|
||||
case kDudeBat:
|
||||
{
|
||||
|
||||
|
@ -661,18 +651,15 @@ void aiActivateDude(DBloodActor* actor)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case kDudeBurningCultist:
|
||||
case kDudeBurningZombieAxe:
|
||||
if (actor->GetTarget() == nullptr)
|
||||
aiNewState(actor, NAME_zombieABurnSearch);
|
||||
else
|
||||
aiNewState(actor, NAME_zombieABurnChase);
|
||||
break;
|
||||
case kDudeBurningZombieButcher:
|
||||
if (actor->GetTarget() == nullptr)
|
||||
aiNewState(actor, NAME_zombieFBurnSearch);
|
||||
aiNewState(actor, NAME_BurnSearch);
|
||||
else
|
||||
aiNewState(actor, NAME_zombieFBurnChase);
|
||||
aiNewState(actor, NAME_BurnChase);
|
||||
break;
|
||||
|
||||
case kDudeGargoyleFlesh: {
|
||||
|
||||
actor->dudeExtra.thinkTime = 0;
|
||||
|
@ -1016,7 +1003,7 @@ int aiDamageSprite(DBloodActor* source, DBloodActor* actor, DAMAGE_TYPE nDmgType
|
|||
else if (nDmgType == kDamageBurn && actor->xspr.health <= (unsigned int)actor->fleeHealth()/* && (actor->xspr.at17_6 != 1 || actor->xspr.at17_6 != 2)*/)
|
||||
{
|
||||
actor->ChangeType(kDudeBurningCultist);
|
||||
aiNewState(actor, NAME_cultistBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
aiPlay3DSound(actor, 361, AI_SFX_PRIORITY_0, -1);
|
||||
aiPlay3DSound(actor, 1031 + Random(2), AI_SFX_PRIORITY_2, -1);
|
||||
actor->dudeExtra.time = PlayClock + 360;
|
||||
|
@ -1028,7 +1015,7 @@ int aiDamageSprite(DBloodActor* source, DBloodActor* actor, DAMAGE_TYPE nDmgType
|
|||
if (nDmgType == kDamageBurn && actor->xspr.health <= (unsigned int)actor->fleeHealth()/* && (actor->xspr.at17_6 != 1 || actor->xspr.at17_6 != 2)*/)
|
||||
{
|
||||
actor->ChangeType(kDudeBurningInnocent);
|
||||
aiNewState(actor, NAME_cultistBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
aiPlay3DSound(actor, 361, AI_SFX_PRIORITY_0, -1);
|
||||
actor->dudeExtra.time = PlayClock + 360;
|
||||
actHealDude(actor, actor->startHealth(), actor->startHealth());
|
||||
|
@ -1066,7 +1053,7 @@ int aiDamageSprite(DBloodActor* source, DBloodActor* actor, DAMAGE_TYPE nDmgType
|
|||
aiPlay3DSound(actor, 361, AI_SFX_PRIORITY_0, -1);
|
||||
aiPlay3DSound(actor, 1202, AI_SFX_PRIORITY_2, -1);
|
||||
actor->ChangeType(kDudeBurningZombieButcher);
|
||||
aiNewState(actor, NAME_zombieFBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
actHealDude(actor, actor->startHealth(), actor->startHealth());
|
||||
evKillActor(actor, AF(fxFlameLick));
|
||||
}
|
||||
|
@ -1077,12 +1064,12 @@ int aiDamageSprite(DBloodActor* source, DBloodActor* actor, DAMAGE_TYPE nDmgType
|
|||
if (!cl_bloodvanillaenemies && !VanillaMode()) // fix burning sprite for tiny caleb
|
||||
{
|
||||
actor->ChangeType(kDudeBurningTinyCaleb);
|
||||
aiNewState(actor, NAME_tinycalebBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
}
|
||||
else
|
||||
{
|
||||
actor->ChangeType(kDudeBurningInnocent);
|
||||
aiNewState(actor, NAME_cultistBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
}
|
||||
aiPlay3DSound(actor, 361, AI_SFX_PRIORITY_0, -1);
|
||||
actor->dudeExtra.time = PlayClock + 360;
|
||||
|
@ -1106,7 +1093,7 @@ int aiDamageSprite(DBloodActor* source, DBloodActor* actor, DAMAGE_TYPE nDmgType
|
|||
aiPlay3DSound(actor, 361, AI_SFX_PRIORITY_0, -1);
|
||||
aiPlay3DSound(actor, 1106, AI_SFX_PRIORITY_2, -1);
|
||||
actor->ChangeType(kDudeBurningZombieAxe);
|
||||
aiNewState(actor, NAME_zombieABurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
actHealDude(actor, actor->startHealth(), actor->startHealth());
|
||||
evKillActor(actor, AF(fxFlameLick));
|
||||
}
|
||||
|
@ -1214,7 +1201,7 @@ void RecoilDude(DBloodActor* actor)
|
|||
}
|
||||
break;
|
||||
case kDudeBurningCultist:
|
||||
aiNewState(actor, NAME_cultistBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
break;
|
||||
#ifdef NOONE_EXTENSIONS
|
||||
case kDudeModernCustomBurning:
|
||||
|
@ -1240,11 +1227,11 @@ void RecoilDude(DBloodActor* actor)
|
|||
break;
|
||||
case kDudeBurningZombieAxe:
|
||||
aiPlay3DSound(actor, 1106, AI_SFX_PRIORITY_2, -1);
|
||||
aiNewState(actor, NAME_zombieABurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
break;
|
||||
case kDudeBurningZombieButcher:
|
||||
aiPlay3DSound(actor, 1202, AI_SFX_PRIORITY_2, -1);
|
||||
aiNewState(actor, NAME_zombieFBurnGoto);
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
break;
|
||||
case kDudeGargoyleFlesh:
|
||||
case kDudeGargoyleStone:
|
||||
|
|
|
@ -49,32 +49,7 @@ void burnThinkGoto(DBloodActor* actor)
|
|||
aiChooseDirection(actor, nAngle);
|
||||
if (nDist < 32 && absangle(actor->spr.Angles.Yaw, nAngle) < actor->Periphery())
|
||||
{
|
||||
switch (actor->GetType())
|
||||
{
|
||||
case kDudeBurningCultist:
|
||||
aiNewState(actor, NAME_cultistBurnSearch);
|
||||
break;
|
||||
case kDudeBurningZombieAxe:
|
||||
aiNewState(actor, NAME_zombieABurnSearch);
|
||||
break;
|
||||
case kDudeBurningZombieButcher:
|
||||
aiNewState(actor, NAME_zombieFBurnSearch);
|
||||
break;
|
||||
case kDudeBurningInnocent:
|
||||
aiNewState(actor, NAME_innocentBurnSearch);
|
||||
break;
|
||||
case kDudeBurningBeast:
|
||||
aiNewState(actor, NAME_beastBurnSearch);
|
||||
break;
|
||||
case kDudeBurningTinyCaleb:
|
||||
aiNewState(actor, NAME_tinycalebBurnSearch);
|
||||
break;
|
||||
#ifdef NOONE_EXTENSIONS
|
||||
case kDudeModernCustomBurning:
|
||||
aiNewState(actor, NAME_genDudeBurnSearch);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
aiNewState(actor, NAME_BurnSearch);
|
||||
}
|
||||
aiThinkTarget(actor);
|
||||
}
|
||||
|
@ -83,32 +58,7 @@ void burnThinkChase(DBloodActor* actor)
|
|||
{
|
||||
if (actor->GetTarget() == nullptr)
|
||||
{
|
||||
switch (actor->GetType())
|
||||
{
|
||||
case kDudeBurningCultist:
|
||||
aiNewState(actor, NAME_cultistBurnGoto);
|
||||
break;
|
||||
case kDudeBurningZombieAxe:
|
||||
aiNewState(actor, NAME_zombieABurnGoto);
|
||||
break;
|
||||
case kDudeBurningZombieButcher:
|
||||
aiNewState(actor, NAME_zombieFBurnGoto);
|
||||
break;
|
||||
case kDudeBurningInnocent:
|
||||
aiNewState(actor, NAME_innocentBurnGoto);
|
||||
break;
|
||||
case kDudeBurningBeast:
|
||||
aiNewState(actor, NAME_beastBurnGoto);
|
||||
break;
|
||||
case kDudeBurningTinyCaleb:
|
||||
aiNewState(actor, NAME_tinycalebBurnGoto);
|
||||
break;
|
||||
#ifdef NOONE_EXTENSIONS
|
||||
case kDudeModernCustomBurning:
|
||||
aiNewState(actor, NAME_genDudeBurnGoto);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
return;
|
||||
}
|
||||
assert(actor->IsDudeActor());
|
||||
|
@ -121,32 +71,7 @@ void burnThinkChase(DBloodActor* actor)
|
|||
aiChooseDirection(actor, nAngle);
|
||||
if (target->xspr.health == 0)
|
||||
{
|
||||
switch (actor->GetType())
|
||||
{
|
||||
case kDudeBurningCultist:
|
||||
aiNewState(actor, NAME_cultistBurnSearch);
|
||||
break;
|
||||
case kDudeBurningZombieAxe:
|
||||
aiNewState(actor, NAME_zombieABurnSearch);
|
||||
break;
|
||||
case kDudeBurningZombieButcher:
|
||||
aiNewState(actor, NAME_zombieFBurnSearch);
|
||||
break;
|
||||
case kDudeBurningInnocent:
|
||||
aiNewState(actor, NAME_innocentBurnSearch);
|
||||
break;
|
||||
case kDudeBurningBeast:
|
||||
aiNewState(actor, NAME_beastBurnSearch);
|
||||
break;
|
||||
case kDudeBurningTinyCaleb:
|
||||
aiNewState(actor, NAME_tinycalebBurnSearch);
|
||||
break;
|
||||
#ifdef NOONE_EXTENSIONS
|
||||
case kDudeModernCustomBurning:
|
||||
aiNewState(actor, NAME_genDudeBurnSearch);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
aiNewState(actor, NAME_BurnSearch);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -161,64 +86,13 @@ void burnThinkChase(DBloodActor* actor)
|
|||
aiSetTarget(actor, actor->GetTarget());
|
||||
if (nDist < 51.1875 && nDeltaAngle < DAngle15)
|
||||
{
|
||||
switch (actor->GetType())
|
||||
{
|
||||
case kDudeBurningCultist:
|
||||
aiNewState(actor, NAME_cultistBurnAttack);
|
||||
break;
|
||||
case kDudeBurningZombieAxe:
|
||||
aiNewState(actor, NAME_zombieABurnAttack);
|
||||
break;
|
||||
case kDudeBurningZombieButcher:
|
||||
aiNewState(actor, NAME_zombieFBurnAttack);
|
||||
break;
|
||||
case kDudeBurningInnocent:
|
||||
aiNewState(actor, NAME_innocentBurnAttack);
|
||||
break;
|
||||
case kDudeBurningBeast:
|
||||
aiNewState(actor, NAME_beastBurnAttack);
|
||||
break;
|
||||
case kDudeBurningTinyCaleb:
|
||||
aiNewState(actor, NAME_tinycalebBurnAttack);
|
||||
break;
|
||||
#ifdef NOONE_EXTENSIONS
|
||||
case kDudeModernCustomBurning:
|
||||
aiNewState(actor, NAME_genDudeBurnSearch);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
aiNewState(actor, NAME_BurnAttack);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch (actor->GetType())
|
||||
{
|
||||
case kDudeBurningCultist:
|
||||
aiNewState(actor, NAME_cultistBurnGoto);
|
||||
break;
|
||||
case kDudeBurningZombieAxe:
|
||||
aiNewState(actor, NAME_zombieABurnGoto);
|
||||
break;
|
||||
case 242:
|
||||
aiNewState(actor, NAME_zombieFBurnGoto);
|
||||
break;
|
||||
case kDudeBurningInnocent:
|
||||
aiNewState(actor, NAME_innocentBurnGoto);
|
||||
break;
|
||||
case kDudeBurningBeast:
|
||||
aiNewState(actor, NAME_beastBurnGoto);
|
||||
break;
|
||||
case kDudeBurningTinyCaleb:
|
||||
aiNewState(actor, NAME_tinycalebBurnGoto);
|
||||
break;
|
||||
#ifdef NOONE_EXTENSIONS
|
||||
case kDudeModernCustomBurning:
|
||||
aiNewState(actor, NAME_genDudeBurnSearch);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
aiNewState(actor, NAME_BurnGoto);
|
||||
actor->SetTarget(nullptr);
|
||||
}
|
||||
|
||||
|
|
|
@ -114,31 +114,6 @@ class BloodDudeBase : Bloodactor
|
|||
AISTATE "eelDodgeDown", "+0", 2, 120, null, null, eelMoveDodgeDown, null, "eelChase";
|
||||
AISTATE "eelDodgeDownRight", "+0", 2, 90, null, null, eelMoveDodgeDown, null, "eelChase";
|
||||
AISTATE "eelDodgeDownLeft", "+0", 2, 90, null, null, eelMoveDodgeDown, null, "eelChase";
|
||||
AISTATE "cultistBurnIdle", "+3", 0, 0, null, null, null, aiThinkTarget, "none";
|
||||
AISTATE "cultistBurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "cultistBurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "cultistBurnSearch";
|
||||
AISTATE "cultistBurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "cultistBurnSearch";
|
||||
AISTATE "cultistBurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "cultistBurnChase";
|
||||
AISTATE "zombieABurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "zombieABurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "zombieABurnSearch";
|
||||
AISTATE "zombieABurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "none";
|
||||
AISTATE "zombieABurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "zombieABurnChase";
|
||||
AISTATE "zombieFBurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "zombieFBurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "zombieFBurnSearch";
|
||||
AISTATE "zombieFBurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "none";
|
||||
AISTATE "zombieFBurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "zombieFBurnChase";
|
||||
AISTATE "innocentBurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "innocentBurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "zombieFBurnSearch";
|
||||
AISTATE "innocentBurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "none";
|
||||
AISTATE "innocentBurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "zombieFBurnChase";
|
||||
AISTATE "beastBurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "beastBurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "beastBurnSearch";
|
||||
AISTATE "beastBurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "beastBurnSearch";
|
||||
AISTATE "beastBurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "beastBurnChase";
|
||||
AISTATE "tinycalebBurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "tinycalebBurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "tinycalebBurnSearch";
|
||||
AISTATE "tinycalebBurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "tinycalebBurnSearch";
|
||||
AISTATE "tinycalebBurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "tinycalebBurnChase";
|
||||
AISTATE "tinycalebIdle", "+0", 0, 0, null, null, null, aiThinkTarget, "none";
|
||||
AISTATE "tinycalebChase", "+6", 4, 0, null, null, aiMoveForward, calebThinkChase, "none";
|
||||
AISTATE "tinycalebDodge", "+6", 2, 90, null, null, aiMoveDodge, null, "tinycalebChase";
|
||||
|
@ -1342,9 +1317,18 @@ class BloodDudeBurningInnocent : BloodDudeBase
|
|||
gibtype 7, 5, -1;
|
||||
dmgcontrol 256, 256, 256, 256, 256, 256, 256;
|
||||
|
||||
AISTATE "BurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "BurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "BurnSearch";
|
||||
AISTATE "BurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "none";
|
||||
AISTATE "BurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "BurnChase";
|
||||
|
||||
explodesound 717;
|
||||
+BloodDudeBase.burning;
|
||||
}
|
||||
|
||||
states
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
class BloodDudeBurningCultist : BloodDudeBase
|
||||
|
@ -1371,6 +1355,12 @@ class BloodDudeBurningCultist : BloodDudeBase
|
|||
gibtype 7, 5, -1;
|
||||
dmgcontrol 256, 256, 256, 256, 256, 256, 256;
|
||||
|
||||
//AISTATE "BurnIdle", "+3", 0, 0, null, null, null, aiThinkTarget, "none"; //unused
|
||||
AISTATE "BurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "BurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "BurnSearch";
|
||||
AISTATE "BurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "BurnSearch";
|
||||
AISTATE "BurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "BurnChase";
|
||||
|
||||
explodesound 717;
|
||||
+BloodDudeBase.burning;
|
||||
}
|
||||
|
@ -1401,6 +1391,12 @@ class BloodDudeBurningZombieAxe : BloodDudeBase
|
|||
turnrange 28.125;
|
||||
gibtype 7, 5, -1;
|
||||
dmgcontrol 256, 256, 256, 256, 256, 256, 256;
|
||||
|
||||
AISTATE "BurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "BurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "BurnSearch";
|
||||
AISTATE "BurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "none";
|
||||
AISTATE "BurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "BurnChase";
|
||||
|
||||
+BloodDudeBase.burning;
|
||||
}
|
||||
}
|
||||
|
@ -1430,6 +1426,12 @@ class BloodDudeBurningZombieButcher : BloodDudeBase
|
|||
turnrange 17.578125;
|
||||
gibtype 7, 5, -1;
|
||||
dmgcontrol 256, 256, 256, 256, 256, 256, 256;
|
||||
|
||||
AISTATE "BurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "BurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "BurnSearch";
|
||||
AISTATE "BurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "none";
|
||||
AISTATE "BurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "BurnChase";
|
||||
|
||||
+BloodDudeBase.burning;
|
||||
}
|
||||
}
|
||||
|
@ -1731,6 +1733,11 @@ class BloodDudeBurningTinyCaleb : BloodDudeBase
|
|||
gibtype 7, -1, -1;
|
||||
dmgcontrol 256, 256, 256, 256, 256, 256, 256;
|
||||
|
||||
AISTATE "BurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "BurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "BurnSearch";
|
||||
AISTATE "BurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "BurnSearch";
|
||||
AISTATE "BurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "BurnChase";
|
||||
|
||||
explodesound 717;
|
||||
+BloodDudeBase.burning;
|
||||
}
|
||||
|
@ -1762,6 +1769,12 @@ class BloodDudeBurningBeast : BloodDudeBase
|
|||
turnrange 67.5;
|
||||
gibtype 7, -1, -1;
|
||||
dmgcontrol 256, 256, 256, 256, 256, 256, 256;
|
||||
|
||||
AISTATE "BurnChase", "+3", 4, 0, null, null, aiMoveForward, burnThinkChase, "none";
|
||||
AISTATE "BurnGoto", "+3", 2, 3600, null, null, aiMoveForward, burnThinkGoto, "BurnSearch";
|
||||
AISTATE "BurnSearch", "+3", 3, 3600, null, null, aiMoveForward, burnThinkSearch, "BurnSearch";
|
||||
AISTATE "BurnAttack", "+3", 4, 120, BurnSeqCallback, null, null, null, "BurnChase";
|
||||
|
||||
+BloodDudeBase.burning;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue