TrinityCore
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boss_professor_putricide.cpp File Reference
#include "icecrown_citadel.h"
#include "Containers.h"
#include "DBCStores.h"
#include "GridNotifiers.h"
#include "Group.h"
#include "InstanceScript.h"
#include "Map.h"
#include "MotionMaster.h"
#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "ScriptMgr.h"
#include "Spell.h"
#include "SpellAuraEffects.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
#include "Vehicle.h"
+ Include dependency graph for boss_professor_putricide.cpp:

Go to the source code of this file.

Classes

class  AbominationDespawner
 
struct  RotfaceHeightCheck
 
struct  boss_professor_putricide
 
class  npc_putricide_oozeAI
 
struct  npc_volatile_ooze
 
struct  npc_gas_cloud
 
class  spell_putricide_gaseous_bloat
 
class  spell_putricide_ooze_channel
 
class  ExactDistanceCheck
 
class  spell_putricide_slime_puddle
 
class  spell_putricide_slime_puddle_aura
 
class  spell_putricide_unstable_experiment
 
class  spell_putricide_ooze_eruption_searcher
 
class  spell_putricide_ooze_tank_protection
 
class  spell_putricide_choking_gas_bomb
 
class  spell_putricide_unbound_plague
 
class  spell_putricide_eat_ooze
 
class  spell_putricide_mutated_plague
 
class  spell_putricide_mutation_init
 
class  spell_putricide_mutation_init_aura
 
class  spell_putricide_mutated_transformation_dismiss
 
class  spell_putricide_mutated_transformation
 
class  spell_putricide_mutated_transformation_dmg
 
class  spell_putricide_regurgitated_ooze
 
class  spell_putricide_clear_aura_effect_value
 
class  spell_stinky_precious_decimate
 
class  spell_abomination_mutated_transformation
 
class  spell_putricide_choking_gas_filter
 

Macros

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

Enumerations

enum  PutricideTexts {
  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  PutricideSpells {
  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_TRIGGER_MISSILE = 71615 , 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
}
 
enum  PutricideEvents {
  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  PutricidePhases {
  PHASE_NONE = 0 , PHASE_FESTERGUT = 1 , PHASE_ROTFACE = 2 , PHASE_COMBAT_1 = 4 ,
  PHASE_COMBAT_2 = 5 , PHASE_COMBAT_3 = 6
}
 
enum  PutricidePoints { POINT_FESTERGUT = 366260 , POINT_ROTFACE = 366270 , POINT_TABLE = 366780 }
 
enum  PutricideData { DATA_EXPERIMENT_STAGE = 1 , DATA_PHASE = 2 , DATA_ABOMINATION = 3 }
 

Functions

void AddSC_boss_professor_putricide ()
 

Variables

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

Macro Definition Documentation

◆ EXPERIMENT_STATE_GAS

#define EXPERIMENT_STATE_GAS   true

Definition at line 179 of file boss_professor_putricide.cpp.

◆ EXPERIMENT_STATE_OOZE

#define EXPERIMENT_STATE_OOZE   false

Definition at line 178 of file boss_professor_putricide.cpp.

◆ SPELL_GASEOUS_BLOAT_HELPER

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

Definition at line 122 of file boss_professor_putricide.cpp.

Enumeration Type Documentation

◆ PutricideData

Enumerator
DATA_EXPERIMENT_STAGE 
DATA_PHASE 
DATA_ABOMINATION 

Definition at line 171 of file boss_professor_putricide.cpp.

◆ PutricideEvents

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 124 of file boss_professor_putricide.cpp.

◆ PutricidePhases

Enumerator
PHASE_NONE 
PHASE_FESTERGUT 
PHASE_ROTFACE 
PHASE_COMBAT_1 
PHASE_COMBAT_2 
PHASE_COMBAT_3 

Definition at line 147 of file boss_professor_putricide.cpp.

◆ PutricidePoints

Enumerator
POINT_FESTERGUT 
POINT_ROTFACE 
POINT_TABLE 

Definition at line 157 of file boss_professor_putricide.cpp.

◆ PutricideSpells

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_TRIGGER_MISSILE 
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 59 of file boss_professor_putricide.cpp.

◆ PutricideTexts

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 36 of file boss_professor_putricide.cpp.

Function Documentation

◆ AddSC_boss_professor_putricide()

void AddSC_boss_professor_putricide ( )

Definition at line 1508 of file boss_professor_putricide.cpp.

+ Here is the caller graph for this function:

Variable Documentation

◆ festergutWatchPos

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

Definition at line 164 of file boss_professor_putricide.cpp.

◆ oozeFloodSpells

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

Definition at line 169 of file boss_professor_putricide.cpp.

◆ rotfaceWatchPos

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

Definition at line 165 of file boss_professor_putricide.cpp.

◆ tablePos

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

Definition at line 166 of file boss_professor_putricide.cpp.