AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
boss_professor_putricide.cpp File Reference
#include "CreatureScript.h"
#include "GridNotifiers.h"
#include "Group.h"
#include "ObjectMgr.h"
#include "ScriptedCreature.h"
#include "Spell.h"
#include "SpellAuraEffects.h"
#include "SpellScriptLoader.h"
#include "Vehicle.h"
#include "icecrown_citadel.h"

Go to the source code of this file.

Classes

class  AbominationDespawner
 
class  UnboundPlagueTargetSelector
 
struct  MalleableGooSelector
 
class  boss_professor_putricide
 
struct  boss_professor_putricide::boss_professor_putricideAI
 
class  npc_putricide_oozeAI
 
class  npc_volatile_ooze
 
struct  npc_volatile_ooze::npc_volatile_oozeAI
 
class  npc_gas_cloud
 
struct  npc_gas_cloud::npc_gas_cloudAI
 
class  spell_putricide_slime_puddle
 
class  spell_putricide_slime_puddle_spawn
 
class  spell_putricide_grow_stacker_aura
 
class  spell_putricide_unstable_experiment
 
class  spell_putricide_tear_gas_effect
 
class  spell_putricide_gaseous_bloat_aura
 
class  spell_putricide_ooze_channel
 
class  spell_putricide_ooze_eruption_searcher
 
class  spell_putricide_mutated_plague_aura
 
class  spell_putricide_unbound_plague
 
class  spell_putricide_unbound_plague_dmg_aura
 
class  spell_putricide_choking_gas_bomb
 
class  spell_putricide_clear_aura_effect_value
 
class  spell_putricide_mutation_init
 
class  spell_putricide_mutation_init_aura
 
class  spell_putricide_mutated_transformation
 
class  spell_putricide_mutated_transformation_dismiss_aura
 
class  spell_putricide_mutated_transformation_dmg
 
class  spell_putricide_eat_ooze
 
class  spell_putricide_regurgitated_ooze
 

Macros

#define EVENT_GROUP_ABILITIES   1
 

Enumerations

enum  ScriptTexts {
  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_SLIME_PUDDLE_TRIGGER = 70341 ,
  SPELL_MALLEABLE_GOO_BALCONY = 72296 ,
  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 = 71516 ,
  SPELL_UNHOLY_INFUSION_CREDIT = 71518
}
 
enum  PutricideData {
  DATA_EXPERIMENT_STAGE = 1 ,
  DATA_PHASE = 2 ,
  DATA_ABOMINATION = 3
}
 
enum  Events {
  EVENT_NONE ,
  EVENT_BERSERK ,
  EVENT_SLIME_PUDDLE ,
  EVENT_UNSTABLE_EXPERIMENT ,
  EVENT_GO_TO_TABLE ,
  EVENT_TABLE_DRINK_STUFF ,
  EVENT_PHASE_TRANSITION ,
  EVENT_RESUME_ATTACK ,
  EVENT_UNBOUND_PLAGUE ,
  EVENT_MALLEABLE_GOO ,
  EVENT_CHOKING_GAS_BOMB
}
 
enum  Points {
  POINT_FESTERGUT = 366260 ,
  POINT_ROTFACE = 366270 ,
  POINT_TABLE = 366780 ,
  POINT_TABLE_COMBAT = 366781
}
 

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}
 

Macro Definition Documentation

◆ EVENT_GROUP_ABILITIES

#define EVENT_GROUP_ABILITIES   1

Enumeration Type Documentation

◆ Events

enum Events
Enumerator
EVENT_NONE 
EVENT_BERSERK 
EVENT_SLIME_PUDDLE 
EVENT_UNSTABLE_EXPERIMENT 
EVENT_GO_TO_TABLE 
EVENT_TABLE_DRINK_STUFF 
EVENT_PHASE_TRANSITION 
EVENT_RESUME_ATTACK 
EVENT_UNBOUND_PLAGUE 
EVENT_MALLEABLE_GOO 
EVENT_CHOKING_GAS_BOMB 
124{
136};
@ EVENT_CHOKING_GAS_BOMB
Definition boss_professor_putricide.cpp:135
@ EVENT_SLIME_PUDDLE
Definition boss_professor_putricide.cpp:127
@ EVENT_GO_TO_TABLE
Definition boss_professor_putricide.cpp:129
@ EVENT_RESUME_ATTACK
Definition boss_professor_putricide.cpp:132
@ EVENT_TABLE_DRINK_STUFF
Definition boss_professor_putricide.cpp:130
@ EVENT_UNBOUND_PLAGUE
Definition boss_professor_putricide.cpp:133
@ EVENT_NONE
Definition boss_professor_putricide.cpp:125
@ EVENT_BERSERK
Definition boss_professor_putricide.cpp:126
@ EVENT_MALLEABLE_GOO
Definition boss_professor_putricide.cpp:134
@ EVENT_PHASE_TRANSITION
Definition boss_professor_putricide.cpp:131
@ EVENT_UNSTABLE_EXPERIMENT
Definition boss_professor_putricide.cpp:128

◆ Points

enum Points
Enumerator
POINT_FESTERGUT 
POINT_ROTFACE 
POINT_TABLE 
POINT_TABLE_COMBAT 
141{
142 POINT_FESTERGUT = 366260,
143 POINT_ROTFACE = 366270,
144 POINT_TABLE = 366780,
145 POINT_TABLE_COMBAT = 366781,
146};
@ POINT_TABLE_COMBAT
Definition boss_professor_putricide.cpp:145
@ POINT_ROTFACE
Definition boss_professor_putricide.cpp:143
@ POINT_FESTERGUT
Definition boss_professor_putricide.cpp:142
@ POINT_TABLE
Definition boss_professor_putricide.cpp:144

◆ PutricideData

Enumerator
DATA_EXPERIMENT_STAGE 
DATA_PHASE 
DATA_ABOMINATION 
117{
119 DATA_PHASE = 2,
121};
@ DATA_PHASE
Definition boss_professor_putricide.cpp:119
@ DATA_ABOMINATION
Definition boss_professor_putricide.cpp:120
@ DATA_EXPERIMENT_STAGE
Definition boss_professor_putricide.cpp:118

◆ ScriptTexts

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 
30{
31 // Festergut
34
35 // Rotface
38
39 // Professor Putricide
40 SAY_AGGRO = 4,
44 SAY_TRANSFORM_2 = 8, // always used for phase2 change, DO NOT GROUP WITH SAY_TRANSFORM_1
47 SAY_KILL = 11,
48 SAY_BERSERK = 12,
49 SAY_DEATH = 13,
50};
@ SAY_DEATH
Definition boss_professor_putricide.cpp:49
@ EMOTE_MALLEABLE_GOO
Definition boss_professor_putricide.cpp:45
@ EMOTE_CHOKING_GAS_BOMB
Definition boss_professor_putricide.cpp:46
@ SAY_AGGRO
Definition boss_professor_putricide.cpp:40
@ SAY_PHASE_TRANSITION_HEROIC
Definition boss_professor_putricide.cpp:42
@ SAY_KILL
Definition boss_professor_putricide.cpp:47
@ SAY_TRANSFORM_1
Definition boss_professor_putricide.cpp:43
@ SAY_FESTERGUT_DEATH
Definition boss_professor_putricide.cpp:33
@ SAY_ROTFACE_DEATH
Definition boss_professor_putricide.cpp:37
@ SAY_FESTERGUT_GASEOUS_BLIGHT
Definition boss_professor_putricide.cpp:32
@ SAY_ROTFACE_OOZE_FLOOD
Definition boss_professor_putricide.cpp:36
@ SAY_TRANSFORM_2
Definition boss_professor_putricide.cpp:44
@ SAY_BERSERK
Definition boss_professor_putricide.cpp:48
@ EMOTE_UNSTABLE_EXPERIMENT
Definition boss_professor_putricide.cpp:41

◆ Spells

enum Spells
Enumerator
SPELL_RELEASE_GAS_VISUAL 
SPELL_GASEOUS_BLIGHT_LARGE 
SPELL_GASEOUS_BLIGHT_MEDIUM 
SPELL_GASEOUS_BLIGHT_SMALL 
SPELL_SLIME_PUDDLE_TRIGGER 
SPELL_MALLEABLE_GOO_BALCONY 
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 
SPELL_UNHOLY_INFUSION_CREDIT 
53{
54 // Festergut
59
60 // Rotface - not needed here
61
62 // Professor Putricide
65 SPELL_MALLEABLE_GOO = 70852,
67 SPELL_TEAR_GAS = 71617, // phase transition
73 SPELL_OOZE_TANK_PROTECTION = 71770, // protects the tank
75 SPELL_OOZE_VARIABLE = 74118,
76 SPELL_GAS_VARIABLE = 74119,
83
84 // Slime Puddle
85 SPELL_GROW_STACKER = 70345,
86 SPELL_GROW = 70347,
88
89 // Gas Cloud
91 SPELL_GASEOUS_BLOAT = 70672,
93 SPELL_EXPUNGED_GAS = 70701,
94
95 // Volatile Ooze
96 SPELL_OOZE_ERUPTION = 70492,
100
101 // Choking Gas Bomb
104
105 // Mutated Abomination vehicle
110
111 // Unholy Infusion
112 SPELL_UNHOLY_INFUSION = 71516,
114};
@ SPELL_UNBOUND_PLAGUE_PROTECTION
Definition boss_professor_putricide.cpp:80
@ SPELL_UNBOUND_PLAGUE_SEARCHER
Definition boss_professor_putricide.cpp:78
@ SPELL_OOZE_ERUPTION_SEARCH_PERIODIC
Definition boss_professor_putricide.cpp:98
@ SPELL_CHOKING_GAS_BOMB_PERIODIC
Definition boss_professor_putricide.cpp:102
@ SPELL_VOLATILE_OOZE_ADHESIVE
Definition boss_professor_putricide.cpp:97
@ SPELL_GASEOUS_BLOAT
Definition boss_professor_putricide.cpp:91
@ SPELL_SLIME_PUDDLE_AURA
Definition boss_professor_putricide.cpp:87
@ SPELL_GROW_STACKER
Definition boss_professor_putricide.cpp:85
@ SPELL_SLIME_PUDDLE_TRIGGER
Definition boss_professor_putricide.cpp:63
@ SPELL_MUTATED_TRANSFORMATION
Definition boss_professor_putricide.cpp:107
@ SPELL_EXPUNGED_GAS
Definition boss_professor_putricide.cpp:93
@ SPELL_GASEOUS_BLOAT_PROTECTION
Definition boss_professor_putricide.cpp:92
@ SPELL_MUTATED_TRANSFORMATION_DAMAGE
Definition boss_professor_putricide.cpp:108
@ SPELL_TEAR_GAS_CREATURE
Definition boss_professor_putricide.cpp:68
@ SPELL_TEAR_GAS_PERIODIC_TRIGGER
Definition boss_professor_putricide.cpp:70
@ SPELL_UNHOLY_INFUSION
Definition boss_professor_putricide.cpp:112
@ SPELL_PLAGUE_SICKNESS
Definition boss_professor_putricide.cpp:79
@ SPELL_UNSTABLE_EXPERIMENT
Definition boss_professor_putricide.cpp:66
@ SPELL_MUTATED_PLAGUE
Definition boss_professor_putricide.cpp:81
@ SPELL_GASEOUS_BLOAT_PROC
Definition boss_professor_putricide.cpp:90
@ SPELL_UNBOUND_PLAGUE
Definition boss_professor_putricide.cpp:77
@ SPELL_UNHOLY_INFUSION_CREDIT
Definition boss_professor_putricide.cpp:113
@ SPELL_OOZE_VARIABLE
Definition boss_professor_putricide.cpp:75
@ SPELL_OOZE_TANK_PROTECTION
Definition boss_professor_putricide.cpp:73
@ SPELL_ABOMINATION_VEHICLE_POWER_DRAIN
Definition boss_professor_putricide.cpp:106
@ SPELL_VOLATILE_OOZE_PROTECTION
Definition boss_professor_putricide.cpp:99
@ SPELL_TEAR_GAS_CANCEL
Definition boss_professor_putricide.cpp:69
@ SPELL_CREATE_CONCOCTION
Definition boss_professor_putricide.cpp:71
@ SPELL_GAS_VARIABLE
Definition boss_professor_putricide.cpp:76
@ SPELL_MUTATED_TRANSFORMATION_NAME
Definition boss_professor_putricide.cpp:109
@ SPELL_TEAR_GAS
Definition boss_professor_putricide.cpp:67
@ SPELL_RELEASE_GAS_VISUAL
Definition boss_professor_putricide.cpp:55
@ SPELL_MALLEABLE_GOO
Definition boss_professor_putricide.cpp:65
@ SPELL_CHOKING_GAS_BOMB
Definition boss_professor_putricide.cpp:74
@ SPELL_GASEOUS_BLIGHT_LARGE
Definition boss_professor_putricide.cpp:56
@ SPELL_GASEOUS_BLIGHT_MEDIUM
Definition boss_professor_putricide.cpp:57
@ SPELL_GASEOUS_BLIGHT_SMALL
Definition boss_professor_putricide.cpp:58
@ SPELL_OOZE_ERUPTION
Definition boss_professor_putricide.cpp:96
@ SPELL_MALLEABLE_GOO_BALCONY
Definition boss_professor_putricide.cpp:64
@ SPELL_GROW
Definition boss_professor_putricide.cpp:86
@ SPELL_GUZZLE_POTIONS
Definition boss_professor_putricide.cpp:72
@ SPELL_CHOKING_GAS_EXPLOSION_TRIGGER
Definition boss_professor_putricide.cpp:103
@ SPELL_MUTATED_PLAGUE_CLEAR
Definition boss_professor_putricide.cpp:82

Function Documentation

◆ AddSC_boss_professor_putricide()

void AddSC_boss_professor_putricide ( )
1526{
1528 new npc_volatile_ooze();
1529 new npc_gas_cloud();
1549}
#define RegisterSpellAndAuraScriptPair(script_1, script_2)
Definition SpellScriptLoader.h:90
#define RegisterSpellScript(spell_script)
Definition SpellScriptLoader.h:88
Definition boss_professor_putricide.cpp:225
Definition boss_professor_putricide.cpp:850
Definition boss_professor_putricide.cpp:827
Definition boss_professor_putricide.cpp:1247
Definition boss_professor_putricide.cpp:1271
Definition boss_professor_putricide.cpp:1463
Definition boss_professor_putricide.cpp:1010
Definition boss_professor_putricide.cpp:927
Definition boss_professor_putricide.cpp:1125
Definition boss_professor_putricide.cpp:1431
Definition boss_professor_putricide.cpp:1447
Definition boss_professor_putricide.cpp:1361
Definition boss_professor_putricide.cpp:1342
Definition boss_professor_putricide.cpp:1288
Definition boss_professor_putricide.cpp:1034
Definition boss_professor_putricide.cpp:1100
Definition boss_professor_putricide.cpp:1509
Definition boss_professor_putricide.cpp:907
Definition boss_professor_putricide.cpp:877
Definition boss_professor_putricide.cpp:990
Definition boss_professor_putricide.cpp:1228
Definition boss_professor_putricide.cpp:1165
Definition boss_professor_putricide.cpp:949

References RegisterSpellAndAuraScriptPair, and RegisterSpellScript.

Referenced by AddNorthrendScripts().

Variable Documentation

◆ festergutWatchPos

Position const festergutWatchPos = {4324.820f, 3166.03f, 389.3831f, 3.316126f}
148{4324.820f, 3166.03f, 389.3831f, 3.316126f}; //emote 432 (release gas)

Referenced by boss_professor_putricide::boss_professor_putricideAI::DoAction(), and boss_professor_putricide::boss_professor_putricideAI::MovementInform().

◆ rotfaceWatchPos

Position const rotfaceWatchPos = {4390.371f, 3164.50f, 389.3890f, 5.497787f}
149{4390.371f, 3164.50f, 389.3890f, 5.497787f}; //emote 432 (release ooze)

Referenced by boss_professor_putricide::boss_professor_putricideAI::DoAction(), and boss_professor_putricide::boss_professor_putricideAI::MovementInform().

◆ tablePos