/* * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98 */ #line 4 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" #include "StdH.h" #include "Models/Enemies/Devil/Devil.h" #include "Models/Enemies/Devil/Weapons/Laser.h" #include "Models/Weapons/RocketLauncher/RocketLauncherItem.h" #include "EntitiesMP/Effector.h" #include "EntitiesMP/WorldSettingsController.h" #include "EntitiesMP/PyramidSpaceShip.h" #include "EntitiesMP/BackgroundViewer.h" #define DEVIL_LASER_SPEED 100.0f #define DEVIL_ROCKET_SPEED 60.0f #include #include CEntityEvent *EBrushDestroyedByDevil::MakeCopy(void) { CEntityEvent *peeCopy = new EBrushDestroyedByDevil(*this); return peeCopy;} EBrushDestroyedByDevil::EBrushDestroyedByDevil() : CEntityEvent(EVENTCODE_EBrushDestroyedByDevil) {; ClearToDefault(vDamageDir); }; CEntityEvent *ERegenerationImpuls::MakeCopy(void) { CEntityEvent *peeCopy = new ERegenerationImpuls(*this); return peeCopy;} ERegenerationImpuls::ERegenerationImpuls() : CEntityEvent(EVENTCODE_ERegenerationImpuls) {; }; CEntityEvent *EDevilCommand::MakeCopy(void) { CEntityEvent *peeCopy = new EDevilCommand(*this); return peeCopy;} EDevilCommand::EDevilCommand() : CEntityEvent(EVENTCODE_EDevilCommand) {; ClearToDefault(dctType); ClearToDefault(penForcedAction); ClearToDefault(fAttackRadius); ClearToDefault(vCenterOfAttack); }; #line 65 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" static FLOAT3D vLastStartPosition; static FLOAT vLastAttackRadius; extern INDEX cht_bKillFinalBoss; extern INDEX cht_bDebugFinalBoss; extern INDEX cht_bDumpFinalBossData; extern INDEX cht_bDebugFinalBossAnimations; #define LIGHT_ANIM_FIRE 3 #define LIGHT_ANIM_NONE 5 // parameters defining boss #define SIZE 50.0f #define DEVIL_HOOF_RADIUS 0.25f*SIZE #define DEVIL_HIT_HOOF_OFFSET FLOAT3D(-0.149021f, 0.084463f, -0.294425f)*SIZE #define DEVIL_WALK_HOOF_RIGHT_OFFSET FLOAT3D(0.374725f, 0.0776713f, 0.0754253f)*SIZE #define DEVIL_WALK_HOOF_LEFT_OFFSET FLOAT3D(-0.402306f, 0.0864595f, 0.292397f)*SIZE #define ATT_PROJECTILE_GUN (FLOAT3D(-0.703544f, 1.12582f, -0.329834f)*SIZE) #define ATT_LASER (FLOAT3D(0.63626f, 1.13841f, -0.033062f)*SIZE) #define ATT_ELECTRICITYGUN (FLOAT3D(-0.764868f, 1.27992f, -0.311084f)*SIZE) #define ATT_ROCKETLAUNCHER (FLOAT3D(0.654788f, 1.30318f, -0.259358f)*SIZE) #define MAGIC_PROJECTILE_EXIT (FLOAT3D(0.035866f, 1.400f, -0.792264f)*SIZE) #define ELECTROGUN_PIPE (FLOAT3D(-0.00423616f, -0.0216781f, -0.506613f)*SIZE) #define LASER_PIPE (FLOAT3D(0.0172566f, -0.123152f, -0.232228f)*SIZE) #define PROJECTILEGUN_PIPE (FLOAT3D(0.0359023f, -0.000490744f, -0.394403f)*SIZE) #define ROCKETLAUNCHER_PIPE (FLOAT3D(4.68194e-005f, 0.0483391f, -0.475134f)*SIZE) #define HEALTH_MULTIPLIER 1.0f #define BOSS_HEALTH (40000.0f*HEALTH_MULTIPLIER) #define HEALTH_IMPULSE (10000.0f*HEALTH_MULTIPLIER) #define HEALTH_CLASS_1 (5000*HEALTH_MULTIPLIER) #define HEALTH_CLASS_2 (7500*HEALTH_MULTIPLIER) #define HEALTH_CLASS_3 (10000*HEALTH_MULTIPLIER) #define HEALTH_CLASS_4 (15000*HEALTH_MULTIPLIER) #define CLASS_2_CANNON_FACTOR 0.75f #define CLASS_3_ROCKETLAUNCHER_FACTOR 0.75f #define CLASS_4_ROCKETLAUNCHER_FACTOR 0.25f #define TM_HEALTH_IMPULSE 4.0f // info structure static EntityInfo eiDevil = { EIBT_FLESH, 50000.0f, 0.0f, 2.0f*SIZE, 0.0f, 0.0f, 1.4f*SIZE, 0.0f, }; void CDevil::SetDefaultProperties(void) { m_iAttID = 0; m_fDeltaWeaponPitch = 0.0f; m_fDeltaWeaponHdg = 0.0f; m_fFireTime = 0.0f; m_aoLightAnimation.SetData(NULL); m_penAction = NULL; m_iFiredProjectiles = 0; m_iToFireProjectiles = 0; m_fPauseStretcher = 0; m_tmLastPause = 0.0f; m_dsDevilState = DS_NOT_EXISTING ; m_tmLastAngry = -1.0f; m_plTeleport = CPlacement3D(FLOAT3D (0 , 0 , 0) , ANGLE3D (0 , 0 , 0)); m_tmTemp = 0; m_dsLastDevilState = DS_REGENERATION_IMPULSE ; m_dapAttackPower = DAP_PLAYER_HUNT ; m_dapLastAttackPower = DAP_NOT_ATTACKING ; m_bHasUpperWeapons = FALSE ; m_vElectricitySource = FLOAT3D(0 , 0 , 0); m_vElectricityTarget = FLOAT3D(0 , 0 , 0); m_bRenderElectricity = FALSE ; m_fAdjustWeaponTime = 0.0f; m_bWasOnceInMainLoop = FALSE ; m_tmHitBySpaceShipBeam = -1; m_soLeft.SetOwner(this); m_soLeft.Stop_internal(); m_soRight.SetOwner(this); m_soRight.Stop_internal(); m_fLastWalkTime = -1.0f; m_tmFireBreathStart = UpperLimit(0.0f); m_tmFireBreathStop = 0.0f; m_vFireBreathSource = FLOAT3D(0 , 0 , 0); m_vFireBreathTarget = FLOAT3D(0 , 0 , 0); m_tmRegenerationStart = UpperLimit(0.0f); m_tmRegenerationStop = 0.0f; m_tmNextFXTime = 0.0f; m_iNextChannel = 0; m_soWeapon0.SetOwner(this); m_soWeapon0.Stop_internal(); m_soWeapon1.SetOwner(this); m_soWeapon1.Stop_internal(); m_soWeapon2.SetOwner(this); m_soWeapon2.Stop_internal(); m_soWeapon3.SetOwner(this); m_soWeapon3.Stop_internal(); m_soWeapon4.SetOwner(this); m_soWeapon4.Stop_internal(); m_iAngryAnim = 0; m_iAngrySound = 0; m_tmDeathTime = -1.0f; m_iLastCurrentAnim = -1; m_iLastScheduledAnim = -1; m_dsPreRegenerationDevilState = DS_ENEMY ; m_soClimb.SetOwner(this); m_soClimb.Stop_internal(); m_soGrabLowerWeapons.SetOwner(this); m_soGrabLowerWeapons.Stop_internal(); m_soGrabUpperWeapons.SetOwner(this); m_soGrabUpperWeapons.Stop_internal(); m_soJumpIntoPyramid.SetOwner(this); m_soJumpIntoPyramid.Stop_internal(); m_bForMPIntro = FALSE ; CEnemyBase::SetDefaultProperties(); } CTString CDevil::GetPlayerKillDescription(const CTString & strPlayerName,const EDeath & eDeath) #line 241 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 242 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString str ; #line 243 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" str . PrintF (TRANS ("Ugh Zan killed %s") , strPlayerName ); #line 244 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return str ; #line 245 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 247 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::Precache(void) { #line 248 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEnemyBase :: Precache (); #line 250 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheModel (MODEL_DEVIL ); #line 251 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheTexture (TEXTURE_DEVIL ); #line 254 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheModel (MODEL_LASER ); #line 255 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheTexture (TEXTURE_LASER ); #line 258 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheModel (MODEL_ROCKETLAUNCHER ); #line 259 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheTexture (TEXTURE_ROCKETLAUNCHER ); #line 262 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheModel (MODEL_ELECTRICITYGUN ); #line 263 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheTexture (TEXTURE_ELECTRICITYGUN ); #line 266 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheModel (MODEL_PROJECTILEGUN ); #line 267 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheTexture (TEXTURE_PROJECTILEGUN ); #line 270 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheClass (CLASS_PROJECTILE , PRT_LAVAMAN_BIG_BOMB ); #line 271 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheClass (CLASS_PROJECTILE , PRT_DEVIL_GUIDED_PROJECTILE ); #line 272 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheClass (CLASS_PROJECTILE , PRT_DEVIL_LASER ); #line 273 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheClass (CLASS_PROJECTILE , PRT_DEVIL_ROCKET ); #line 276 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_ANGER01 ); #line 277 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_ANGER02 ); #line 278 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_ATTACKCLOSE ); #line 279 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_CELEBRATE01 ); #line 280 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_DEATH ); #line 281 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_DRAW_LOWER_WEAPONS ); #line 282 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_DRAW_UPPER_WEAPONS ); #line 283 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_GETUP ); #line 284 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_IDLE ); #line 285 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_PUNCH ); #line 286 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_SMASH ); #line 287 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_WALK_LEFT ); #line 288 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_WALK_RIGHT ); #line 289 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_WOUND ); #line 290 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_ATTACK_BREATH_START ); #line 291 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_ATTACK_BREATH_FIRE ); #line 292 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_ATTACK_BREATH_END ); #line 293 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_HEAL ); #line 294 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_ROCKETLAUNCHER ); #line 295 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_LASER ); #line 296 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_LAVABOMB ); #line 297 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_GHOSTBUSTER ); #line 298 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_ATTACK_BREATH_LOOP ); #line 299 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_CLIMB ); #line 300 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_DEATHPARTICLES ); #line 301 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrecacheSound (SOUND_DISAPPEAR ); #line 302 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 305 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" BOOL CDevil::IsTargetValid(SLONG slPropertyOffset,CEntity * penTarget) #line 306 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 307 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(penTarget == NULL ) #line 308 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 309 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return FALSE ; #line 310 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 311 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return (IsDerivedFromClass (penTarget , "Devil Marker")); #line 312 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 315 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::Read_t(CTStream * istr) { #line 316 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEnemyBase :: Read_t (istr ); #line 319 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetupLightSource (); #line 320 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 323 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CLightSource * CDevil::GetLightSource(void) { #line 324 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! IsPredictor ()){ #line 325 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return & m_lsLightSource ; #line 326 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }else { #line 327 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return NULL ; #line 328 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 329 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 332 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::SetupLightSource(void) { #line 334 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CLightSource lsNew ; #line 335 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" lsNew . ls_ulFlags = LSF_NONPERSISTENT | LSF_DYNAMIC ; #line 336 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" lsNew . ls_rHotSpot = 2.0f; #line 337 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" lsNew . ls_rFallOff = 8.0f; #line 338 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" lsNew . ls_colColor = RGBToColor (128 , 128 , 128); #line 339 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" lsNew . ls_plftLensFlare = NULL ; #line 340 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" lsNew . ls_ubPolygonalMask = 0; #line 341 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" lsNew . ls_paoLightAnimation = & m_aoLightAnimation ; #line 343 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_lsLightSource . ls_penEntity = this ; #line 344 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_lsLightSource . SetLightSource (lsNew ); #line 345 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 347 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::PlayLightAnim(INDEX iAnim,ULONG ulFlags) { #line 348 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_aoLightAnimation . GetData () != NULL ){ #line 349 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_aoLightAnimation . PlayAnim (iAnim , ulFlags ); #line 350 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 351 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 355 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void * CDevil::GetEntityInfo(void) { #line 356 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return & eiDevil ; #line 357 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 359 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" BOOL CDevil::ForcesCannonballToExplode(void) #line 360 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 361 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE ; #line 362 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 364 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::SetSpeedsToDesiredPosition(const FLOAT3D & vPosDelta,FLOAT fPosDist,BOOL bGoingToPlayer) #line 365 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 366 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_penEnemy != NULL ) #line 367 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 368 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fEnemyDistance = CalcDist (m_penEnemy ); #line 369 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fRadius1 = 75.0f; #line 370 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fRadius2 = 200.0f; #line 371 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fSpeedRadius1 = 6.0f; #line 372 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fSpeedRadius2 = 14.0f; #line 374 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fDistanceRatio = CalculateRatio (fEnemyDistance , fRadius1 , fRadius2 , 1 , 0); #line 375 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(fEnemyDistance >= fRadius2 ) #line 376 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 377 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" fDistanceRatio = 1.0f; #line 378 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 379 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackRunSpeed = fSpeedRadius1 + fDistanceRatio * (fSpeedRadius2 - fSpeedRadius1 ); #line 380 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fCloseRunSpeed = m_fAttackRunSpeed ; #line 381 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDebugFinalBoss ) #line 382 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 383 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Enm dist:%g, Speed=%g\n" , fEnemyDistance , m_fAttackRunSpeed ); #line 384 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 385 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 386 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEnemyBase :: SetSpeedsToDesiredPosition (vPosDelta , fPosDist , bGoingToPlayer ); #line 387 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 389 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT CDevil::GetCrushHealth(void) #line 390 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 391 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return 1000.0f; #line 392 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 394 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::SelectRandomAnger(void) #line 395 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 396 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(IRnd () % 2){ #line 397 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iAngryAnim = DEVIL_ANIM_ANGER01 ; #line 398 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iAngrySound = SOUND_ANGER01 ; #line 399 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }else { #line 400 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iAngryAnim = DEVIL_ANIM_ANGER02 ; #line 401 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iAngrySound = SOUND_ANGER02 ; #line 402 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 403 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } FLOAT CDevil::GetLockRotationSpeed(void) #line 406 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 407 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return m_aAttackRotateSpeed * 4; #line 408 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 410 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::ShakeItBaby(FLOAT tmShaketime,FLOAT fPower) #line 411 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 412 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 413 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(pwsc != NULL ){ #line 414 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_tmShakeStarted = tmShaketime ; #line 415 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_vShakePos = GetPlacement () . pl_PositionVector ; #line 416 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fShakeFalloff = 400.0f; #line 417 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fShakeFade = 3.0f; #line 419 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fShakeIntensityZ = 0.0f; #line 420 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_tmShakeFrequencyZ = 5.0f; #line 421 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fShakeIntensityY = 0.1f * fPower ; #line 422 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_tmShakeFrequencyY = 5.0f; #line 423 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fShakeIntensityB = 2.5f * fPower ; #line 424 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_tmShakeFrequencyB = 7.2f; #line 426 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_bShakeFadeIn = FALSE ; #line 427 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 428 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 430 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::ShakeItFarBaby(FLOAT tmShaketime,FLOAT fPower) #line 431 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 432 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 433 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(pwsc != NULL ){ #line 434 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_tmShakeStarted = tmShaketime ; #line 435 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_vShakePos = GetPlacement () . pl_PositionVector ; #line 436 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fShakeFalloff = 2048.0f; #line 437 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fShakeFade = 2.0f; #line 439 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fShakeIntensityZ = 0.0f; #line 440 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_tmShakeFrequencyZ = 5.0f; #line 441 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fShakeIntensityY = 0.1f * fPower ; #line 442 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_tmShakeFrequencyY = 5.0f; #line 443 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fShakeIntensityB = 2.5f * fPower ; #line 444 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_tmShakeFrequencyB = 7.2f; #line 446 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_bShakeFadeIn = FALSE ; #line 447 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 448 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 450 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::InflictHoofDamage(FLOAT3D vOffset) #line 451 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 453 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vFootRel = vOffset ; #line 454 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vFootAbs = vFootRel * GetRotationMatrix () + GetPlacement () . pl_PositionVector ; #line 455 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" InflictRangeDamage (this , DMT_IMPACT , 1000.0f , vFootAbs , DEVIL_HOOF_RADIUS , DEVIL_HOOF_RADIUS ); #line 456 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 458 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::ApplyFootQuake(void) #line 459 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 460 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CModelObject & mo = * GetModelObject (); #line 461 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" TIME tmNow = _pTimer -> CurrentTick (); #line 462 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT tmAnim = - 1; #line 463 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT tmWalkLen = mo . GetAnimLength (DEVIL_ANIM_WALK ); #line 464 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT tmLeftFootOffset = 0.4f; #line 465 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT tmRightFootOffset = 2.05f; #line 468 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(mo . ao_iLastAnim == DEVIL_ANIM_WALK && mo . ao_tmAnimStart > tmNow ) #line 469 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 471 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" tmAnim = mo . ao_tmAnimStart - tmWalkLen ; #line 472 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 473 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(mo . ao_iCurrentAnim == DEVIL_ANIM_WALK && mo . ao_tmAnimStart <= tmNow ) #line 474 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 475 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" tmAnim = mo . ao_tmAnimStart ; #line 476 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 478 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(mo . ao_iLastAnim == DEVIL_ANIM_FROMWALKTOIDLE && mo . ao_tmAnimStart > tmNow ) #line 479 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 481 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" tmAnim = mo . ao_tmAnimStart - tmWalkLen ; #line 482 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" tmLeftFootOffset = 0.6f; #line 483 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" tmRightFootOffset = 1.7f; #line 484 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 485 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(mo . ao_iCurrentAnim == DEVIL_ANIM_FROMWALKTOIDLE && mo . ao_tmAnimStart <= tmNow ) #line 486 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 487 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" tmAnim = mo . ao_tmAnimStart ; #line 488 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" tmLeftFootOffset = 0.6f; #line 489 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" tmRightFootOffset = 1.7f; #line 490 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 493 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(tmAnim != - 1) #line 494 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 495 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT tmAnimLast = tmAnim + INDEX ((tmNow - tmAnim ) / tmWalkLen ) * tmWalkLen ; #line 496 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT tmLeftFootDown = tmAnimLast + tmLeftFootOffset ; #line 497 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT tmRightFootDown = tmAnimLast + tmRightFootOffset ; #line 498 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 499 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(pwsc != NULL ) #line 500 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 501 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(tmNow >= tmRightFootDown && pwsc -> m_tmShakeStarted < tmRightFootDown - 0.1f) #line 502 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 504 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" InflictHoofDamage (DEVIL_WALK_HOOF_LEFT_OFFSET ); #line 506 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ShakeItBaby (tmRightFootDown , 1.0f); #line 507 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soRight , SOUND_WALK_RIGHT , SOF_3D ); #line 508 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 509 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(tmNow >= tmLeftFootDown && pwsc -> m_tmShakeStarted < tmLeftFootDown - 0.1f) #line 510 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 512 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" InflictHoofDamage (DEVIL_WALK_HOOF_RIGHT_OFFSET ); #line 514 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ShakeItBaby (tmLeftFootDown , 1.0f); #line 515 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soLeft , SOUND_WALK_LEFT , SOF_3D ); #line 516 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 517 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 518 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 519 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 521 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::StopFireBreathParticles(void) #line 522 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 523 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmFireBreathStop = _pTimer -> CurrentTick (); #line 524 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 526 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::StopRegenerationParticles(void) #line 527 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 528 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmRegenerationStop = _pTimer -> CurrentTick (); #line 529 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 531 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::TurnOnPhysics(void) #line 532 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 533 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetPhysicsFlags (EPF_MODEL_WALKING ); #line 534 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetCollisionFlags (ECF_MODEL ); #line 535 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 537 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::TurnOffPhysics(void) #line 538 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 539 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetPhysicsFlags (EPF_MODEL_WALKING & ~ EPF_TRANSLATEDBYGRAVITY ); #line 540 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetCollisionFlags (((ECBI_MODEL ) << ECB_TEST ) | ((ECBI_MODEL ) << ECB_PASS ) | ((ECBI_ITEM ) << ECB_IS )); #line 541 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 544 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::RenderParticles(void) #line 545 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 546 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_bRenderElectricity ) #line 547 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 549 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Particles_Ghostbuster (m_vElectricitySource , m_vElectricityTarget , 24 , 2.0f , 2.0f , 96.0f); #line 550 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 553 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(_pTimer -> CurrentTick () > m_tmFireBreathStart ) #line 554 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 556 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" INDEX ctRendered = Particles_FireBreath (this , m_vFireBreathSource , m_vFireBreathTarget , #line 557 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmFireBreathStart , m_tmFireBreathStop ); #line 559 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(_pTimer -> CurrentTick () > m_tmFireBreathStop && ctRendered == 0) #line 560 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 561 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmFireBreathStart = UpperLimit (0.0f); #line 562 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 563 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 566 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(_pTimer -> CurrentTick () > m_tmRegenerationStart ) #line 567 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 569 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" INDEX ctRendered = Particles_Regeneration (this , m_tmRegenerationStart , m_tmRegenerationStop , 1.0f , FALSE ); #line 571 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(_pTimer -> CurrentTick () > m_tmRegenerationStop && ctRendered == 0) #line 572 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 573 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmRegenerationStart = UpperLimit (0.0f); #line 574 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 575 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 578 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_tmDeathTime != - 1.0f && _pTimer -> CurrentTick () > m_tmDeathTime && _pTimer -> CurrentTick () < m_tmDeathTime + 4.0f) #line 579 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 580 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" INDEX ctRendered = Particles_Regeneration (this , m_tmDeathTime , m_tmDeathTime + 2.0f , 0.25f , TRUE ); #line 581 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 583 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEnemyBase :: RenderParticles (); #line 584 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 586 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D CDevil::GetWeaponPositionRelative(void) #line 587 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 588 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CAttachmentModelObject & amo = * GetModelObject () -> GetAttachmentModel (m_iAttID ); #line 589 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vAttachment = FLOAT3D (0 , 0 , 0); #line 590 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" switch(m_iAttID ) #line 591 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 592 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DEVIL_ATTACHMENT_LASER : #line 593 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vAttachment = ATT_LASER ; #line 594 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 595 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DEVIL_ATTACHMENT_PROJECTILEGUN : #line 596 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vAttachment = ATT_PROJECTILE_GUN ; #line 597 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 598 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DEVIL_ATTACHMENT_ELETRICITYGUN : #line 599 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vAttachment = ATT_ELECTRICITYGUN ; #line 600 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 601 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DEVIL_ATTACHMENT_ROCKETLAUNCHER : #line 602 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vAttachment = ATT_ROCKETLAUNCHER ; #line 603 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 604 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" default : #line 605 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ASSERTALWAYS ("Invalid attachment ID"); #line 606 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 607 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return (vAttachment ); #line 608 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 610 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D CDevil::GetWeaponPositionAbsolute(void) #line 611 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 612 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return GetPlacement () . pl_PositionVector + GetWeaponPositionRelative () * GetRotationMatrix (); #line 613 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 615 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D CDevil::GetFireingPositionRelative(void) #line 616 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 617 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CAttachmentModelObject & amo = * GetModelObject () -> GetAttachmentModel (m_iAttID ); #line 618 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vWeaponPipe = FLOAT3D (0 , 0 , 0); #line 619 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vAttachment = FLOAT3D (0 , 0 , 0); #line 620 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" switch(m_iAttID ) #line 621 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 622 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DEVIL_ATTACHMENT_LASER : #line 623 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vWeaponPipe = LASER_PIPE ; #line 624 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vAttachment = ATT_LASER ; #line 625 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 626 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DEVIL_ATTACHMENT_PROJECTILEGUN : #line 627 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vWeaponPipe = PROJECTILEGUN_PIPE ; #line 628 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vAttachment = ATT_PROJECTILE_GUN ; #line 629 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 630 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DEVIL_ATTACHMENT_ELETRICITYGUN : #line 631 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vWeaponPipe = ELECTROGUN_PIPE ; #line 632 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vAttachment = ATT_ELECTRICITYGUN ; #line 633 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 634 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DEVIL_ATTACHMENT_ROCKETLAUNCHER : #line 635 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vWeaponPipe = ROCKETLAUNCHER_PIPE ; #line 636 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vAttachment = ATT_ROCKETLAUNCHER ; #line 637 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 638 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" default : #line 639 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ASSERTALWAYS ("Invalid attachment ID"); #line 640 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 643 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOATmatrix3D mWpn ; #line 644 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" MakeRotationMatrixFast (mWpn , amo . amo_plRelative . pl_OrientationAngle ); #line 645 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return (vAttachment + vWeaponPipe * mWpn ); #line 646 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 648 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D CDevil::GetFireingPositionAbsolute(void) #line 649 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 650 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return GetPlacement () . pl_PositionVector + GetFireingPositionRelative () * GetRotationMatrix (); #line 651 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 663 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::ApplyTickRegeneration(void) #line 664 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 665 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bKillFinalBoss && GetSP () -> sp_bSinglePlayer ) #line 666 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 667 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" cht_bKillFinalBoss = FALSE ; #line 668 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetHealth (- 1); #line 669 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return ; #line 670 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 672 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_dsDevilState == DS_REGENERATION_IMPULSE || #line 673 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetHealth () <= 0 || GetHealth () >= HEALTH_CLASS_4 || #line 674 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" _pTimer -> CurrentTick () < m_tmHitBySpaceShipBeam + 0.5f) #line 675 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 676 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return ; #line 677 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 679 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fDmgRocketsPerTick = 1800.0f / 10.0f * _pTimer -> TickQuantum ; #line 680 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fDmgCannonsPerTick = 2959.0f / 10.0f * _pTimer -> TickQuantum ; #line 681 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fRegeneration = 0.0f; #line 683 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(GetHealth () < HEALTH_CLASS_1 ) #line 684 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 685 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SendEvent (ERegenerationImpuls ()); #line 686 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 687 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(GetHealth () < HEALTH_CLASS_2 ) #line 688 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 689 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" fRegeneration = fDmgCannonsPerTick * CLASS_2_CANNON_FACTOR ; #line 690 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 691 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(GetHealth () < HEALTH_CLASS_3 ) #line 692 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 693 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" fRegeneration = fDmgRocketsPerTick * CLASS_3_ROCKETLAUNCHER_FACTOR ; #line 694 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 695 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(GetHealth () < HEALTH_CLASS_4 ) #line 696 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 697 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" fRegeneration = fDmgRocketsPerTick * CLASS_4_ROCKETLAUNCHER_FACTOR ; #line 698 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 700 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetHealth (GetHealth () + fRegeneration ); #line 701 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 704 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::PostMoving(void) #line 705 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 706 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ApplyFootQuake (); #line 707 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEnemyBase :: PostMoving (); #line 709 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" en_ulFlags &= ~ ENF_INRENDERING ; #line 710 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ApplyTickRegeneration (); #line 711 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 714 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::ReceiveDamage(CEntity * penInflictor,enum DamageType dmtType, #line 715 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fDamageAmmount,const FLOAT3D & vHitPoint,const FLOAT3D & vDirection) #line 716 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 718 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(dmtType == DMT_TELEPORT ) #line 719 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 720 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return ; #line 721 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 723 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! (m_dsDevilState == DS_ENEMY || m_dsDevilState == DS_PYRAMID_FIGHT ) || penInflictor == this ) #line 724 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 725 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return ; #line 726 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 728 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_dsDevilState != DS_PYRAMID_FIGHT ) #line 729 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 730 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(GetHealth () < 1000.0f) #line 731 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 732 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return ; #line 733 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 734 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" fDamageAmmount = ClampUp (fDamageAmmount , GetHealth () / 2.0f); #line 735 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 737 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEnemyBase :: ReceiveDamage (penInflictor , dmtType , fDamageAmmount , vHitPoint , vDirection ); #line 738 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 740 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" BOOL CDevil::AdjustShadingParameters(FLOAT3D & vLightDirection,COLOR & colLight,COLOR & colAmbient) #line 741 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 742 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDebugFinalBoss ) #line 743 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 745 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_dsDevilState != m_dsLastDevilState ) #line 746 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 747 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsLastDevilState = m_dsDevilState ; #line 748 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strDevilState = DevilState_enum . NameForValue (INDEX (m_dsDevilState )); #line 749 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("New devil state: %s\n" , strDevilState ); #line 750 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 753 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_dapAttackPower != m_dapLastAttackPower ) #line 754 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 755 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dapLastAttackPower = m_dapAttackPower ; #line 756 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strAttackPower = DevilAttackPower_enum . NameForValue (INDEX (m_dapAttackPower )); #line 757 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("New attack power: %s\n" , strAttackPower ); #line 758 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 761 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if((vLastStartPosition != m_vStartPosition ) || #line 762 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" (vLastAttackRadius != m_fAttackRadius )) #line 763 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 764 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vLastStartPosition = m_vStartPosition ; #line 765 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vLastAttackRadius = m_fAttackRadius ; #line 766 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Coordinate of attack (%g, %g, %g), Radius of attack: %g\n" , #line 767 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vStartPosition (1) , m_vStartPosition (2) , m_vStartPosition (3) , #line 768 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackRadius ); #line 769 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 770 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 772 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDebugFinalBossAnimations ) #line 773 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 774 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" TIME tmNow = _pTimer -> CurrentTick (); #line 775 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CModelObject & mo = * GetModelObject (); #line 777 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" INDEX iCurrentAnim , iScheduledAnim ; #line 778 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(mo . ao_tmAnimStart > tmNow ) #line 779 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 780 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" iCurrentAnim = mo . ao_iLastAnim ; #line 781 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" iScheduledAnim = mo . ao_iCurrentAnim ; #line 782 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 783 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else #line 784 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 785 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" iCurrentAnim = mo . ao_iCurrentAnim ; #line 786 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" iScheduledAnim = - 1; #line 787 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 789 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(iCurrentAnim != m_iLastCurrentAnim || iScheduledAnim != m_iLastScheduledAnim ) #line 790 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 791 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CAnimData * pad = mo . GetData (); #line 792 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CAnimInfo aiCurrent ; #line 793 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" mo . GetAnimInfo (iCurrentAnim , aiCurrent ); #line 794 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strCurrentAnimName = aiCurrent . ai_AnimName ; #line 796 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strScheduledAnimName = "....."; #line 797 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(iScheduledAnim != - 1) #line 798 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 799 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CAnimInfo aiScheduled ; #line 800 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" mo . GetAnimInfo (iScheduledAnim , aiScheduled ); #line 801 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" strScheduledAnimName = aiScheduled . ai_AnimName ; #line 802 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 803 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Time: %-10g %20s, %s\n" , #line 804 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" _pTimer -> GetLerpedCurrentTick () , strCurrentAnimName , strScheduledAnimName ); #line 805 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 806 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iLastCurrentAnim = iCurrentAnim ; #line 807 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iLastScheduledAnim = iScheduledAnim ; #line 808 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 810 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDumpFinalBossData ) #line 811 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 812 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" cht_bDumpFinalBossData = FALSE ; #line 814 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("\n\n\n\n\n\n\n"); #line 815 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Devil class data ...................\n"); #line 816 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("\n\n"); #line 818 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strAttackPower = DevilAttackPower_enum . NameForValue (INDEX (m_dapAttackPower )); #line 819 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Attack power: %s\n" , strAttackPower ); #line 820 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strDevilState = DevilState_enum . NameForValue (INDEX (m_dsDevilState )); #line 821 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Devil state: %s\n" , strDevilState ); #line 823 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fFireTime = %g\n" , m_fFireTime ); #line 824 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_iFiredProjectiles = %d\n" , m_iFiredProjectiles ); #line 825 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_iToFireProjectiles = %d\n" , m_iToFireProjectiles ); #line 826 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmLastPause = %g\n" , m_tmLastPause ); #line 827 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fPauseStretcher = %g\n" , m_fPauseStretcher ); #line 828 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmLastAngry = %g\n" , m_tmLastAngry ); #line 829 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_bHasUpperWeapons = %d\n" , m_bHasUpperWeapons ); #line 830 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fAdjustWeaponTime = %g\n" , m_fAdjustWeaponTime ); #line 831 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_bWasOnceInMainLoop = %d\n" , m_bWasOnceInMainLoop ); #line 832 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmHitBySpaceShipBeam = %g\n" , m_tmHitBySpaceShipBeam ); #line 833 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fLastWalkTime = %g\n" , m_fLastWalkTime ); #line 834 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmFireBreathStart = %g\n" , m_tmFireBreathStart ); #line 835 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmFireBreathStop = %g\n" , m_tmFireBreathStop ); #line 836 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmRegenerationStart = %g\n" , m_tmRegenerationStart ); #line 837 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmRegenerationStop = %g\n" , m_tmRegenerationStop ); #line 838 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmNextFXTime = %g\n" , m_tmNextFXTime ); #line 839 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmDeathTime = %g\n" , m_tmDeathTime ); #line 840 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Health = %g\n" , GetHealth ()); #line 842 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("\n\n\n\n\n\n\n"); #line 843 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Enemy base data ...................\n"); #line 844 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("\n\n"); #line 846 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_ttTarget (type): %d\n" , INDEX (m_ttTarget )); #line 848 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_penWatcher %x\n" , m_penWatcher ); #line 849 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strEnemyName = "Null ptr, no name"; #line 850 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_penEnemy != NULL ) #line 851 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 852 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" strEnemyName = m_penEnemy -> GetName (); #line 853 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 854 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_penEnemy %x, enemy name: %s\n" , m_penEnemy , strEnemyName ); #line 856 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_vStartPosition (%g, %g, %g)\n" , m_vStartPosition (1) , m_vStartPosition (2) , m_vStartPosition (3)); #line 857 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_vStartDirection (%g, %g, %g)\n" , m_vStartDirection (1) , m_vStartDirection (2) , m_vStartDirection (3)); #line 858 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_bOnStartPosition = %d\n" , m_bOnStartPosition ); #line 859 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fFallHeight = %g\n" , m_fFallHeight ); #line 860 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fStepHeight = %g\n" , m_fStepHeight ); #line 861 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fSenseRange = %g\n" , m_fSenseRange ); #line 862 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fViewAngle = %g\n" , m_fViewAngle ); #line 864 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fWalkSpeed = %g\n" , m_fWalkSpeed ); #line 865 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_aWalkRotateSpeed = %g\n" , m_aWalkRotateSpeed ); #line 866 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fAttackRunSpeed = %g\n" , m_fAttackRunSpeed ); #line 867 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_aAttackRotateSpeed = %g\n" , m_aAttackRotateSpeed ); #line 868 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fCloseRunSpeed = %g\n" , m_fCloseRunSpeed ); #line 869 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_aCloseRotateSpeed = %g\n" , m_aCloseRotateSpeed ); #line 870 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fAttackDistance = %g\n" , m_fAttackDistance ); #line 871 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fCloseDistance = %g\n" , m_fCloseDistance ); #line 872 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fAttackFireTime = %g\n" , m_fAttackFireTime ); #line 873 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fCloseFireTime = %g\n" , m_fCloseFireTime ); #line 874 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fStopDistance = %g\n" , m_fStopDistance ); #line 875 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fIgnoreRange = %g\n" , m_fIgnoreRange ); #line 876 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fLockOnEnemyTime = %g\n" , m_fLockOnEnemyTime ); #line 878 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fMoveTime = %g\n" , m_fMoveTime ); #line 879 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_vDesiredPosition (%g, %g, %g)\n" , m_vDesiredPosition (1) , m_vDesiredPosition (2) , m_vDesiredPosition (3)); #line 881 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strDestinationType = DestinationType_enum . NameForValue (INDEX (m_dtDestination )); #line 882 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_dtDestination: %s\n" , strDestinationType ); #line 883 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_penPathMarker %x\n" , m_penPathMarker ); #line 885 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_vPlayerSpotted (%g, %g, %g)\n" , m_vPlayerSpotted (1) , m_vPlayerSpotted (2) , m_vPlayerSpotted (3)); #line 886 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fMoveFrequency = %g\n" , m_fMoveFrequency ); #line 887 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fMoveSpeed = %g\n" , m_fMoveSpeed ); #line 888 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_aRotateSpeed = %g\n" , m_aRotateSpeed ); #line 889 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fLockStartTime = %g\n" , m_fLockStartTime ); #line 890 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fRangeLast = %g\n" , m_fRangeLast ); #line 891 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fShootTime = %g\n" , m_fShootTime ); #line 892 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fAttackRadius = %g\n" , m_fAttackRadius ); #line 893 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmGiveUp = %g\n" , m_tmGiveUp ); #line 894 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fActivityRange = %g\n" , m_fActivityRange ); #line 896 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strMarkerName = "Null ptr, no name"; #line 897 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_penMarker != NULL ) #line 898 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 899 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" strMarkerName = m_penMarker -> GetName (); #line 900 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 901 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_penMarker %x, marker name: %s\n" , m_penMarker , strMarkerName ); #line 903 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strMainMusicHolderName = "Null ptr, no name"; #line 904 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_penMainMusicHolder != NULL ) #line 905 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 906 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" strMainMusicHolderName = m_penMainMusicHolder -> GetName (); #line 907 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 908 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_penMainMusicHolder %x, MainMusicHolder name: %s\n" , m_penMainMusicHolder , strMainMusicHolderName ); #line 909 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmLastFussTime = %g\n" , m_tmLastFussTime ); #line 910 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_iScore = %d\n" , m_iScore ); #line 911 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fMaxHealth = %g\n" , m_fMaxHealth ); #line 912 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_bBoss = %d\n" , m_bBoss ); #line 913 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fSpiritStartTime = %g\n" , m_fSpiritStartTime ); #line 914 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_tmSpraySpawned = %g\n" , m_tmSpraySpawned ); #line 915 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fSprayDamage = %g\n" , m_fSprayDamage ); #line 916 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("m_fMaxDamageAmmount = %g\n" , m_fMaxDamageAmmount ); #line 917 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 919 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vLightDirection = FLOAT3D (0.0f , 270.0f , 0.0f); #line 920 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" colAmbient = RGBToColor (32 , 32 , 32); #line 921 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" colLight = RGBToColor (255 , 235 , 145); #line 923 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return CMovableModelEntity :: AdjustShadingParameters (vLightDirection , colLight , colAmbient ); #line 925 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 928 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" INDEX CDevil::AnimForDamage(FLOAT fDamage) { #line 929 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_WOUNDLOOP , 0); #line 930 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return DEVIL_ANIM_WOUNDLOOP ; #line 931 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 934 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" INDEX CDevil::AnimForDeath(void) { #line 935 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_DEATH , 0); #line 936 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return DEVIL_ANIM_DEATH ; #line 937 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 939 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::DeathNotify(void) { #line 940 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopFireBreathParticles (); #line 941 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopRegenerationParticles (); #line 942 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 945 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::StandingAnim(void) { #line 946 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_IDLE , AOF_SMOOTHCHANGE | AOF_LOOPING | AOF_NORESTART ); #line 947 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 949 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::WalkingAnim(void) { #line 950 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! m_bForMPIntro ) #line 951 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 952 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CModelObject & mo = * GetModelObject (); #line 953 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" INDEX iAnim = mo . GetAnim (); #line 954 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(iAnim == DEVIL_ANIM_WALK ) #line 955 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 957 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }else if(iAnim == DEVIL_ANIM_FROMIDLETOWALK ){ #line 958 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_WALK , AOF_LOOPING | AOF_SMOOTHCHANGE ); #line 959 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }else { #line 960 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_FROMIDLETOWALK , AOF_SMOOTHCHANGE ); #line 961 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 962 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 963 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 964 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::RunningAnim(void) { #line 965 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WalkingAnim (); #line 966 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 967 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::RotatingAnim(void) { #line 968 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WalkingAnim (); #line 969 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 972 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::IdleSound(void) { #line 973 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_IDLE , SOF_3D ); #line 974 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 975 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::SightSound(void) { #line 977 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 978 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::WoundSound(void) { #line 979 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_WOUND , SOF_3D ); #line 980 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 981 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::DeathSound(void) { #line 982 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_DEATH , SOF_3D | SOF_VOLUMETRIC ); #line 983 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 987 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::StartFireLaser(void) { #line 989 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayLightAnim (LIGHT_ANIM_FIRE , AOF_LOOPING | SOF_3D ); #line 990 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 993 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::FireOneLaser(FLOAT fRatio,FLOAT fDeltaPitch) #line 994 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 995 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayWeaponSound (SOUND_LASER ); #line 996 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vWpnPipeRel = GetFireingPositionRelative (); #line 997 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vWpnPipeAbs = GetFireingPositionAbsolute (); #line 999 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vTarget = m_penEnemy -> GetPlacement () . pl_PositionVector ; #line 1000 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vSpeedDst = ((CMovableEntity &) * m_penEnemy ) . en_vCurrentTranslationAbsolute * fRatio ; #line 1001 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fSpeedSrc = DEVIL_LASER_SPEED ; #line 1002 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vDesiredPosition = CalculatePredictedPosition (vWpnPipeAbs , vTarget , fSpeedSrc , #line 1003 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vSpeedDst , GetPlacement () . pl_PositionVector (2)); #line 1005 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ShootPredictedProjectile (PRT_DEVIL_LASER , m_vDesiredPosition , vWpnPipeRel , ANGLE3D (0 , fDeltaPitch , 0)); #line 1007 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayLightAnim (LIGHT_ANIM_FIRE , AOF_LOOPING ); #line 1008 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1011 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::StopFireLaser(void) { #line 1012 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soSound . Stop (); #line 1013 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayLightAnim (LIGHT_ANIM_NONE , 0); #line 1014 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1017 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::StartFireRocket(void) { #line 1019 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayLightAnim (LIGHT_ANIM_FIRE , AOF_LOOPING ); #line 1020 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1022 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::PlayWeaponSound(ULONG idSound) #line 1023 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1024 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CSoundObject & so = (& m_soWeapon0 ) [ m_iNextChannel ]; #line 1025 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iNextChannel = (m_iNextChannel + 1) % 5; #line 1026 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (so , idSound , SOF_3D ); #line 1027 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1030 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::FireOneRocket(FLOAT fRatio) #line 1031 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1032 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayWeaponSound (SOUND_ROCKETLAUNCHER ); #line 1033 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vWpnPipeRel = GetFireingPositionRelative (); #line 1034 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vWpnPipeAbs = GetFireingPositionAbsolute (); #line 1036 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vTarget = m_penEnemy -> GetPlacement () . pl_PositionVector ; #line 1037 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vSpeedDst = ((CMovableEntity &) * m_penEnemy ) . en_vCurrentTranslationAbsolute * fRatio ; #line 1038 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fSpeedSrc = DEVIL_ROCKET_SPEED ; #line 1039 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vDesiredPosition = CalculatePredictedPosition (vWpnPipeAbs , vTarget , fSpeedSrc , #line 1040 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" vSpeedDst , GetPlacement () . pl_PositionVector (2)); #line 1042 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ShootPredictedProjectile (PRT_DEVIL_ROCKET , m_vDesiredPosition , vWpnPipeRel , ANGLE3D (0 , 0 , 0)); #line 1044 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayLightAnim (LIGHT_ANIM_FIRE , AOF_LOOPING ); #line 1047 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayLightAnim (LIGHT_ANIM_FIRE , AOF_LOOPING ); #line 1048 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1051 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::StopFireRocket(void) { #line 1052 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soSound . Stop (); #line 1053 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayLightAnim (LIGHT_ANIM_NONE , 0); #line 1054 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1056 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::AddLowerWeapons(void) #line 1057 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1059 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" AddAttachmentToModel (this , * GetModelObject () , DEVIL_ATTACHMENT_LASER , MODEL_LASER , TEXTURE_LASER , 0 , 0 , 0); #line 1061 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" AddAttachmentToModel (this , * GetModelObject () , DEVIL_ATTACHMENT_PROJECTILEGUN , MODEL_PROJECTILEGUN , TEXTURE_PROJECTILEGUN , 0 , 0 , 0); #line 1062 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> StretchModel (FLOAT3D (SIZE , SIZE , SIZE )); #line 1063 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1065 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::AddUpperWeapons(void) #line 1066 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1068 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" AddAttachmentToModel (this , * GetModelObject () , DEVIL_ATTACHMENT_ROCKETLAUNCHER , MODEL_ROCKETLAUNCHER , TEXTURE_ROCKETLAUNCHER , 0 , 0 , 0); #line 1070 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" AddAttachmentToModel (this , * GetModelObject () , DEVIL_ATTACHMENT_ELETRICITYGUN , MODEL_ELECTRICITYGUN , TEXTURE_ELECTRICITYGUN , 0 , 0 , 0); #line 1071 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> StretchModel (FLOAT3D (SIZE , SIZE , SIZE )); #line 1072 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1074 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::RemoveWeapons(void) #line 1075 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1077 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" RemoveAttachmentFromModel (* GetModelObject () , DEVIL_ATTACHMENT_LASER ); #line 1078 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" RemoveAttachmentFromModel (* GetModelObject () , DEVIL_ATTACHMENT_PROJECTILEGUN ); #line 1079 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" RemoveAttachmentFromModel (* GetModelObject () , DEVIL_ATTACHMENT_ELETRICITYGUN ); #line 1080 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" RemoveAttachmentFromModel (* GetModelObject () , DEVIL_ATTACHMENT_ROCKETLAUNCHER ); #line 1081 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1083 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" class CDevilMarker * CDevil::GetAction(void) #line 1084 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1085 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CDevilMarker * penAction = (CDevilMarker *) (CEntity *) m_penAction ; #line 1086 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ASSERT (penAction != NULL ); #line 1087 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return penAction ; #line 1088 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1093 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" void CDevil::F_FirePredictedProjectile(void) #line 1094 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1095 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayWeaponSound (SOUND_LAVABOMB ); #line 1096 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vFireingRel = GetFireingPositionRelative (); #line 1097 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vFireingAbs = GetFireingPositionAbsolute (); #line 1099 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vTarget = m_penEnemy -> GetPlacement () . pl_PositionVector ; #line 1100 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vSpeedDest = ((CMovableEntity &) * m_penEnemy ) . en_vCurrentTranslationAbsolute ; #line 1101 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fLaunchSpeed ; #line 1102 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fRelativeHdg ; #line 1105 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CAttachmentModelObject & amo = * GetModelObject () -> GetAttachmentModel (m_iAttID ); #line 1106 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fPitch = amo . amo_plRelative . pl_OrientationAngle (2); #line 1109 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" EntityInfo * peiTarget = (EntityInfo *) (m_penEnemy -> GetEntityInfo ()); #line 1110 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CalculateAngularLaunchParams (vFireingAbs , 0 , vTarget , vSpeedDest , fPitch , fLaunchSpeed , fRelativeHdg ); #line 1113 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vShootTarget ; #line 1114 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetEntityInfoPosition (m_penEnemy , peiTarget -> vTargetCenter , vShootTarget ); #line 1116 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPlacement3D pl ; #line 1117 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PrepareFreeFlyingProjectile (pl , vShootTarget , vFireingRel , ANGLE3D (fRelativeHdg , fPitch , 0)); #line 1118 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEntityPointer penProjectile = CreateEntity (pl , CLASS_PROJECTILE ); #line 1119 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ELaunchProjectile eLaunch ; #line 1120 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eLaunch . penLauncher = this ; #line 1121 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eLaunch . prtType = PRT_LAVAMAN_BIG_BOMB ; #line 1122 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eLaunch . fSpeed = fLaunchSpeed ; #line 1123 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" penProjectile -> Initialize (eLaunch ); #line 1124 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1127 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" BOOL CDevil::HandleEvent(const CEntityEvent & ee) #line 1128 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1129 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(ee . ee_slEvent == EVENTCODE_EDevilCommand ) #line 1130 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1131 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" EDevilCommand eDevilCommand = ((EDevilCommand &) ee ); #line 1132 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(eDevilCommand . dctType == DC_FORCE_ATTACK_RADIUS ) #line 1133 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1134 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackRadius = eDevilCommand . fAttackRadius ; #line 1135 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vStartPosition = eDevilCommand . vCenterOfAttack ; #line 1136 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1137 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(eDevilCommand . dctType == DC_DECREASE_ATTACK_RADIUS ) #line 1138 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1139 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_fAttackRadius > 21.0f) #line 1140 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1141 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackRadius -= 20.0f; #line 1142 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1143 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1144 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1146 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return CEnemyBase :: HandleEvent (ee ); #line 1147 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } BOOL CDevil:: #line 1154 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WalkTo(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_WalkTo ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::WalkTo expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1156 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitCurrentAnimEnd, TRUE; Jump(STATE_CURRENT, 0x014c0004, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0004_WalkTo_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0004 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitCurrentAnimEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0005, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0005_WalkTo_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0005 const EReturn&__e= (EReturn&)__eeInput; ; #line 1157 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WalkingAnim (); #line 1158 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vDesiredPosition = GetAction () -> GetPlacement () . pl_PositionVector ; #line 1160 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fMoveFrequency = 0.25f; #line 1161 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fMoveSpeed = 15.0f; #line 1162 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_aRotateSpeed = 60.0f; #line 1163 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fMoveTime = _pTimer -> CurrentTick () + CalcDistanceInPlaneToDestination () / m_fMoveSpeed + 5.0f; #line 1165 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c0008, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0008_WalkTo_05(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0008 if(!(CalcDistanceInPlaneToDestination () > m_fMoveSpeed * m_fMoveFrequency * 4.0f && #line 1166 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fMoveTime > _pTimer -> CurrentTick ())){ Jump(STATE_CURRENT,0x014c0009, FALSE, EInternal());return TRUE;} #line 1168 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(m_fMoveFrequency ); Jump(STATE_CURRENT, 0x014c0006, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0006_WalkTo_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0006 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; #line 1171 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ULONG ulFlags = SetDesiredMovement (); #line 1172 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" MovementAnimation (ulFlags ); #line 1173 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 1174 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x014c0007, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break; #line 1176 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c0007_WalkTo_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0007 Jump(STATE_CURRENT,0x014c0008, FALSE, EInternal());return TRUE; #line 1177 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c0009_WalkTo_06(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0009 #line 1179 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopMoving (); #line 1181 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1181 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1187 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" DestroyCity(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_DestroyCity ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::DestroyCity expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1189 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soSound . Set3DParameters (1000.0f , 500.0f , 3.0f , 1.0f); #line 1191 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c0030, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0030_DestroyCity_38(const CEntityEvent &__eeInput) #line 1192 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0030 if(!(TRUE )){ Jump(STATE_CURRENT,0x014c0031, FALSE, EInternal());return TRUE;} #line 1193 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(!(GetAction () -> m_datType == DAT_RISE )){ Jump(STATE_CURRENT,0x014c002f, FALSE, EInternal());return TRUE;} #line 1195 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_Rise, TRUE; Jump(STATE_CURRENT, 0x014c000b, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c000b_DestroyCity_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c000b switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_Rise, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c000c, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c000c_DestroyCity_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c000c const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x014c002e, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c002f_DestroyCity_37(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c002f if(!(GetAction () -> m_datType == DAT_ROAR )){ Jump(STATE_CURRENT,0x014c002d, FALSE, EInternal());return TRUE;} #line 1199 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SelectRandomAnger (); #line 1200 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_Angry, TRUE; Jump(STATE_CURRENT, 0x014c000d, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c000d_DestroyCity_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c000d switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_Angry, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c000e, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c000e_DestroyCity_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c000e const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x014c002c, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c002d_DestroyCity_35(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c002d if(!(GetAction () -> m_datType == DAT_SMASH )){ Jump(STATE_CURRENT,0x014c002b, FALSE, EInternal());return TRUE;} #line 1204 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_Smash, TRUE; Jump(STATE_CURRENT, 0x014c000f, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c000f_DestroyCity_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c000f switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_Smash, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0010, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0010_DestroyCity_06(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0010 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x014c002a, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c002b_DestroyCity_33(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c002b if(!(GetAction () -> m_datType == DAT_PUNCH )){ Jump(STATE_CURRENT,0x014c0029, FALSE, EInternal());return TRUE;} #line 1208 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_Punch, TRUE; Jump(STATE_CURRENT, 0x014c0011, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0011_DestroyCity_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0011 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_Punch, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0012, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0012_DestroyCity_08(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0012 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x014c0028, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0029_DestroyCity_31(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0029 if(!(GetAction () -> m_datType == DAT_HIT_GROUND )){ Jump(STATE_CURRENT,0x014c0027, FALSE, EInternal());return TRUE;} #line 1212 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_HitGround, TRUE; Jump(STATE_CURRENT, 0x014c0013, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0013_DestroyCity_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0013 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_HitGround, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0014, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0014_DestroyCity_10(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0014 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x014c0026, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0027_DestroyCity_29(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0027 if(!(GetAction () -> m_datType == DAT_JUMP )){ Jump(STATE_CURRENT,0x014c0025, FALSE, EInternal());return TRUE;}Jump(STATE_CURRENT,0x014c0024, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0025_DestroyCity_27(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0025 if(!(GetAction () -> m_datType == DAT_WAIT )){ Jump(STATE_CURRENT,0x014c0023, FALSE, EInternal());return TRUE;} #line 1220 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitCurrentAnimEnd, TRUE; Jump(STATE_CURRENT, 0x014c0015, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0015_DestroyCity_11(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0015 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitCurrentAnimEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0016, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0016_DestroyCity_12(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0016 const EReturn&__e= (EReturn&)__eeInput; ; #line 1221 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_IDLE , 0); #line 1222 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_IDLE ) * GetAction () -> m_iWaitIdles ); Jump(STATE_CURRENT, 0x014c0017, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0017_DestroyCity_13(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0017 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0018, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0018_DestroyCity_14(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0018 ;Jump(STATE_CURRENT,0x014c0022, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0023_DestroyCity_25(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0023 if(!(GetAction () -> m_datType == DAT_WALK )){ Jump(STATE_CURRENT,0x014c0021, FALSE, EInternal());return TRUE;} #line 1226 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WalkTo, TRUE; Jump(STATE_CURRENT, 0x014c0019, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0019_DestroyCity_15(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0019 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WalkTo, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c001a, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c001a_DestroyCity_16(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c001a const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x014c0020, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0021_DestroyCity_23(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0021 if(!(GetAction () -> m_datType == DAT_STOP_DESTROYING )){ Jump(STATE_CURRENT,0x014c001f, FALSE, EInternal());return TRUE;} #line 1230 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1230 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE;Jump(STATE_CURRENT,0x014c001e, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c001f_DestroyCity_21(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c001f if(!(TRUE )){ Jump(STATE_CURRENT,0x014c001d, FALSE, EInternal());return TRUE;} #line 1234 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_IDLE , 0); #line 1235 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_IDLE )); Jump(STATE_CURRENT, 0x014c001b, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c001b_DestroyCity_17(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c001b switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c001c, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c001c_DestroyCity_18(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c001c ;Jump(STATE_CURRENT,0x014c001d, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c001d_DestroyCity_19(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c001d Jump(STATE_CURRENT,0x014c001e, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c001e_DestroyCity_20(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c001e Jump(STATE_CURRENT,0x014c0020, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c0020_DestroyCity_22(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0020 Jump(STATE_CURRENT,0x014c0022, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c0022_DestroyCity_24(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0022 Jump(STATE_CURRENT,0x014c0024, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c0024_DestroyCity_26(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0024 Jump(STATE_CURRENT,0x014c0026, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c0026_DestroyCity_28(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0026 Jump(STATE_CURRENT,0x014c0028, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c0028_DestroyCity_30(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0028 Jump(STATE_CURRENT,0x014c002a, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c002a_DestroyCity_32(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c002a Jump(STATE_CURRENT,0x014c002c, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c002c_DestroyCity_34(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c002c Jump(STATE_CURRENT,0x014c002e, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c002e_DestroyCity_36(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c002e #line 1238 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_penAction = GetAction () -> m_penTarget ; #line 1239 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(GetAction () -> m_penTrigger != NULL ) #line 1240 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1241 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetAction () -> m_penTrigger -> SendEvent (ETrigger ()); #line 1242 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }Jump(STATE_CURRENT,0x014c0030, FALSE, EInternal());return TRUE; #line 1243 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c0031_DestroyCity_39(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0031 ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1246 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WaitCurrentAnimEnd(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_WaitCurrentAnimEnd ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::WaitCurrentAnimEnd expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1248 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x014c0033, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0033_WaitCurrentAnimEnd_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0033 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0034, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0034_WaitCurrentAnimEnd_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0034 ; #line 1249 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CModelObject & mo = * GetModelObject (); #line 1250 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT tmWait = mo . GetAnimLength (mo . ao_iCurrentAnim ) - mo . GetPassedTime (); #line 1251 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(!(tmWait > _pTimer -> TickQuantum )){ Jump(STATE_CURRENT,0x014c0038, FALSE, EInternal());return TRUE;} #line 1253 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fTimeToWait = tmWait - _pTimer -> TickQuantum * 2; #line 1254 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(!(fTimeToWait >= _pTimer -> TickQuantum )){ Jump(STATE_CURRENT,0x014c0037, FALSE, EInternal());return TRUE;} #line 1256 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(fTimeToWait ); Jump(STATE_CURRENT, 0x014c0035, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0035_WaitCurrentAnimEnd_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0035 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0036, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0036_WaitCurrentAnimEnd_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0036 ;Jump(STATE_CURRENT,0x014c0037, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0037_WaitCurrentAnimEnd_05(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0037 Jump(STATE_CURRENT,0x014c0038, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0038_WaitCurrentAnimEnd_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0038 #line 1259 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1259 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1262 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WaitWalkToEnd(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_WaitWalkToEnd ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::WaitWalkToEnd expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1264 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(!(GetModelObject () -> GetAnim () == DEVIL_ANIM_WALK )){ Jump(STATE_CURRENT,0x014c003e, FALSE, EInternal());return TRUE;} #line 1266 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitCurrentAnimEnd, TRUE; Jump(STATE_CURRENT, 0x014c003a, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c003a_WaitWalkToEnd_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c003a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitCurrentAnimEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c003b, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c003b_WaitWalkToEnd_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c003b const EReturn&__e= (EReturn&)__eeInput; ; #line 1267 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_FROMWALKTOIDLE , AOF_SMOOTHCHANGE ); #line 1268 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_FROMWALKTOIDLE ) - 0.1f); Jump(STATE_CURRENT, 0x014c003c, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c003c_WaitWalkToEnd_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c003c switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c003d, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c003d_WaitWalkToEnd_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c003d ;Jump(STATE_CURRENT,0x014c003e, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c003e_WaitWalkToEnd_05(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c003e #line 1270 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitCurrentAnimEnd, TRUE; Jump(STATE_CURRENT, 0x014c003f, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c003f_WaitWalkToEnd_06(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c003f switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitCurrentAnimEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0040, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0040_WaitWalkToEnd_07(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0040 const EReturn&__e= (EReturn&)__eeInput; ; #line 1271 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1271 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1274 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WaitWalkOrIdleToEnd(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_WaitWalkOrIdleToEnd ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::WaitWalkOrIdleToEnd expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1276 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(!(GetModelObject () -> GetAnim () == DEVIL_ANIM_WALK )){ Jump(STATE_CURRENT,0x014c0050, FALSE, EInternal());return TRUE;} #line 1278 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitCurrentAnimEnd, TRUE; Jump(STATE_CURRENT, 0x014c0042, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0042_WaitWalkOrIdleToEnd_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0042 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitCurrentAnimEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0043, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0043_WaitWalkOrIdleToEnd_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0043 const EReturn&__e= (EReturn&)__eeInput; ; #line 1279 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_FROMWALKTOIDLE , AOF_SMOOTHCHANGE ); #line 1280 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_FROMWALKTOIDLE ) - 0.1f); Jump(STATE_CURRENT, 0x014c0044, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0044_WaitWalkOrIdleToEnd_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0044 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0045, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0045_WaitWalkOrIdleToEnd_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0045 ;Jump(STATE_CURRENT,0x014c004f, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0050_WaitWalkOrIdleToEnd_15(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0050 if(!(GetModelObject () -> GetAnim () == DEVIL_ANIM_FROMIDLETOWALK )){ Jump(STATE_CURRENT,0x014c004e, FALSE, EInternal());return TRUE;} #line 1284 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitCurrentAnimEnd, TRUE; Jump(STATE_CURRENT, 0x014c0046, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0046_WaitWalkOrIdleToEnd_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0046 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitCurrentAnimEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0047, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0047_WaitWalkOrIdleToEnd_06(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0047 const EReturn&__e= (EReturn&)__eeInput; ; #line 1285 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_FROMWALKTOIDLE , AOF_SMOOTHCHANGE ); #line 1286 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_FROMWALKTOIDLE ) - 0.1f); Jump(STATE_CURRENT, 0x014c0048, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0048_WaitWalkOrIdleToEnd_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0048 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0049, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0049_WaitWalkOrIdleToEnd_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0049 ;Jump(STATE_CURRENT,0x014c004d, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c004e_WaitWalkOrIdleToEnd_13(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c004e if(!(GetModelObject () -> GetAnim () == DEVIL_ANIM_IDLE )){ Jump(STATE_CURRENT,0x014c004c, FALSE, EInternal());return TRUE;} #line 1290 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitCurrentAnimEnd, TRUE; Jump(STATE_CURRENT, 0x014c004a, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c004a_WaitWalkOrIdleToEnd_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c004a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitCurrentAnimEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c004b, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c004b_WaitWalkOrIdleToEnd_10(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c004b const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x014c004c, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c004c_WaitWalkOrIdleToEnd_11(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c004c Jump(STATE_CURRENT,0x014c004d, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c004d_WaitWalkOrIdleToEnd_12(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c004d Jump(STATE_CURRENT,0x014c004f, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c004f_WaitWalkOrIdleToEnd_14(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c004f #line 1292 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1292 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1295 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Rise(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_Rise ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::Rise expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1297 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitCurrentAnimEnd, TRUE; Jump(STATE_CURRENT, 0x014c0052, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0052_Rise_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0052 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitCurrentAnimEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0053, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0053_Rise_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0053 const EReturn&__e= (EReturn&)__eeInput; ; #line 1298 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_GETUP , SOF_3D ); #line 1299 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_GETUP , 0); #line 1300 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1300 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1303 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Celebrate(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_Celebrate ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::Celebrate expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1305 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkToEnd, TRUE; Jump(STATE_CURRENT, 0x014c0055, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0055_Celebrate_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0055 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0056, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0056_Celebrate_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0056 const EReturn&__e= (EReturn&)__eeInput; ; #line 1307 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_CELEBRATE01 , SOF_3D ); #line 1308 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_CELEBRATE01 , AOF_SMOOTHCHANGE ); #line 1309 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_CELEBRATE01 ) - 0.1f); Jump(STATE_CURRENT, 0x014c0057, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0057_Celebrate_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0057 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0058, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0058_Celebrate_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0058 ; #line 1310 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1310 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1313 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Angry(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_Angry ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::Angry expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1315 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkToEnd, TRUE; Jump(STATE_CURRENT, 0x014c005a, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c005a_Angry_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c005a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c005b, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c005b_Angry_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c005b const EReturn&__e= (EReturn&)__eeInput; ; #line 1317 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (m_iAngryAnim , AOF_SMOOTHCHANGE ); #line 1318 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c005c, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c005c_Angry_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c005c switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c005d, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c005d_Angry_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c005d const EReturn&__e= (EReturn&)__eeInput; ; #line 1319 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , m_iAngrySound , SOF_3D ); #line 1320 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (m_iAngryAnim ) - 0.1f); Jump(STATE_CURRENT, 0x014c005e, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c005e_Angry_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c005e switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c005f, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c005f_Angry_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c005f ; #line 1321 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1321 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1325 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SubBeamDamage1(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_SubBeamDamage1 ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::SubBeamDamage1 expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1327 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopMoving (); #line 1328 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_WOUND , SOF_3D ); #line 1329 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_WOUNDSTART , AOF_SMOOTHCHANGE ); #line 1330 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_WOUNDSTART ) - 0.1f); Jump(STATE_CURRENT, 0x014c0061, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0061_SubBeamDamage1_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0061 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0062, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0062_SubBeamDamage1_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0062 ; #line 1331 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_WOUNDLOOP , AOF_LOOPING | AOF_SMOOTHCHANGE ); #line 1332 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CDevil_SubBeamDamage2, TRUE, EVoid());return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1334 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SubBeamDamage2(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_SubBeamDamage2 ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::SubBeamDamage2 expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1336 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c0066, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0066_SubBeamDamage2_03(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0066 if(!(TRUE )){ Jump(STATE_CURRENT,0x014c0067, FALSE, EInternal());return TRUE;} #line 1337 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.1f); Jump(STATE_CURRENT, 0x014c0064, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0064_SubBeamDamage2_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0064 switch(__eeInput.ee_slEvent) #line 1338 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EHitBySpaceShipBeam):{const EHitBySpaceShipBeam&e= (EHitBySpaceShipBeam&)__eeInput; #line 1341 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmHitBySpaceShipBeam = _pTimer -> CurrentTick (); #line 1342 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" UnsetTimer();Jump(STATE_CURRENT,0x014c0065, FALSE, EInternal());return TRUE; #line 1343 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; Jump(STATE_CURRENT, STATE_CDevil_SubBeamDamage3, TRUE, EVoid());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break; #line 1345 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c0065_SubBeamDamage2_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0065 Jump(STATE_CURRENT,0x014c0066, FALSE, EInternal());return TRUE; #line 1346 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c0067_SubBeamDamage2_04(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0067 ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1348 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SubBeamDamage3(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_SubBeamDamage3 ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::SubBeamDamage3 expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1350 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_WOUNDEND , AOF_SMOOTHCHANGE ); #line 1351 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_WOUNDEND ) - 0.1f); Jump(STATE_CURRENT, 0x014c0069, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0069_SubBeamDamage3_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0069 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c006a, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c006a_SubBeamDamage3_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c006a ; #line 1352 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_IDLE , AOF_LOOPING | AOF_SMOOTHCHANGE ); #line 1353 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1353 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1355 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" BeamDamage(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_BeamDamage ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::BeamDamage expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1357 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x014c006c, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c006c_BeamDamage_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c006c switch(__eeInput.ee_slEvent) #line 1358 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; Call(STATE_CURRENT, STATE_CDevil_SubBeamDamage1, TRUE, EVoid());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EHitBySpaceShipBeam):{const EHitBySpaceShipBeam&e= (EHitBySpaceShipBeam&)__eeInput; #line 1361 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmHitBySpaceShipBeam = _pTimer -> CurrentTick (); #line 1362 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 1363 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_EReturn):{const EReturn&e= (EReturn&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x014c006d, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break; #line 1365 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c006d_BeamDamage_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c006d #line 1366 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1366 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1369 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Smash(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_Smash ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::Smash expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1374 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_FROMWALKTOIDLE , AOF_SMOOTHCHANGE ); #line 1375 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c006f, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c006f_Smash_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c006f switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0070, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0070_Smash_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0070 const EReturn&__e= (EReturn&)__eeInput; ; #line 1377 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_SMASH , AOF_SMOOTHCHANGE ); #line 1378 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c0071, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0071_Smash_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0071 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0072, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0072_Smash_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0072 const EReturn&__e= (EReturn&)__eeInput; ; #line 1380 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.05f); Jump(STATE_CURRENT, 0x014c0073, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0073_Smash_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0073 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0074, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0074_Smash_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0074 ; #line 1381 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_SMASH , SOF_3D ); #line 1382 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.7f); Jump(STATE_CURRENT, 0x014c0075, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0075_Smash_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0075 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0076, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0076_Smash_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0076 ; #line 1383 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(GetAction () -> m_penToDestroy1 != NULL ) #line 1384 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1385 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" EBrushDestroyedByDevil ebdbd ; #line 1386 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ebdbd . vDamageDir = FLOAT3D (- 0.125f , 0.0f , - 0.5f); #line 1387 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetAction () -> m_penToDestroy1 -> SendEvent (ebdbd ); #line 1388 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1389 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(2.8f - 1.0f); Jump(STATE_CURRENT, 0x014c0077, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0077_Smash_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0077 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0078, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0078_Smash_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0078 ; #line 1390 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(GetAction () -> m_penToDestroy2 != NULL ) #line 1391 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1392 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" EBrushDestroyedByDevil ebdbd ; #line 1393 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ebdbd . vDamageDir = FLOAT3D (- 0.125f , 0.0f , - 0.5f); #line 1394 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetAction () -> m_penToDestroy2 -> SendEvent (ebdbd ); #line 1395 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1396 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1396 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1399 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Punch(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_Punch ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::Punch expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1403 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_FROMWALKTOIDLE , AOF_SMOOTHCHANGE ); #line 1404 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c007a, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c007a_Punch_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c007a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c007b, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c007b_Punch_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c007b const EReturn&__e= (EReturn&)__eeInput; ; #line 1406 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_PUNCH , AOF_SMOOTHCHANGE ); #line 1407 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c007c, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c007c_Punch_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c007c switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c007d, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c007d_Punch_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c007d const EReturn&__e= (EReturn&)__eeInput; ; #line 1409 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.05f); Jump(STATE_CURRENT, 0x014c007e, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c007e_Punch_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c007e switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c007f, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c007f_Punch_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c007f ; #line 1410 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_PUNCH , SOF_3D ); #line 1411 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.8f); Jump(STATE_CURRENT, 0x014c0080, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0080_Punch_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0080 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0081, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0081_Punch_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0081 ; #line 1412 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(GetAction () -> m_penToDestroy1 != NULL ) #line 1413 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1414 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" EBrushDestroyedByDevil ebdbd ; #line 1415 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ebdbd . vDamageDir = FLOAT3D (- 0.125f , 0.0f , - 0.5f); #line 1416 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetAction () -> m_penToDestroy1 -> SendEvent (ebdbd ); #line 1417 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1418 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(2.8f - 1.1f); Jump(STATE_CURRENT, 0x014c0082, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0082_Punch_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0082 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0083, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0083_Punch_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0083 ; #line 1419 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(GetAction () -> m_penToDestroy2 != NULL ) #line 1420 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1421 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" EBrushDestroyedByDevil ebdbd ; #line 1422 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ebdbd . vDamageDir = FLOAT3D (0.125f , 0.0f , - 0.5f); #line 1423 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetAction () -> m_penToDestroy2 -> SendEvent (ebdbd ); #line 1424 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1426 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1426 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1429 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" HitGround(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_HitGround ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::HitGround expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1431 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkToEnd, TRUE; Jump(STATE_CURRENT, 0x014c0085, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0085_HitGround_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0085 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0086, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0086_HitGround_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0086 const EReturn&__e= (EReturn&)__eeInput; ; #line 1433 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_ATTACKCLOSE , SOF_3D ); #line 1434 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_ATTACKCLOSE , AOF_SMOOTHCHANGE ); #line 1435 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(1.44f); Jump(STATE_CURRENT, 0x014c0087, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0087_HitGround_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0087 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0088, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0088_HitGround_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0088 ; #line 1436 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ShakeItBaby (_pTimer -> CurrentTick () , 5.0f); #line 1438 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPlacement3D plObelisk = GetPlacement (); #line 1440 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEntity * penEffector = CreateEntity (plObelisk , CLASS_EFFECTOR ); #line 1442 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ESpawnEffector eSpawnEffector ; #line 1443 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eSpawnEffector . tmLifeTime = 6.0f; #line 1444 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eSpawnEffector . fSize = 1.0f; #line 1445 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eSpawnEffector . eetType = ET_HIT_GROUND ; #line 1446 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eSpawnEffector . vDamageDir = FLOAT3D (0.0f , 2.0f , 0.0f); #line 1448 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" penEffector -> Initialize (eSpawnEffector ); #line 1450 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1450 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1453 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GrabLowerWeapons(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_GrabLowerWeapons ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::GrabLowerWeapons expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1455 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkToEnd, TRUE; Jump(STATE_CURRENT, 0x014c008a, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c008a_GrabLowerWeapons_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c008a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c008b, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c008b_GrabLowerWeapons_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c008b const EReturn&__e= (EReturn&)__eeInput; ; #line 1456 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_GRABWEAPONS01 , AOF_SMOOTHCHANGE ); #line 1457 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c008c, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c008c_GrabLowerWeapons_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c008c switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c008d, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c008d_GrabLowerWeapons_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c008d const EReturn&__e= (EReturn&)__eeInput; ; #line 1458 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_DRAW_LOWER_WEAPONS , SOF_3D ); #line 1459 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.84f); Jump(STATE_CURRENT, 0x014c008e, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c008e_GrabLowerWeapons_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c008e switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c008f, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c008f_GrabLowerWeapons_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c008f ; #line 1460 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" AddLowerWeapons (); #line 1461 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WalkingAnim (); #line 1462 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c0090, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0090_GrabLowerWeapons_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0090 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0091, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0091_GrabLowerWeapons_08(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0091 const EReturn&__e= (EReturn&)__eeInput; ; #line 1463 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1463 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1466 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GrabUpperWeapons(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_GrabUpperWeapons ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::GrabUpperWeapons expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1468 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkToEnd, TRUE; Jump(STATE_CURRENT, 0x014c0093, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0093_GrabUpperWeapons_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0093 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0094, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0094_GrabUpperWeapons_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0094 const EReturn&__e= (EReturn&)__eeInput; ; #line 1469 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_GRABWEAPONS02 , AOF_SMOOTHCHANGE ); #line 1470 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c0095, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0095_GrabUpperWeapons_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0095 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0096, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0096_GrabUpperWeapons_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0096 const EReturn&__e= (EReturn&)__eeInput; ; #line 1471 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_DRAW_UPPER_WEAPONS , SOF_3D ); #line 1472 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.84f); Jump(STATE_CURRENT, 0x014c0097, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0097_GrabUpperWeapons_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0097 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0098, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0098_GrabUpperWeapons_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0098 ; #line 1473 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" AddUpperWeapons (); #line 1474 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bHasUpperWeapons = TRUE ; #line 1475 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WalkingAnim (); #line 1476 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c0099, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0099_GrabUpperWeapons_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0099 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c009a, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c009a_GrabUpperWeapons_08(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c009a const EReturn&__e= (EReturn&)__eeInput; ; #line 1477 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1477 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1480 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GrabBothWeapons(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_GrabBothWeapons ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::GrabBothWeapons expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1482 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkToEnd, TRUE; Jump(STATE_CURRENT, 0x014c009c, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c009c_GrabBothWeapons_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c009c switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c009d, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c009d_GrabBothWeapons_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c009d const EReturn&__e= (EReturn&)__eeInput; ; #line 1483 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_GRABWEAPONS01 , AOF_SMOOTHCHANGE ); #line 1484 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c009e, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c009e_GrabBothWeapons_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c009e switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c009f, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c009f_GrabBothWeapons_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c009f const EReturn&__e= (EReturn&)__eeInput; ; #line 1485 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soGrabLowerWeapons , SOUND_DRAW_LOWER_WEAPONS , SOF_3D ); #line 1486 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.84f); Jump(STATE_CURRENT, 0x014c00a0, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00a0_GrabBothWeapons_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00a0 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00a1, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00a1_GrabBothWeapons_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00a1 ; #line 1487 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" AddLowerWeapons (); #line 1488 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_GRABWEAPONS02 , AOF_SMOOTHCHANGE ); #line 1489 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c00a2, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00a2_GrabBothWeapons_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00a2 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00a3, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00a3_GrabBothWeapons_08(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00a3 const EReturn&__e= (EReturn&)__eeInput; ; #line 1490 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soGrabUpperWeapons , SOUND_DRAW_UPPER_WEAPONS , SOF_3D ); #line 1491 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.84f); Jump(STATE_CURRENT, 0x014c00a4, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00a4_GrabBothWeapons_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00a4 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00a5, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00a5_GrabBothWeapons_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00a5 ; #line 1492 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" AddUpperWeapons (); #line 1493 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bHasUpperWeapons = TRUE ; #line 1494 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WalkingAnim (); #line 1495 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c00a6, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00a6_GrabBothWeapons_11(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00a6 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00a7, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00a7_GrabBothWeapons_12(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00a7 const EReturn&__e= (EReturn&)__eeInput; ; #line 1496 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1496 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1499 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PreMainLoop(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_PreMainLoop ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::PreMainLoop expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1501 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soSound . Set3DParameters (1000.0f , 500.0f , 2.0f , 1.0f); #line 1502 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soGrabLowerWeapons . Set3DParameters (1000.0f , 500.0f , 2.0f , 1.0f); #line 1503 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soGrabUpperWeapons . Set3DParameters (1000.0f , 500.0f , 2.0f , 1.0f); #line 1504 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soJumpIntoPyramid . Set3DParameters (1000.0f , 500.0f , 2.0f , 1.0f); #line 1505 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soLeft . Set3DParameters (1000.0f , 500.0f , 2.0f , 1.0f); #line 1506 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soRight . Set3DParameters (1000.0f , 500.0f , 2.0f , 1.0f); #line 1507 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soWeapon0 . Set3DParameters (1000.0f , 500.0f , 1.0f , 1.0f); #line 1508 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soWeapon1 . Set3DParameters (1000.0f , 500.0f , 1.0f , 1.0f); #line 1509 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soWeapon2 . Set3DParameters (1000.0f , 500.0f , 1.0f , 1.0f); #line 1510 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soWeapon3 . Set3DParameters (1000.0f , 500.0f , 1.0f , 1.0f); #line 1511 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soWeapon4 . Set3DParameters (1000.0f , 500.0f , 1.0f , 1.0f); #line 1513 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" TurnOnPhysics (); #line 1515 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_penEnemy == NULL ) #line 1516 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1518 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEntity * penEnemy = FixupCausedToPlayer (this , m_penEnemy , FALSE ); #line 1519 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(penEnemy != m_penEnemy ){ #line 1520 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTargetSoft (penEnemy ); #line 1521 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1522 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1524 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1524 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1531 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" BeWounded(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_BeWounded ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EDamage, "CDevil::BeWounded expects 'EDamage' as input!"); const EDamage &eDamage = (const EDamage &)__eeInput; #line 1533 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopMoving (); #line 1535 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (AnimForDamage (eDamage . fAmount ))); Jump(STATE_CURRENT, 0x014c00aa, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00aa_BeWounded_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00aa switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00ab, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00ab_BeWounded_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ab ; #line 1536 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1536 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1542 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Hit(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_Hit ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::Hit expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1543 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitCurrentAnimEnd, TRUE; Jump(STATE_CURRENT, 0x014c00ad, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00ad_Hit_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ad switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitCurrentAnimEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00ae, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00ae_Hit_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ae const EReturn&__e= (EReturn&)__eeInput; ; #line 1544 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_ATTACKCLOSE , AOF_SMOOTHCHANGE ); #line 1545 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c00af, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00af_Hit_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00af switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00b0, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00b0_Hit_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00b0 const EReturn&__e= (EReturn&)__eeInput; ; #line 1546 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_ATTACKCLOSE , SOF_3D ); #line 1547 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(1.4f); Jump(STATE_CURRENT, 0x014c00b1, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00b1_Hit_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00b1 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00b2, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00b2_Hit_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00b2 ; #line 1548 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ShakeItBaby (_pTimer -> CurrentTick () , 5.0f); #line 1549 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(CalcDist (m_penEnemy ) < m_fCloseDistance ) #line 1550 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1551 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" InflictDirectDamage (m_penEnemy , this , DMT_IMPACT , 1000.0f , #line 1552 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_penEnemy -> GetPlacement () . pl_PositionVector , FLOAT3D (0 , 1 , 0)); #line 1553 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1554 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" InflictHoofDamage (DEVIL_HIT_HOOF_OFFSET ); #line 1556 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_ATTACKCLOSE - 1.4f) - _pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x014c00b3, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00b3_Hit_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00b3 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00b4, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00b4_Hit_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00b4 ; #line 1557 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1557 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1564 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" InitializeAttack(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_InitializeAttack ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::InitializeAttack expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1565 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CEnemyBase_InitializeAttack, FALSE, EVoid());return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1568 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Fire(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_Fire ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::Fire expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1570 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iToFireProjectiles = 0; #line 1571 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackFireTime = 10.0f; #line 1572 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fPauseStretcher = 1.0f; #line 1574 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_dapAttackPower == DAP_MEDIUM_POWER_ATTACK && #line 1575 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" (_pTimer -> CurrentTick () - m_fLastWalkTime ) > 6.0f) #line 1576 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1577 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackFireTime = 6.0f; #line 1578 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fLastWalkTime = _pTimer -> CurrentTick () + 6.0f; #line 1579 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EVoid()); #line 1579 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 1580 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1582 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" switch(m_dapAttackPower ) #line 1583 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1584 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DAP_PLAYER_HUNT : #line 1585 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(_pTimer -> CurrentTick () - m_tmLastAngry > 10.0f) #line 1586 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1587 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackFireTime = 7.5 + FRnd () * 5; #line 1588 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmLastAngry = _pTimer -> CurrentTick (); #line 1589 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SelectRandomAnger (); #line 1590 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CDevil_Angry, TRUE, EVoid());return TRUE; #line 1591 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1592 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EVoid()); #line 1592 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 1593 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 1594 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DAP_LOW_POWER_ATTACK : #line 1595 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iToFireProjectiles = 2; #line 1596 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackFireTime = 5.0f; #line 1597 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fPauseStretcher = 1.0f; #line 1598 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 1599 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DAP_MEDIUM_POWER_ATTACK : #line 1600 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iToFireProjectiles = 3; #line 1601 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackFireTime = 0.1f; #line 1602 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fPauseStretcher = 0.5f; #line 1603 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 1604 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case DAP_FULL_POWER_ATTACK : #line 1605 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iToFireProjectiles = 4; #line 1606 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackFireTime = 0.1f; #line 1607 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fPauseStretcher = 0.1f; #line 1608 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 1609 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1611 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" INDEX iRnd = IRnd () % 5; #line 1612 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! m_bHasUpperWeapons ) #line 1613 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1614 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" iRnd = IRnd () % 3; #line 1615 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1618 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" switch(iRnd ) #line 1619 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1620 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case 0: #line 1621 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CDevil_FirePredictedProjectile, TRUE, EVoid());return TRUE; #line 1622 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 1623 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case 1: #line 1624 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CDevil_FireLaser, TRUE, EVoid());return TRUE; #line 1625 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 1626 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case 2: #line 1627 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CDevil_FireGuidedProjectile, TRUE, EVoid());return TRUE; #line 1628 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 1629 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case 3: #line 1630 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CDevil_FireRocketLauncher, TRUE, EVoid());return TRUE; #line 1631 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 1632 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" case 4: #line 1633 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CDevil_FireElectricityGun, TRUE, EVoid());return TRUE; #line 1634 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" break ; #line 1635 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1639 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" DevilLockOnEnemy(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_DevilLockOnEnemy ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::DevilLockOnEnemy expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1642 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopMoving (); #line 1644 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ChargeAnim (); #line 1646 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fLockStartTime = _pTimer -> CurrentTick (); #line 1647 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c00ba, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c00ba_DevilLockOnEnemy_03(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ba if(!(m_fLockStartTime + GetProp (m_fLockOnEnemyTime ) > _pTimer -> CurrentTick ())){ Jump(STATE_CURRENT,0x014c00bb, FALSE, EInternal());return TRUE;} #line 1649 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fMoveFrequency = 0.05f; #line 1650 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(m_fMoveFrequency ); Jump(STATE_CURRENT, 0x014c00b8, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00b8_DevilLockOnEnemy_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00b8 switch(__eeInput.ee_slEvent){case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x014c00b9, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; #line 1653 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vDesiredPosition = PlayerDestinationPos (); #line 1655 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! IsInPlaneFrustum (m_penEnemy , CosFast (30.0f))){ #line 1656 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fLockStartTime = - 10000.0f; #line 1657 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" UnsetTimer();Jump(STATE_CURRENT,0x014c00b9, FALSE, EInternal());return TRUE; #line 1658 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1671 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 1672 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;default: return FALSE; break; #line 1673 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c00b9_DevilLockOnEnemy_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00b9 Jump(STATE_CURRENT,0x014c00ba, FALSE, EInternal());return TRUE; #line 1674 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c00bb_DevilLockOnEnemy_04(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00bb #line 1676 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopRotating (); #line 1679 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1679 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1682 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" AdjustWeaponForFire(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_AdjustWeaponForFire ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::AdjustWeaponForFire expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1684 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vRelWeapon = GetWeaponPositionRelative (); #line 1685 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vAbsWeapon = GetPlacement () . pl_PositionVector + vRelWeapon * GetRotationMatrix (); #line 1687 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fFireTime = _pTimer -> CurrentTick () + m_fAdjustWeaponTime ; #line 1688 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vEnemy = m_penEnemy -> GetPlacement () . pl_PositionVector ; #line 1689 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vDir = (vEnemy - vAbsWeapon ) . Normalize (); #line 1690 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ANGLE3D aAngles ; #line 1691 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" DirectionVectorToAngles (vDir , aAngles ); #line 1692 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPlacement3D plRelPl = CPlacement3D (FLOAT3D (0 , 0 , 0) , aAngles ); #line 1693 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" plRelPl . AbsoluteToRelative (GetPlacement ()); #line 1694 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fWantedHdg = plRelPl . pl_OrientationAngle (1); #line 1695 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fWantedPitch = plRelPl . pl_OrientationAngle (2); #line 1698 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_iAttID == DEVIL_ATTACHMENT_PROJECTILEGUN ) #line 1699 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1700 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vShooting = GetPlacement () . pl_PositionVector ; #line 1701 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vTarget = m_penEnemy -> GetPlacement () . pl_PositionVector ; #line 1702 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fDistanceFactor = 1.0f - ClampUp ((vShooting - vTarget ) . Length () / 250.0f , 1.0f); #line 1703 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" fWantedPitch = 20 - fDistanceFactor * 50.0f; #line 1704 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1706 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CAttachmentModelObject & amo = * GetModelObject () -> GetAttachmentModel (m_iAttID ); #line 1707 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fDeltaWeaponHdg = (fWantedHdg - amo . amo_plRelative . pl_OrientationAngle (1)) / (m_fAdjustWeaponTime / _pTimer -> TickQuantum ); #line 1708 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fDeltaWeaponPitch = (fWantedPitch - amo . amo_plRelative . pl_OrientationAngle (2)) / (m_fAdjustWeaponTime / _pTimer -> TickQuantum ); #line 1709 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c00bf, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c00bf_AdjustWeaponForFire_03(const CEntityEvent &__eeInput) #line 1710 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00bf if(!(m_fFireTime > _pTimer -> CurrentTick ())){ Jump(STATE_CURRENT,0x014c00c0, FALSE, EInternal());return TRUE;} #line 1711 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x014c00bd, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00bd_AdjustWeaponForFire_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00bd switch(__eeInput.ee_slEvent) #line 1712 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {case(EVENTCODE_EBegin): #line 1714 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {const EBegin&e= (EBegin&)__eeInput; #line 1715 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CAttachmentModelObject & amo = * GetModelObject () -> GetAttachmentModel (m_iAttID ); #line 1716 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" amo . amo_plRelative . pl_OrientationAngle (1) += m_fDeltaWeaponHdg ; #line 1717 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" amo . amo_plRelative . pl_OrientationAngle (2) += m_fDeltaWeaponPitch ; #line 1718 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 1719 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x014c00be, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break; #line 1721 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c00be_AdjustWeaponForFire_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00be Jump(STATE_CURRENT,0x014c00bf, FALSE, EInternal());return TRUE; #line 1722 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c00c0_AdjustWeaponForFire_04(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00c0 #line 1723 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1723 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1726 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StraightenUpWeapon(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_StraightenUpWeapon ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::StraightenUpWeapon expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1728 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fAdjustWeaponTime = 0.25f; #line 1729 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fFireTime = _pTimer -> CurrentTick () + fAdjustWeaponTime ; #line 1731 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CAttachmentModelObject & amo = * GetModelObject () -> GetAttachmentModel (m_iAttID ); #line 1732 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fDeltaWeaponHdg = amo . amo_plRelative . pl_OrientationAngle (1) / (fAdjustWeaponTime / _pTimer -> TickQuantum ); #line 1733 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fDeltaWeaponPitch = amo . amo_plRelative . pl_OrientationAngle (2) / (fAdjustWeaponTime / _pTimer -> TickQuantum ); #line 1734 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c00c4, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c00c4_StraightenUpWeapon_03(const CEntityEvent &__eeInput) #line 1735 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00c4 if(!(m_fFireTime > _pTimer -> CurrentTick ())){ Jump(STATE_CURRENT,0x014c00c5, FALSE, EInternal());return TRUE;} #line 1736 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x014c00c2, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00c2_StraightenUpWeapon_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00c2 switch(__eeInput.ee_slEvent) #line 1737 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {case(EVENTCODE_EBegin): #line 1739 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {const EBegin&e= (EBegin&)__eeInput; #line 1740 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CAttachmentModelObject & amo = * GetModelObject () -> GetAttachmentModel (m_iAttID ); #line 1741 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" amo . amo_plRelative . pl_OrientationAngle (1) -= m_fDeltaWeaponHdg ; #line 1742 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" amo . amo_plRelative . pl_OrientationAngle (2) -= m_fDeltaWeaponPitch ; #line 1743 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 1744 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x014c00c3, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break; #line 1746 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c00c3_StraightenUpWeapon_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00c3 Jump(STATE_CURRENT,0x014c00c4, FALSE, EInternal());return TRUE; #line 1747 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c00c5_StraightenUpWeapon_04(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00c5 #line 1748 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1748 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1751 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FireLaser(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_FireLaser ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::FireLaser expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1753 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkOrIdleToEnd, TRUE; Jump(STATE_CURRENT, 0x014c00c7, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00c7_FireLaser_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00c7 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkOrIdleToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00c8, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00c8_FireLaser_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00c8 const EReturn&__e= (EReturn&)__eeInput; ; #line 1756 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_FROMIDLETOATTACK01 , AOF_SMOOTHCHANGE ); #line 1757 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_FROMIDLETOATTACK01 ) - 0.1f); Jump(STATE_CURRENT, 0x014c00c9, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00c9_FireLaser_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00c9 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00ca, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00ca_FireLaser_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ca ; #line 1758 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_ATTACK01 , AOF_SMOOTHCHANGE | AOF_LOOPING ); #line 1760 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iAttID = DEVIL_ATTACHMENT_LASER ; #line 1761 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAdjustWeaponTime = 0.25f; #line 1762 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_AdjustWeaponForFire, TRUE; Jump(STATE_CURRENT, 0x014c00cb, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00cb_FireLaser_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00cb switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_AdjustWeaponForFire, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00cc, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00cc_FireLaser_06(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00cc const EReturn&__e= (EReturn&)__eeInput; ; #line 1765 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartFireLaser (); #line 1766 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles = 0; #line 1767 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c00d1, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c00d1_FireLaser_11(const CEntityEvent &__eeInput) #line 1768 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00d1 if(!(m_iFiredProjectiles < m_iToFireProjectiles * 10)){ Jump(STATE_CURRENT,0x014c00d2, FALSE, EInternal());return TRUE;} #line 1769 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_DevilLockOnEnemy, TRUE; Jump(STATE_CURRENT, 0x014c00cd, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00cd_FireLaser_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00cd switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_DevilLockOnEnemy, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00ce, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00ce_FireLaser_08(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ce const EReturn&__e= (EReturn&)__eeInput; ; #line 1770 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmLastPause = 0.1f * m_fPauseStretcher ; #line 1771 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(m_tmLastPause ); Jump(STATE_CURRENT, 0x014c00cf, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00cf_FireLaser_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00cf switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00d0, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00d0_FireLaser_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00d0 ; #line 1773 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fPredictionRatio = (FRnd () - 0.5f) * 0.25f; #line 1774 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_iFiredProjectiles & 1) #line 1775 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1776 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" fPredictionRatio = 1.0f; #line 1777 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1778 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fDeltaPitch = (FRnd () - 0.5f) * 1.0f; #line 1779 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FireOneLaser (fPredictionRatio , fDeltaPitch ); #line 1780 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles ++; #line 1781 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! IsInFrustum (m_penEnemy , CosFast (30.0f))){ #line 1782 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles = 10000; #line 1783 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }Jump(STATE_CURRENT,0x014c00d1, FALSE, EInternal());return TRUE; #line 1784 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c00d2_FireLaser_12(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00d2 #line 1785 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_StraightenUpWeapon, TRUE; Jump(STATE_CURRENT, 0x014c00d3, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00d3_FireLaser_13(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00d3 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_StraightenUpWeapon, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00d4, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00d4_FireLaser_14(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00d4 const EReturn&__e= (EReturn&)__eeInput; ; #line 1786 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopFireLaser (); #line 1792 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" MaybeSwitchToAnotherPlayer (); #line 1795 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1795 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1798 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FireRocketLauncher(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_FireRocketLauncher ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::FireRocketLauncher expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1800 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkOrIdleToEnd, TRUE; Jump(STATE_CURRENT, 0x014c00d6, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00d6_FireRocketLauncher_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00d6 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkOrIdleToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00d7, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00d7_FireRocketLauncher_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00d7 const EReturn&__e= (EReturn&)__eeInput; ; #line 1803 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_FROMIDLETOATTACK02 , AOF_SMOOTHCHANGE ); #line 1804 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_FROMIDLETOATTACK02 ) - 0.1f); Jump(STATE_CURRENT, 0x014c00d8, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00d8_FireRocketLauncher_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00d8 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00d9, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00d9_FireRocketLauncher_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00d9 ; #line 1805 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_ATTACK02 , AOF_SMOOTHCHANGE | AOF_LOOPING ); #line 1807 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iAttID = DEVIL_ATTACHMENT_ROCKETLAUNCHER ; #line 1808 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAdjustWeaponTime = 0.5f; #line 1809 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_AdjustWeaponForFire, TRUE; Jump(STATE_CURRENT, 0x014c00da, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00da_FireRocketLauncher_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00da switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_AdjustWeaponForFire, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00db, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00db_FireRocketLauncher_06(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00db const EReturn&__e= (EReturn&)__eeInput; ; #line 1812 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartFireRocket (); #line 1813 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles = 0; #line 1814 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c00e0, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c00e0_FireRocketLauncher_11(const CEntityEvent &__eeInput) #line 1815 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00e0 if(!(m_iFiredProjectiles < m_iToFireProjectiles )){ Jump(STATE_CURRENT,0x014c00e1, FALSE, EInternal());return TRUE;} #line 1816 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_DevilLockOnEnemy, TRUE; Jump(STATE_CURRENT, 0x014c00dc, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00dc_FireRocketLauncher_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00dc switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_DevilLockOnEnemy, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00dd, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00dd_FireRocketLauncher_08(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00dd const EReturn&__e= (EReturn&)__eeInput; ; #line 1817 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmLastPause = 0.5f + 0.3f * m_fPauseStretcher ; #line 1818 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(m_tmLastPause ); Jump(STATE_CURRENT, 0x014c00de, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00de_FireRocketLauncher_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00de switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00df, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00df_FireRocketLauncher_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00df ; #line 1819 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT fPredictionRatio = 0.25f + m_iFiredProjectiles * (0.75f / m_iToFireProjectiles ); #line 1820 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" fPredictionRatio = 1.0f; #line 1821 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles ++; #line 1823 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FireOneRocket (fPredictionRatio ); #line 1824 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! IsInFrustum (m_penEnemy , CosFast (30.0f))){ #line 1825 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles = 10000; #line 1826 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }Jump(STATE_CURRENT,0x014c00e0, FALSE, EInternal());return TRUE; #line 1827 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c00e1_FireRocketLauncher_12(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00e1 #line 1828 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_StraightenUpWeapon, TRUE; Jump(STATE_CURRENT, 0x014c00e2, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00e2_FireRocketLauncher_13(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00e2 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_StraightenUpWeapon, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00e3, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00e3_FireRocketLauncher_14(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00e3 const EReturn&__e= (EReturn&)__eeInput; ; #line 1829 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopFireRocket (); #line 1835 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" MaybeSwitchToAnotherPlayer (); #line 1838 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1838 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1841 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FirePredictedProjectile(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_FirePredictedProjectile ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::FirePredictedProjectile expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1843 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkOrIdleToEnd, TRUE; Jump(STATE_CURRENT, 0x014c00e5, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00e5_FirePredictedProjectile_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00e5 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkOrIdleToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00e6, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00e6_FirePredictedProjectile_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00e6 const EReturn&__e= (EReturn&)__eeInput; ; #line 1846 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_FROMIDLETOATTACK01 , AOF_SMOOTHCHANGE ); #line 1847 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_FROMIDLETOATTACK01 ) - 0.1f); Jump(STATE_CURRENT, 0x014c00e7, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00e7_FirePredictedProjectile_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00e7 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00e8, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00e8_FirePredictedProjectile_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00e8 ; #line 1848 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_ATTACK01 , AOF_SMOOTHCHANGE | AOF_LOOPING ); #line 1850 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iAttID = DEVIL_ATTACHMENT_PROJECTILEGUN ; #line 1851 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAdjustWeaponTime = 0.5f; #line 1852 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_AdjustWeaponForFire, TRUE; Jump(STATE_CURRENT, 0x014c00e9, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00e9_FirePredictedProjectile_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00e9 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_AdjustWeaponForFire, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00ea, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00ea_FirePredictedProjectile_06(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ea const EReturn&__e= (EReturn&)__eeInput; ; #line 1855 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles = 0; #line 1856 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c00ef, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c00ef_FirePredictedProjectile_11(const CEntityEvent &__eeInput) #line 1857 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ef if(!(m_iFiredProjectiles < m_iToFireProjectiles )){ Jump(STATE_CURRENT,0x014c00f0, FALSE, EInternal());return TRUE;} #line 1858 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAdjustWeaponTime = 0.45f; #line 1859 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_AdjustWeaponForFire, TRUE; Jump(STATE_CURRENT, 0x014c00eb, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00eb_FirePredictedProjectile_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00eb switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_AdjustWeaponForFire, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00ec, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00ec_FirePredictedProjectile_08(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ec const EReturn&__e= (EReturn&)__eeInput; ; #line 1860 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" F_FirePredictedProjectile (); #line 1861 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.8f - m_fAdjustWeaponTime ); Jump(STATE_CURRENT, 0x014c00ed, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00ed_FirePredictedProjectile_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ed switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00ee, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00ee_FirePredictedProjectile_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ee ; #line 1862 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles ++; #line 1863 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! IsInFrustum (m_penEnemy , CosFast (30.0f))){ #line 1864 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles = 10000; #line 1865 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }Jump(STATE_CURRENT,0x014c00ef, FALSE, EInternal());return TRUE; #line 1866 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c00f0_FirePredictedProjectile_12(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00f0 #line 1867 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_StraightenUpWeapon, TRUE; Jump(STATE_CURRENT, 0x014c00f1, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00f1_FirePredictedProjectile_13(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00f1 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_StraightenUpWeapon, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00f2, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00f2_FirePredictedProjectile_14(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00f2 const EReturn&__e= (EReturn&)__eeInput; ; #line 1870 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_FROMATTACK01TOIDLE , AOF_SMOOTHCHANGE ); #line 1876 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" MaybeSwitchToAnotherPlayer (); #line 1879 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1879 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1882 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FireElectricityGun(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_FireElectricityGun ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::FireElectricityGun expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1884 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkOrIdleToEnd, TRUE; Jump(STATE_CURRENT, 0x014c00f4, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00f4_FireElectricityGun_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00f4 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkOrIdleToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00f5, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00f5_FireElectricityGun_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00f5 const EReturn&__e= (EReturn&)__eeInput; ; #line 1887 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_FROMIDLETOATTACK02 , AOF_SMOOTHCHANGE ); #line 1888 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_FROMIDLETOATTACK02 ) - 0.1f); Jump(STATE_CURRENT, 0x014c00f6, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00f6_FireElectricityGun_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00f6 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00f7, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00f7_FireElectricityGun_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00f7 ; #line 1889 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_ATTACK02 , AOF_SMOOTHCHANGE | AOF_LOOPING ); #line 1891 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iAttID = DEVIL_ATTACHMENT_ELETRICITYGUN ; #line 1892 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAdjustWeaponTime = 0.5f; #line 1896 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles = 0; #line 1897 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c0102, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0102_FireElectricityGun_15(const CEntityEvent &__eeInput) #line 1898 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0102 if(!(m_iFiredProjectiles < m_iToFireProjectiles )){ Jump(STATE_CURRENT,0x014c0103, FALSE, EInternal());return TRUE;} #line 1899 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAdjustWeaponTime = 0.45f; #line 1900 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_AdjustWeaponForFire, TRUE; Jump(STATE_CURRENT, 0x014c00f8, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00f8_FireElectricityGun_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00f8 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_AdjustWeaponForFire, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c00f9, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00f9_FireElectricityGun_06(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c00f9 const EReturn&__e= (EReturn&)__eeInput; ; #line 1903 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" const FLOATmatrix3D & m = GetRotationMatrix (); #line 1904 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vElectricitySource = GetFireingPositionAbsolute (); #line 1907 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" EntityInfo * peiTarget = (EntityInfo *) (m_penEnemy -> GetEntityInfo ()); #line 1908 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetEntityInfoPosition (m_penEnemy , peiTarget -> vTargetCenter , m_vElectricityTarget ); #line 1911 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.4f); Jump(STATE_CURRENT, 0x014c00fa, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00fa_FireElectricityGun_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00fa switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c00fb, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c00fb_FireElectricityGun_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00fb ; #line 1914 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bRenderElectricity = TRUE ; #line 1915 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmTemp = _pTimer -> CurrentTick (); #line 1916 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmNextFXTime = m_tmTemp - _pTimer -> TickQuantum ; #line 1917 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayWeaponSound (SOUND_GHOSTBUSTER ); #line 1918 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c00fe, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c00fe_FireElectricityGun_11(const CEntityEvent &__eeInput) #line 1919 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00fe if(!(_pTimer -> CurrentTick () < m_tmTemp + 0.75f)){ Jump(STATE_CURRENT,0x014c00ff, FALSE, EInternal());return TRUE;} #line 1920 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x014c00fc, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c00fc_FireElectricityGun_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c00fc switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; #line 1923 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vNewTarget ; #line 1924 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" EntityInfo * peiTarget = (EntityInfo *) (m_penEnemy -> GetEntityInfo ()); #line 1925 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetEntityInfoPosition (m_penEnemy , peiTarget -> vTargetCenter , vNewTarget ); #line 1926 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D vDiff = vNewTarget - m_vElectricityTarget ; #line 1928 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(vDiff . Length () > 1.0f) #line 1929 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1931 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vElectricityTarget = m_vElectricityTarget + vDiff . Normalize () * 10.0f * _pTimer -> TickQuantum ; #line 1932 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1935 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CCastRay crRay (this , m_vElectricitySource , m_vElectricityTarget ); #line 1936 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" crRay . cr_bHitTranslucentPortals = FALSE ; #line 1937 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" crRay . cr_bPhysical = FALSE ; #line 1938 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" crRay . cr_ttHitModels = CCastRay :: TT_COLLISIONBOX ; #line 1939 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetWorld () -> CastRay (crRay ); #line 1941 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(crRay . cr_penHit != NULL ) #line 1942 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1944 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" InflictDirectDamage (crRay . cr_penHit , this , DMT_BULLET , 50.0f * _pTimer -> TickQuantum / 0.5f , #line 1945 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT3D (0 , 0 , 0) , (m_vElectricitySource - m_vElectricityTarget ) . Normalize ()); #line 1946 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1948 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(_pTimer -> CurrentTick () > m_tmNextFXTime ) #line 1949 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 1950 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmNextFXTime = _pTimer -> CurrentTick () + 0.125f + FRnd () * 0.125f; #line 1951 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPlacement3D plElectricityTarget = CPlacement3D (m_vElectricityTarget , ANGLE3D (0 , 0 , 0)); #line 1952 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEntity * penEffector = CreateEntity (plElectricityTarget , CLASS_EFFECTOR ); #line 1954 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ESpawnEffector eSpawnEffector ; #line 1955 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eSpawnEffector . tmLifeTime = 6.0f; #line 1956 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eSpawnEffector . fSize = 0.025f; #line 1957 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eSpawnEffector . eetType = ET_HIT_GROUND ; #line 1958 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" eSpawnEffector . vDamageDir = FLOAT3D (0.0f , 2.0f , 0.0f); #line 1960 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" penEffector -> Initialize (eSpawnEffector ); #line 1961 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 1963 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 1964 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x014c00fd, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break; #line 1966 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c00fd_FireElectricityGun_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00fd Jump(STATE_CURRENT,0x014c00fe, FALSE, EInternal());return TRUE; #line 1967 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c00ff_FireElectricityGun_12(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c00ff #line 1968 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soSound . Stop (); #line 1969 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bRenderElectricity = FALSE ; #line 1971 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.8f - m_fAdjustWeaponTime ); Jump(STATE_CURRENT, 0x014c0100, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0100_FireElectricityGun_13(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0100 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0101, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0101_FireElectricityGun_14(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0101 ; #line 1972 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles ++; #line 1973 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! IsInFrustum (m_penEnemy , CosFast (30.0f))){ #line 1974 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles = 10000; #line 1975 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }Jump(STATE_CURRENT,0x014c0102, FALSE, EInternal());return TRUE; #line 1976 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c0103_FireElectricityGun_16(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0103 #line 1977 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_StraightenUpWeapon, TRUE; Jump(STATE_CURRENT, 0x014c0104, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0104_FireElectricityGun_17(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0104 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_StraightenUpWeapon, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0105, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0105_FireElectricityGun_18(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0105 const EReturn&__e= (EReturn&)__eeInput; ; #line 1980 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_FROMATTACK02TOIDLE , AOF_SMOOTHCHANGE ); #line 1984 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" MaybeSwitchToAnotherPlayer (); #line 1987 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 1987 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 1990 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FireGuidedProjectile(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_FireGuidedProjectile ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::FireGuidedProjectile expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 1992 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitWalkOrIdleToEnd, TRUE; Jump(STATE_CURRENT, 0x014c0107, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0107_FireGuidedProjectile_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0107 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitWalkOrIdleToEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0108, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0108_FireGuidedProjectile_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0108 const EReturn&__e= (EReturn&)__eeInput; ; #line 1994 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_ATTACKBREATHSTART , AOF_SMOOTHCHANGE ); #line 1995 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c0109, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0109_FireGuidedProjectile_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0109 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c010a, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c010a_FireGuidedProjectile_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c010a const EReturn&__e= (EReturn&)__eeInput; ; #line 1996 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soLeft , SOUND_ATTACK_BREATH_START , SOF_3D ); #line 1998 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_ATTACKBREATH , AOF_SMOOTHCHANGE ); #line 1999 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE; Jump(STATE_CURRENT, 0x014c010b, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c010b_FireGuidedProjectile_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c010b switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CMovableModelEntity_WaitUntilScheduledAnimStarts, FALSE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c010c, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c010c_FireGuidedProjectile_06(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c010c const EReturn&__e= (EReturn&)__eeInput; ; #line 2000 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soRight , SOUND_ATTACK_BREATH_LOOP , SOF_LOOP | SOF_3D ); #line 2003 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles = 0; #line 2004 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmFireBreathStart = _pTimer -> CurrentTick (); #line 2005 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmFireBreathStop = UpperLimit (0.0f); #line 2007 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" const FLOATmatrix3D & m = GetRotationMatrix (); #line 2008 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vFireBreathSource = GetPlacement () . pl_PositionVector + MAGIC_PROJECTILE_EXIT * m ; #line 2009 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vFireBreathTarget = m_penEnemy -> GetPlacement () . pl_PositionVector - FLOAT3D (0 , 20.0f , 0); #line 2010 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c0111, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0111_FireGuidedProjectile_11(const CEntityEvent &__eeInput) #line 2011 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0111 if(!(m_iFiredProjectiles < m_iToFireProjectiles )){ Jump(STATE_CURRENT,0x014c0112, FALSE, EInternal());return TRUE;} #line 2012 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmLastPause = 0.45f; #line 2013 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(m_tmLastPause ); Jump(STATE_CURRENT, 0x014c010d, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c010d_FireGuidedProjectile_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c010d switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c010e, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c010e_FireGuidedProjectile_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c010e ; #line 2015 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ShootProjectile (PRT_DEVIL_GUIDED_PROJECTILE , MAGIC_PROJECTILE_EXIT , #line 2016 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ANGLE3D (AngleDeg (10.0f * Cos (m_iFiredProjectiles * 360.0 / 6.0f)) , - AngleDeg (20.0f * Sin (m_iFiredProjectiles * 180.0 / 6.0f)) , 0)); #line 2017 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayWeaponSound (SOUND_ATTACK_BREATH_FIRE ); #line 2019 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.8f - m_tmLastPause ); Jump(STATE_CURRENT, 0x014c010f, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c010f_FireGuidedProjectile_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c010f switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0110, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0110_FireGuidedProjectile_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0110 ; #line 2020 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iFiredProjectiles ++;Jump(STATE_CURRENT,0x014c0111, FALSE, EInternal());return TRUE; #line 2021 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c0112_FireGuidedProjectile_12(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0112 #line 2022 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopFireBreathParticles (); #line 2024 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_WaitCurrentAnimEnd, TRUE; Jump(STATE_CURRENT, 0x014c0113, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0113_FireGuidedProjectile_13(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0113 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_WaitCurrentAnimEnd, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0114, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0114_FireGuidedProjectile_14(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0114 const EReturn&__e= (EReturn&)__eeInput; ; #line 2025 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_ATTACK_BREATH_END , SOF_3D ); #line 2026 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soRight . Stop (); #line 2027 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_ATTACKBREATHEND , AOF_SMOOTHCHANGE ); #line 2029 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" MaybeSwitchToAnotherPlayer (); #line 2032 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 2032 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 2036 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" JumpIntoPyramid(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_JumpIntoPyramid ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::JumpIntoPyramid expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 2039 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" TurnOffPhysics (); #line 2040 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopMoving (); #line 2043 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" RemoveWeapons (); #line 2044 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTargetNone (); #line 2045 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetPlacement (m_plTeleport ); #line 2046 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_CLIMB , 0); #line 2047 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soJumpIntoPyramid , SOUND_CLIMB , SOF_3D ); #line 2048 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(7.0f); Jump(STATE_CURRENT, 0x014c0116, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0116_JumpIntoPyramid_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0116 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0117, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0117_JumpIntoPyramid_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0117 ; #line 2051 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmTemp = _pTimer -> CurrentTick (); #line 2052 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c011a, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c011a_JumpIntoPyramid_05(const CEntityEvent &__eeInput) #line 2053 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c011a if(!(_pTimer -> CurrentTick () < m_tmTemp + 0.7f)){ Jump(STATE_CURRENT,0x014c011b, FALSE, EInternal());return TRUE;} #line 2054 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x014c0118, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0118_JumpIntoPyramid_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0118 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x014c0119, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default:{return TRUE;}ASSERT(FALSE);break; #line 2058 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c0119_JumpIntoPyramid_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0119 #line 2059 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPlacement3D plCurrent = GetPlacement (); #line 2060 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" FLOAT aDelta = - 35.0f / 0.7f * _pTimer -> TickQuantum ; #line 2061 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" plCurrent . pl_OrientationAngle += FLOAT3D (aDelta , 0 , 0); #line 2062 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetPlacement (plCurrent );Jump(STATE_CURRENT,0x014c011a, FALSE, EInternal());return TRUE; #line 2063 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c011b_JumpIntoPyramid_06(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c011b #line 2065 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ShakeItFarBaby (_pTimer -> CurrentTick () , 1.5f); #line 2066 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_CLIMB ) - 7.335f - _pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x014c011c, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c011c_JumpIntoPyramid_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c011c switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c011d, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c011d_JumpIntoPyramid_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c011d ; #line 2068 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SelectRandomAnger (); #line 2069 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (m_iAngryAnim , 0); #line 2070 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , m_iAngrySound , SOF_3D ); #line 2071 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (m_iAngryAnim ) - 0.1f); Jump(STATE_CURRENT, 0x014c011e, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c011e_JumpIntoPyramid_09(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c011e switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c011f, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c011f_JumpIntoPyramid_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c011f ; #line 2073 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopMoving (); #line 2074 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopRotating (); #line 2075 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" TurnOnPhysics (); #line 2076 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_GrabBothWeapons, TRUE; Jump(STATE_CURRENT, 0x014c0120, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0120_JumpIntoPyramid_11(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0120 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_GrabBothWeapons, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0121, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0121_JumpIntoPyramid_12(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0121 const EReturn&__e= (EReturn&)__eeInput; ; #line 2078 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = DS_PYRAMID_FIGHT ; #line 2079 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dapAttackPower = DAP_MEDIUM_POWER_ATTACK ; #line 2080 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackRadius = 1e6f; #line 2081 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackRunSpeed = 8.0f; #line 2083 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 2083 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 2086 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" TeleportIntoPyramid(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_TeleportIntoPyramid ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::TeleportIntoPyramid expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 2089 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" RemoveWeapons (); #line 2090 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTargetNone (); #line 2091 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Teleport (m_plTeleport , FALSE ); #line 2092 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopMoving (); #line 2093 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopRotating (); #line 2095 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SelectRandomAnger (); #line 2096 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (m_iAngryAnim , 0); #line 2097 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , m_iAngrySound , SOF_3D ); #line 2098 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (m_iAngryAnim ) - 0.1f); Jump(STATE_CURRENT, 0x014c0123, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0123_TeleportIntoPyramid_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0123 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0124, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0124_TeleportIntoPyramid_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0124 ; #line 2100 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" TurnOnPhysics (); #line 2101 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_GrabBothWeapons, TRUE; Jump(STATE_CURRENT, 0x014c0125, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0125_TeleportIntoPyramid_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0125 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_GrabBothWeapons, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c0126, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0126_TeleportIntoPyramid_04(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c0126 const EReturn&__e= (EReturn&)__eeInput; ; #line 2103 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = DS_PYRAMID_FIGHT ; #line 2104 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dapAttackPower = DAP_MEDIUM_POWER_ATTACK ; #line 2105 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackRadius = 1e6f; #line 2106 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackRunSpeed = 8.0f; #line 2108 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 2108 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 2111 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" RegenerationImpulse(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_RegenerationImpulse ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::RegenerationImpulse expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 2113 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsPreRegenerationDevilState = m_dsDevilState ; #line 2114 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = DS_REGENERATION_IMPULSE ; #line 2115 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_HEAL , 0); #line 2116 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soSound , SOUND_HEAL , SOF_3D ); #line 2118 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopFireBreathParticles (); #line 2119 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmRegenerationStart = _pTimer -> CurrentTick (); #line 2120 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmRegenerationStop = m_tmRegenerationStart + TM_HEALTH_IMPULSE - 1.5f; #line 2122 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmTemp = _pTimer -> CurrentTick (); #line 2123 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT,0x014c012a, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c012a_RegenerationImpulse_03(const CEntityEvent &__eeInput) #line 2124 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c012a if(!(_pTimer -> CurrentTick () < m_tmTemp + TM_HEALTH_IMPULSE )){ Jump(STATE_CURRENT,0x014c012b, FALSE, EInternal());return TRUE;} #line 2125 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x014c0128, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0128_RegenerationImpulse_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0128 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x014c0129, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default:{return TRUE;}ASSERT(FALSE);break; #line 2129 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c0129_RegenerationImpulse_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0129 #line 2130 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetHealth (GetHealth () + HEALTH_IMPULSE * _pTimer -> TickQuantum / TM_HEALTH_IMPULSE );Jump(STATE_CURRENT,0x014c012a, FALSE, EInternal());return TRUE; #line 2131 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }BOOL CDevil::H0x014c012b_RegenerationImpulse_04(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c012b #line 2132 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = m_dsPreRegenerationDevilState ; #line 2134 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EReturn ()); #line 2134 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 2137 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopAttack(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_StopAttack ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::StopAttack expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 2138 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(!(m_penEnemy == NULL )){ Jump(STATE_CURRENT,0x014c012f, FALSE, EInternal());return TRUE;} #line 2140 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" STATE_CDevil_Celebrate, TRUE; Jump(STATE_CURRENT, 0x014c012d, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c012d_StopAttack_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c012d switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CDevil_Celebrate, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x014c012e, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c012e_StopAttack_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x014c012e const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x014c012f, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c012f_StopAttack_03(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c012f #line 2143 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CEnemyBase_StopAttack, FALSE, EVoid());return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 2146 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ContinueInMainLoop(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_ContinueInMainLoop ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::ContinueInMainLoop expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 2148 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SwitchToModel (); #line 2150 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! m_bWasOnceInMainLoop ) #line 2151 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2152 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bWasOnceInMainLoop = TRUE ; #line 2153 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CEnemyBase_MainLoop, FALSE, EVoid());return TRUE; #line 2154 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2155 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else #line 2156 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2158 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CEntity * penEnemy = FixupCausedToPlayer (this , m_penEnemy , FALSE ); #line 2159 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(penEnemy != m_penEnemy ){ #line 2160 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTargetSoft (penEnemy ); #line 2161 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2163 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CEnemyBase_StandardBehavior, FALSE, EVoid());return TRUE; #line 2164 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 2167 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" MPIntro(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_MPIntro ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::MPIntro expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 2169 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = DS_PYRAMID_FIGHT ; #line 2170 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CDevil_ContinueInMainLoop, TRUE, EVoid());return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 2176 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Death(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_Death ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::Death expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 2177 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetFlags (GetFlags () & ~ ENF_ALIVE ); #line 2178 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopFireBreathParticles (); #line 2179 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopRegenerationParticles (); #line 2181 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StopMoving (); #line 2182 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" DeathSound (); #line 2184 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetCollisionFlags (ECF_MODEL ); #line 2186 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" AnimForDeath (); #line 2187 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(4.66f); Jump(STATE_CURRENT, 0x014c0133, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0133_Death_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0133 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0134, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0134_Death_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0134 ; #line 2188 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ShakeItFarBaby (_pTimer -> CurrentTick () , 5.0f); #line 2189 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(GetModelObject () -> GetAnimLength (DEVIL_ANIM_DEATH ) - 4.66f); Jump(STATE_CURRENT, 0x014c0135, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0135_Death_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0135 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0136, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0136_Death_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0136 ; #line 2190 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmDeathTime = _pTimer -> CurrentTick (); #line 2192 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CWorldSettingsController * pwsc = GetWSC (this ); #line 2193 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(pwsc != NULL ) #line 2194 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2195 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_colGlade = C_WHITE ; #line 2196 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_tmGlaringStarted = _pTimer -> CurrentTick () + 1.5f; #line 2197 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_tmGlaringEnded = pwsc -> m_tmGlaringStarted + 1.0f , #line 2198 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fGlaringFadeInRatio = 0.2f; #line 2199 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" pwsc -> m_fGlaringFadeOutRatio = 0.7f; #line 2200 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2201 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(1.5f); Jump(STATE_CURRENT, 0x014c0137, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0137_Death_05(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0137 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c0138, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c0138_Death_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0138 ; #line 2202 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soLeft , SOUND_DISAPPEAR , SOF_3D | SOF_VOLUMETRIC ); #line 2203 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.25f); Jump(STATE_CURRENT, 0x014c0139, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0139_Death_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0139 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c013a, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c013a_Death_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c013a ; #line 2204 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SwitchToEditorModel (); #line 2206 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlaySound (m_soRight , SOUND_DEATHPARTICLES , SOF_3D ); #line 2207 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Return(STATE_CURRENT,EEnd ()); #line 2207 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CDevil:: #line 2213 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Main(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CDevil_Main ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CDevil::Main expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 2214 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_sptType = SPT_NONE ; #line 2216 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" InitAsEditorModel (); #line 2217 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetPhysicsFlags (EPF_MODEL_WALKING & ~ EPF_TRANSLATEDBYGRAVITY ); #line 2218 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetCollisionFlags (((ECBI_MODEL ) << ECB_TEST ) | ((ECBI_MODEL ) << ECB_PASS ) | ((ECBI_ITEM ) << ECB_IS )); #line 2219 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetFlags (GetFlags () | ENF_ALIVE ); #line 2222 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bBoss = TRUE ; #line 2223 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! m_bForMPIntro ) #line 2224 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2225 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetHealth (BOSS_HEALTH ); #line 2226 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2227 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else #line 2228 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2229 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetHealth (5000); #line 2230 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2231 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fMaxHealth = BOSS_HEALTH ; #line 2232 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fBlowUpAmount = 1e6; #line 2233 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fBodyParts = 6; #line 2234 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fDamageWounded = 1e9; #line 2235 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" en_fDensity = 2500.0f; #line 2236 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bHasUpperWeapons = FALSE ; #line 2237 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bRenderElectricity = FALSE ; #line 2238 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bOnStartPosition = FALSE ; #line 2239 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmGiveUp = UpperLimit (0.0f); #line 2240 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmDeathTime = - 1.0f; #line 2255 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetComponents (this , * GetModelObject () , MODEL_DEVIL , TEXTURE_DEVIL , 0 , 0 , 0); #line 2258 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> StretchModel (FLOAT3D (SIZE , SIZE , SIZE )); #line 2259 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" ModelChangeNotify (); #line 2261 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StandingAnim (); #line 2264 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fWalkSpeed = 10.0f; #line 2265 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_aWalkRotateSpeed = AngleDeg (90.0f); #line 2266 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackRunSpeed = 8.0f; #line 2267 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_aAttackRotateSpeed = AngleDeg (90.0f); #line 2268 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fCloseRunSpeed = 8.0f; #line 2269 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_aCloseRotateSpeed = AngleDeg (90.0f); #line 2271 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackDistance = 1e24f; #line 2272 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fCloseDistance = 50.0f; #line 2273 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fStopDistance = 10.0f; #line 2274 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackFireTime = 10.0f; #line 2275 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fCloseFireTime = 5.0f; #line 2276 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fIgnoreRange = UpperLimit (0.0f); #line 2277 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" en_fAcceleration = en_fDeceleration = 50.0f; #line 2278 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fLockOnEnemyTime = 0.05f; #line 2279 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fPauseStretcher = 1.0f; #line 2280 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bWasOnceInMainLoop = FALSE ; #line 2283 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetupLightSource (); #line 2285 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" try { #line 2286 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_aoLightAnimation . SetData_t (CTFILENAME ("Animations\\BasicEffects.ani")); #line 2287 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }catch (char * strError ){ #line 2288 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" WarningMessage (TRANS ("Cannot load Animations\\BasicEffects.ani: %s") , strError ); #line 2289 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2290 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" PlayLightAnim (LIGHT_ANIM_NONE , 0); #line 2292 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAfter(0.1f); Jump(STATE_CURRENT, 0x014c013b, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c013b_Main_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c013b switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x014c013c, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CDevil::H0x014c013c_Main_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c013c ; #line 2294 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_iScore = 0; #line 2296 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(!(! m_bForMPIntro )){ Jump(STATE_CURRENT,0x014c0140, FALSE, EInternal());return TRUE;} #line 2298 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_POSEDOWN , 0); #line 2299 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x014c013d, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c013d_Main_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c013d switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ETrigger):{const ETrigger&e= (ETrigger&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x014c013e, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break; #line 2302 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c013e_Main_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c013e Jump(STATE_CURRENT,0x014c013f, FALSE, EInternal());return TRUE;}BOOL CDevil::H0x014c0140_Main_06(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0140 #line 2305 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2306 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" StartModelAnim (DEVIL_ANIM_DEFAULT , 0); #line 2307 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }Jump(STATE_CURRENT,0x014c013f, FALSE, EInternal());return TRUE;} BOOL CDevil::H0x014c013f_Main_05(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c013f #line 2309 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SwitchToModel (); #line 2312 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = DS_NOT_EXISTING ; #line 2314 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x014c0141, FALSE, EBegin());return TRUE;}BOOL CDevil::H0x014c0141_Main_07(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x014c0141 switch(__eeInput.ee_slEvent) #line 2315 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; #line 2317 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDebugFinalBoss ) #line 2318 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2319 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Main loop, event: Begin\n"); #line 2320 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2321 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! m_bForMPIntro ) #line 2322 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2323 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_dsDevilState == DS_NOT_EXISTING ) #line 2324 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2325 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = DS_DESTROYING_CITY ; #line 2326 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Call(STATE_CURRENT, STATE_CDevil_DestroyCity, TRUE, EVoid());return TRUE; #line 2327 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2328 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2329 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 2330 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_ETrigger): #line 2332 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {const ETrigger&e= (ETrigger&)__eeInput; #line 2333 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDebugFinalBoss ) #line 2334 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2335 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Main loop, event: Trigger\n"); #line 2336 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2337 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 2338 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_EDevilCommand): #line 2340 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {const EDevilCommand&eDevilCommand= (EDevilCommand&)__eeInput; #line 2341 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDebugFinalBoss ) #line 2342 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2343 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CTString strDevilCommand = DevilCommandType_enum . NameForValue (INDEX (eDevilCommand . dctType )); #line 2344 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Main loop, event: Devil command: %s\n" , strDevilCommand ); #line 2345 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2347 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(eDevilCommand . dctType == DC_GRAB_LOWER_WEAPONS ) #line 2348 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2349 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dapAttackPower = DAP_LOW_POWER_ATTACK ; #line 2350 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = DS_ENEMY ; #line 2351 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Call(STATE_CURRENT, STATE_CDevil_GrabLowerWeapons, TRUE, EVoid());return TRUE; #line 2352 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2354 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(eDevilCommand . dctType == DC_FORCE_ACTION ) #line 2355 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2356 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_penAction = eDevilCommand . penForcedAction ; #line 2357 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Call(STATE_CURRENT, STATE_CDevil_DestroyCity, TRUE, EVoid());return TRUE; #line 2358 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2359 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(eDevilCommand . dctType == DC_STOP_MOVING ) #line 2360 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2361 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_vStartPosition = GetPlacement () . pl_PositionVector ; #line 2362 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_fAttackRadius = 0.0f; #line 2363 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2364 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(eDevilCommand . dctType == DC_STOP_ATTACK ) #line 2365 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2366 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" SetTargetNone (); #line 2367 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2368 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(eDevilCommand . dctType == DC_JUMP_INTO_PYRAMID ) #line 2369 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2370 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_IDLE , 0); #line 2371 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_plTeleport = eDevilCommand . penForcedAction -> GetPlacement (); #line 2372 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = DS_JUMPING_INTO_PYRAMID ; #line 2373 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Call(STATE_CURRENT, STATE_CDevil_JumpIntoPyramid, TRUE, EVoid());return TRUE; #line 2374 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2375 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" else if(eDevilCommand . dctType == DC_TELEPORT_INTO_PYRAMID ) #line 2376 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2377 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" GetModelObject () -> PlayAnim (DEVIL_ANIM_IDLE , 0); #line 2378 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_plTeleport = eDevilCommand . penForcedAction -> GetPlacement (); #line 2379 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = DS_JUMPING_INTO_PYRAMID ; #line 2380 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Call(STATE_CURRENT, STATE_CDevil_TeleportIntoPyramid, TRUE, EVoid());return TRUE; #line 2381 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2382 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 2383 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_ERegenerationImpuls): #line 2385 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {const ERegenerationImpuls&e= (ERegenerationImpuls&)__eeInput; #line 2386 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDebugFinalBoss ) #line 2387 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2388 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Main loop, event: Regeneration impulse\n"); #line 2389 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2390 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bRenderElectricity = FALSE ; #line 2391 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Call(STATE_CURRENT, STATE_CDevil_RegenerationImpulse, TRUE, EVoid());return TRUE; #line 2392 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 2393 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_EHitBySpaceShipBeam): #line 2395 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {const EHitBySpaceShipBeam&e= (EHitBySpaceShipBeam&)__eeInput; #line 2396 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDebugFinalBoss ) #line 2397 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2398 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Main loop, event: Hit by space ship beam\n"); #line 2399 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2400 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bRenderElectricity = FALSE ; #line 2401 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_tmHitBySpaceShipBeam = _pTimer -> CurrentTick (); #line 2402 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Call(STATE_CURRENT, STATE_CDevil_BeamDamage, TRUE, EVoid());return TRUE; #line 2403 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 2404 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_EDeath):{const EDeath&eDeath= (EDeath&)__eeInput; #line 2407 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(! (GetFlags () & ENF_ALIVE )) #line 2408 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2409 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 2410 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2412 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDebugFinalBoss ) #line 2413 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2414 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Main loop, event: Death\n"); #line 2415 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2417 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_bRenderElectricity = FALSE ; #line 2418 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Jump(STATE_CURRENT, STATE_CEnemyBase_Die, FALSE, eDeath );return TRUE; #line 2419 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_EEnvironmentStart): #line 2421 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {const EEnvironmentStart&e= (EEnvironmentStart&)__eeInput; #line 2422 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Call(STATE_CURRENT, STATE_CDevil_MPIntro, TRUE, EVoid());return TRUE; #line 2423 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 2424 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;case(EVENTCODE_EReturn): #line 2426 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" {const EReturn&e= (EReturn&)__eeInput; #line 2427 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(cht_bDebugFinalBoss ) #line 2428 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2429 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" CPrintF ("Main loop, event: Return\n"); #line 2430 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2431 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_dsDevilState == DS_DESTROYING_CITY ) #line 2432 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2433 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_soSound . Set3DParameters (1000.0f , 500.0f , 2.0f , 1.0f); #line 2434 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dsDevilState = DS_ENEMY ; #line 2435 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" if(m_dapAttackPower == DAP_NOT_ATTACKING ) #line 2436 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" { #line 2437 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" m_dapAttackPower = DAP_PLAYER_HUNT ; #line 2438 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2439 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" } #line 2440 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" Call(STATE_CURRENT, STATE_CDevil_ContinueInMainLoop, TRUE, EVoid());return TRUE; #line 2441 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" return TRUE; #line 2442 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }ASSERT(FALSE);break;default: return FALSE; break; #line 2443 "D:/SE1_GPL/Sources/EntitiesMP/Devil.es" }return TRUE;}BOOL CDevil::H0x014c0142_Main_08(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x014c0142 ASSERT(FALSE); return TRUE;};