Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
boss_professor_putricide.cpp File Reference
#include "ObjectMgr.h"
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellAuraEffects.h"
#include "Group.h"
#include "Spell.h"
#include "icecrown_citadel.h"
#include "Vehicle.h"
#include "GridNotifiers.h"
Include dependency graph for boss_professor_putricide.cpp:

Go to the source code of this file.

Classes

class  AbominationDespawner
class  boss_professor_putricide
struct  boss_professor_putricide::boss_professor_putricideAI
class  ExactDistanceCheck
class  npc_gas_cloud
struct  npc_gas_cloud::npc_gas_cloudAI
class  npc_putricide_oozeAI
class  npc_volatile_ooze
struct  npc_volatile_ooze::npc_volatile_oozeAI
struct  RotfaceHeightCheck
class  spell_putricide_choking_gas_bomb
class  spell_putricide_choking_gas_bomb::spell_putricide_choking_gas_bomb_SpellScript
class  spell_putricide_clear_aura_effect_value
class  spell_putricide_clear_aura_effect_value::spell_putricide_clear_aura_effect_value_SpellScript
class  spell_putricide_eat_ooze
class  spell_putricide_eat_ooze::spell_putricide_eat_ooze_SpellScript
class  spell_putricide_gaseous_bloat
class  spell_putricide_gaseous_bloat::spell_putricide_gaseous_bloat_AuraScript
class  spell_putricide_mutated_plague
class  spell_putricide_mutated_plague::spell_putricide_mutated_plague_AuraScript
class  spell_putricide_mutated_transformation
class  spell_putricide_mutated_transformation::spell_putricide_mutated_transformation_SpellScript
class  spell_putricide_mutated_transformation_dismiss
class  spell_putricide_mutated_transformation_dismiss::spell_putricide_mutated_transformation_dismiss_AuraScript
class  spell_putricide_mutated_transformation_dmg
class  spell_putricide_mutated_transformation_dmg::spell_putricide_mutated_transformation_dmg_SpellScript
class  spell_putricide_mutation_init
class  spell_putricide_mutation_init::spell_putricide_mutation_init_AuraScript
class  spell_putricide_mutation_init::spell_putricide_mutation_init_SpellScript
class  spell_putricide_ooze_channel
class  spell_putricide_ooze_channel::spell_putricide_ooze_channel_SpellScript
class  spell_putricide_ooze_eruption_searcher
class  spell_putricide_ooze_eruption_searcher::spell_putricide_ooze_eruption_searcher_SpellScript
class  spell_putricide_regurgitated_ooze
class  spell_putricide_regurgitated_ooze::spell_putricide_regurgitated_ooze_SpellScript
class  spell_putricide_slime_puddle
class  spell_putricide_slime_puddle::spell_putricide_slime_puddle_SpellScript
class  spell_putricide_slime_puddle_aura
class  spell_putricide_slime_puddle_aura::spell_putricide_slime_puddle_aura_SpellScript
class  spell_putricide_unbound_plague
class  spell_putricide_unbound_plague::spell_putricide_unbound_plague_SpellScript
class  spell_putricide_unstable_experiment
class  spell_putricide_unstable_experiment::spell_putricide_unstable_experiment_SpellScript
class  spell_stinky_precious_decimate
class  spell_stinky_precious_decimate::spell_stinky_precious_decimate_SpellScript

Macros

#define EXPERIMENT_STATE_GAS   true
#define EXPERIMENT_STATE_OOZE   false
#define SPELL_GASEOUS_BLOAT_HELPER   RAID_MODE<uint32>(70672, 72455, 72832, 72833)

Enumerations

enum  Events {
  EVENT_FESTERGUT_DIES = 1 , EVENT_FESTERGUT_GOO = 2 , EVENT_ROTFACE_DIES = 3 , EVENT_ROTFACE_OOZE_FLOOD = 5 ,
  EVENT_BERSERK = 6 , EVENT_SLIME_PUDDLE = 7 , EVENT_UNSTABLE_EXPERIMENT = 8 , EVENT_TEAR_GAS = 9 ,
  EVENT_RESUME_ATTACK = 10 , EVENT_MALLEABLE_GOO = 11 , EVENT_CHOKING_GAS_BOMB = 12 , EVENT_UNBOUND_PLAGUE = 13 ,
  EVENT_MUTATED_PLAGUE = 14 , EVENT_PHASE_TRANSITION = 15
}
enum  Phases {
  PHASE_NONE = 0 , PHASE_FESTERGUT = 1 , PHASE_ROTFACE = 2 , PHASE_COMBAT_1 = 4 ,
  PHASE_COMBAT_2 = 5 , PHASE_COMBAT_3 = 6
}
enum  Points { POINT_FESTERGUT = 366260 , POINT_ROTFACE = 366270 , POINT_TABLE = 366780 }
enum  PutricideData { DATA_EXPERIMENT_STAGE = 1 , DATA_PHASE = 2 , DATA_ABOMINATION = 3 }
enum  Say {
  SAY_FESTERGUT_GASEOUS_BLIGHT = 0 , SAY_FESTERGUT_DEATH = 1 , SAY_ROTFACE_OOZE_FLOOD = 2 , SAY_ROTFACE_DEATH = 3 ,
  SAY_AGGRO = 4 , EMOTE_UNSTABLE_EXPERIMENT = 5 , SAY_PHASE_TRANSITION_HEROIC = 6 , SAY_TRANSFORM_1 = 7 ,
  SAY_TRANSFORM_2 = 8 , EMOTE_MALLEABLE_GOO = 9 , EMOTE_CHOKING_GAS_BOMB = 10 , SAY_KILL = 11 ,
  SAY_BERSERK = 12 , SAY_DEATH = 13
}
enum  Spells {
  SPELL_RELEASE_GAS_VISUAL = 69125 , SPELL_GASEOUS_BLIGHT_LARGE = 69157 , SPELL_GASEOUS_BLIGHT_MEDIUM = 69162 , SPELL_GASEOUS_BLIGHT_SMALL = 69164 ,
  SPELL_MALLEABLE_GOO_H = 72296 , SPELL_MALLEABLE_GOO_SUMMON = 72299 , SPELL_SLIME_PUDDLE_TRIGGER = 70341 , SPELL_MALLEABLE_GOO = 70852 ,
  SPELL_UNSTABLE_EXPERIMENT = 70351 , SPELL_TEAR_GAS = 71617 , SPELL_TEAR_GAS_CREATURE = 71618 , SPELL_TEAR_GAS_CANCEL = 71620 ,
  SPELL_TEAR_GAS_PERIODIC_TRIGGER = 73170 , SPELL_CREATE_CONCOCTION = 71621 , SPELL_GUZZLE_POTIONS = 71893 , SPELL_OOZE_TANK_PROTECTION = 71770 ,
  SPELL_CHOKING_GAS_BOMB = 71255 , SPELL_OOZE_VARIABLE = 74118 , SPELL_GAS_VARIABLE = 74119 , SPELL_UNBOUND_PLAGUE = 70911 ,
  SPELL_UNBOUND_PLAGUE_SEARCHER = 70917 , SPELL_PLAGUE_SICKNESS = 70953 , SPELL_UNBOUND_PLAGUE_PROTECTION = 70955 , SPELL_MUTATED_PLAGUE = 72451 ,
  SPELL_MUTATED_PLAGUE_CLEAR = 72618 , SPELL_GROW_STACKER = 70345 , SPELL_GROW = 70347 , SPELL_SLIME_PUDDLE_AURA = 70343 ,
  SPELL_GASEOUS_BLOAT_PROC = 70215 , SPELL_GASEOUS_BLOAT = 70672 , SPELL_GASEOUS_BLOAT_PROTECTION = 70812 , SPELL_EXPUNGED_GAS = 70701 ,
  SPELL_OOZE_ERUPTION = 70492 , SPELL_VOLATILE_OOZE_ADHESIVE = 70447 , SPELL_OOZE_ERUPTION_SEARCH_PERIODIC = 70457 , SPELL_VOLATILE_OOZE_PROTECTION = 70530 ,
  SPELL_CHOKING_GAS_BOMB_PERIODIC = 71259 , SPELL_CHOKING_GAS_EXPLOSION_TRIGGER = 71280 , SPELL_ABOMINATION_VEHICLE_POWER_DRAIN = 70385 , SPELL_MUTATED_TRANSFORMATION = 70311 ,
  SPELL_MUTATED_TRANSFORMATION_DAMAGE = 70405 , SPELL_MUTATED_TRANSFORMATION_NAME = 72401 , SPELL_UNHOLY_INFUSION_CREDIT = 71518
}

Functions

void AddSC_boss_professor_putricide ()

Variables

Position const festergutWatchPos = {4324.820f, 3166.03f, 389.3831f, 3.316126f}
uint32 const oozeFloodSpells [4] = {69782, 69796, 69798, 69801}
Position const rotfaceWatchPos = {4390.371f, 3164.50f, 389.3890f, 5.497787f}
Position const tablePos = {4356.190f, 3262.90f, 389.4820f, 1.483530f}

Macro Definition Documentation

◆ EXPERIMENT_STATE_GAS

#define EXPERIMENT_STATE_GAS   true

Definition at line 158 of file boss_professor_putricide.cpp.

◆ EXPERIMENT_STATE_OOZE

◆ SPELL_GASEOUS_BLOAT_HELPER

#define SPELL_GASEOUS_BLOAT_HELPER   RAID_MODE<uint32>(70672, 72455, 72832, 72833)

Definition at line 101 of file boss_professor_putricide.cpp.

Enumeration Type Documentation

◆ Events

enum Events
Enumerator
EVENT_FESTERGUT_DIES 
EVENT_FESTERGUT_GOO 
EVENT_ROTFACE_DIES 
EVENT_ROTFACE_OOZE_FLOOD 
EVENT_BERSERK 
EVENT_SLIME_PUDDLE 
EVENT_UNSTABLE_EXPERIMENT 
EVENT_TEAR_GAS 
EVENT_RESUME_ATTACK 
EVENT_MALLEABLE_GOO 
EVENT_CHOKING_GAS_BOMB 
EVENT_UNBOUND_PLAGUE 
EVENT_MUTATED_PLAGUE 
EVENT_PHASE_TRANSITION 

Definition at line 103 of file boss_professor_putricide.cpp.

◆ Phases

enum Phases
Enumerator
PHASE_NONE 
PHASE_FESTERGUT 
PHASE_ROTFACE 
PHASE_COMBAT_1 
PHASE_COMBAT_2 
PHASE_COMBAT_3 

Definition at line 126 of file boss_professor_putricide.cpp.

◆ Points

enum Points
Enumerator
POINT_FESTERGUT 
POINT_ROTFACE 
POINT_TABLE 

Definition at line 136 of file boss_professor_putricide.cpp.

◆ PutricideData

Enumerator
DATA_EXPERIMENT_STAGE 
DATA_PHASE 
DATA_ABOMINATION 

Definition at line 150 of file boss_professor_putricide.cpp.

◆ Say

enum Say
Enumerator
SAY_FESTERGUT_GASEOUS_BLIGHT 
SAY_FESTERGUT_DEATH 
SAY_ROTFACE_OOZE_FLOOD 
SAY_ROTFACE_DEATH 
SAY_AGGRO 
EMOTE_UNSTABLE_EXPERIMENT 
SAY_PHASE_TRANSITION_HEROIC 
SAY_TRANSFORM_1 
SAY_TRANSFORM_2 
EMOTE_MALLEABLE_GOO 
EMOTE_CHOKING_GAS_BOMB 
SAY_KILL 
SAY_BERSERK 
SAY_DEATH 

Definition at line 16 of file boss_professor_putricide.cpp.

◆ Spells

enum Spells
Enumerator
SPELL_RELEASE_GAS_VISUAL 
SPELL_GASEOUS_BLIGHT_LARGE 
SPELL_GASEOUS_BLIGHT_MEDIUM 
SPELL_GASEOUS_BLIGHT_SMALL 
SPELL_MALLEABLE_GOO_H 
SPELL_MALLEABLE_GOO_SUMMON 
SPELL_SLIME_PUDDLE_TRIGGER 
SPELL_MALLEABLE_GOO 
SPELL_UNSTABLE_EXPERIMENT 
SPELL_TEAR_GAS 
SPELL_TEAR_GAS_CREATURE 
SPELL_TEAR_GAS_CANCEL 
SPELL_TEAR_GAS_PERIODIC_TRIGGER 
SPELL_CREATE_CONCOCTION 
SPELL_GUZZLE_POTIONS 
SPELL_OOZE_TANK_PROTECTION 
SPELL_CHOKING_GAS_BOMB 
SPELL_OOZE_VARIABLE 
SPELL_GAS_VARIABLE 
SPELL_UNBOUND_PLAGUE 
SPELL_UNBOUND_PLAGUE_SEARCHER 
SPELL_PLAGUE_SICKNESS 
SPELL_UNBOUND_PLAGUE_PROTECTION 
SPELL_MUTATED_PLAGUE 
SPELL_MUTATED_PLAGUE_CLEAR 
SPELL_GROW_STACKER 
SPELL_GROW 
SPELL_SLIME_PUDDLE_AURA 
SPELL_GASEOUS_BLOAT_PROC 
SPELL_GASEOUS_BLOAT 
SPELL_GASEOUS_BLOAT_PROTECTION 
SPELL_EXPUNGED_GAS 
SPELL_OOZE_ERUPTION 
SPELL_VOLATILE_OOZE_ADHESIVE 
SPELL_OOZE_ERUPTION_SEARCH_PERIODIC 
SPELL_VOLATILE_OOZE_PROTECTION 
SPELL_CHOKING_GAS_BOMB_PERIODIC 
SPELL_CHOKING_GAS_EXPLOSION_TRIGGER 
SPELL_ABOMINATION_VEHICLE_POWER_DRAIN 
SPELL_MUTATED_TRANSFORMATION 
SPELL_MUTATED_TRANSFORMATION_DAMAGE 
SPELL_MUTATED_TRANSFORMATION_NAME 
SPELL_UNHOLY_INFUSION_CREDIT 

Definition at line 39 of file boss_professor_putricide.cpp.

Function Documentation

◆ AddSC_boss_professor_putricide()

void AddSC_boss_professor_putricide ( )

Definition at line 1569 of file boss_professor_putricide.cpp.

Referenced by AddNorthrendScripts().

Variable Documentation

◆ festergutWatchPos

Position const festergutWatchPos = {4324.820f, 3166.03f, 389.3831f, 3.316126f}

◆ oozeFloodSpells

uint32 const oozeFloodSpells[4] = {69782, 69796, 69798, 69801}

◆ rotfaceWatchPos

Position const rotfaceWatchPos = {4390.371f, 3164.50f, 389.3890f, 5.497787f}

◆ tablePos

Position const tablePos = {4356.190f, 3262.90f, 389.4820f, 1.483530f}