Legion/scripts/MawOfSouls/boss_helya_maw.cpp

#[COLOR=rgb(167,29,93)]include [COLOR=rgb(24,54,145)]“ScriptMgr.h[COLOR=rgb(24,54,145)]”

							1
						
						
							#[COLOR=rgb(167,29,93)]include [COLOR=rgb(24,54,145)]"ScriptedCreature.h[COLOR=rgb(24,54,145)]"
						
					
							2
						
						
							#[COLOR=rgb(167,29,93)]include [COLOR=rgb(24,54,145)]"maw_of_souls.h[COLOR=rgb(24,54,145)]"
						
					
							 
						
						
							 
						
					
							3
						
						
							[COLOR=rgb(167,29,93)]enum Spells {
						
					
							4
						
						
							[COLOR=rgb(150,152,150)]// Helya Spells
						
					
							5
						
						
							SPELL_HELYA_TORRENT_SIEGE = [COLOR=rgb(0,134,179)]197805,
						
					
							6
						
						
							SPELL_HELYA_TORRENT_BREACH = [COLOR=rgb(0,134,179)]198495,
						
					
							7
						
						
							SPELL_HELYA_WING_BUFFET = [COLOR=rgb(0,134,179)]198520,
						
					
							8
						
						
							SPELL_HELYA_CORRUPTED = [COLOR=rgb(0,134,179)]227223,
						
					
							9
						
						
							SPELL_HELYA_SUBMERGED = [COLOR=rgb(0,134,179)]196947,
						
					
							10
						
						
							SPELL_HELYA_BARRAGE = [COLOR=rgb(0,134,179)]202088,
						
					
							 
						
						
							 
						
					
							11
						
						
							[COLOR=rgb(150,152,150)]// Destructor Tentacle Spells
						
					
							12
						
						
							SPELL_DESTRUCTOR_SMASH = [COLOR=rgb(0,134,179)]196534,
						
					
							13
						
						
							SPELL_DESTRUCTOR_RUPTURE = [COLOR=rgb(0,134,179)]185539,
						
					
							 
						
						
							 
						
					
							14
						
						
							[COLOR=rgb(150,152,150)]// Grasping Tentacle Spells
						
					
							 
						
						
							 
						
					
							 
						
						
							 
						
					
							15
						
						
							[COLOR=rgb(150,152,150)]// Piercing Tentacle Spells
						
					
							16
						
						
							SPELL_PIERCING_TENTACLE = [COLOR=rgb(0,134,179)]197117,
						
					
							17
						
						
							};
						
					
							 
						
						
							 
						
					
							18
						
						
							[COLOR=rgb(167,29,93)]enum CreaturesIds {
						
					
							19
						
						
							NPC_DESTRUCTOR_TENTACLE = [COLOR=rgb(0,134,179)]99801, [COLOR=rgb(150,152,150)]// Level 112
						
					
							20
						
						
							NPC_GRASPING_TENTACLE = [COLOR=rgb(0,134,179)]100360, [COLOR=rgb(150,152,150)]// Level 111
						
					
							21
						
						
							NPC_PIERCING_TENTACLE = [COLOR=rgb(0,134,179)]100188, [COLOR=rgb(150,152,150)]// Level 112
						
					
							22
						
						
							};
						
					
							 
						
						
							 
						
					
							23
						
						
							[COLOR=rgb(167,29,93)]enum Auras {
						
					
							24
						
						
							AURA_HELYA_TAINT = [COLOR=rgb(0,134,179)]197262
						
					
							25
						
						
							};
						
					
							 
						
						
							 
						
					
							26
						
						
							[COLOR=rgb(167,29,93)]enum Yells {
						
					
							27
						
						
							YELL_PRE_ENCOUNTER = [COLOR=rgb(0,134,179)]0,
						
					
							28
						
						
							YELL_ENTER_COMBAT = [COLOR=rgb(0,134,179)]1,
						
					
							29
						
						
							YELL_TAINT = [COLOR=rgb(0,134,179)]2,
						
					
							30
						
						
							YELL_TENTACLE = [COLOR=rgb(0,134,179)]3,
						
					
							31
						
						
							YELL_CORRUPTED = [COLOR=rgb(0,134,179)]4,
						
					
							32
						
						
							YELL_KILL = [COLOR=rgb(0,134,179)]5,
						
					
							33
						
						
							YELL_WIPE = [COLOR=rgb(0,134,179)]6,
						
					
							34
						
						
							YELL_KILLED = [COLOR=rgb(0,134,179)]7
						
					
							35
						
						
							};
						
					
							 
						
						
							 
						
					
							36
						
						
							[COLOR=rgb(167,29,93)]enum Events {
						
					
							37
						
						
							EVENT_TAINT = [COLOR=rgb(0,134,179)]1,
						
					
							38
						
						
							EVENT_BARRAGE = [COLOR=rgb(0,134,179)]2
						
					
							39
						
						
							};
						
					
							 
						
						
							 
						
					
							40
						
						
							[COLOR=rgb(167,29,93)]enum Phases {
						
					
							41
						
						
							PHASE_SIEGE = [COLOR=rgb(0,134,179)]0,
						
					
							42
						
						
							PHASE_SUBMERGE = [COLOR=rgb(0,134,179)]1,
						
					
							43
						
						
							PHASE_BREACH = [COLOR=rgb(0,134,179)]2
						
					
							44
						
						
							};
						
					
							 
						
						
							 
						
					
							 
						
						
							 
						
					
							45
						
						
							[COLOR=rgb(167,29,93)]class [COLOR=rgb(121,93,163)]boss_helya_maw : [COLOR=rgb(167,29,93)]public [COLOR=rgb(121,93,163)]CreatureScript {
						
					
							46
						
						
							[COLOR=rgb(167,29,93)]public:
						
					
							47
						
						
							[COLOR=rgb(121,93,163)]boss_helya_maw() : CreatureScript([COLOR=rgb(24,54,145)]"boss_helya_maw[COLOR=rgb(24,54,145)]") {}
						
					
							 
						
						
							 
						
					
							48
						
						
							[COLOR=rgb(167,29,93)]struct [COLOR=rgb(121,93,163)]boss_helya_mawAI : [COLOR=rgb(167,29,93)]public [COLOR=rgb(121,93,163)]BossAI {
						
					
							49
						
						
							[COLOR=rgb(121,93,163)]boss_helya_mawAI(Creature* creature) : BossAI(creature, DATA_HELYA_MAW) {
						
					
							50
						
						
							[COLOR=rgb(0,134,179)]Initialize();
						
					
							51
						
						
							[COLOR=rgb(0,134,179)]SetCombatMovement([COLOR=rgb(0,134,179)]false);
						
					
							52
						
						
							}
						
					
							 
						
						
							 
						
					
							53
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]Initialize() {
						
					
							54
						
						
							[COLOR=rgb(0,134,179)]DifficultyModifier();
						
					
							55
						
						
							Phase = PHASE_SIEGE;
						
					
							56
						
						
							[COLOR=rgb(167,29,93)]if(isHeroic || isMythic) {
						
					
							57
						
						
							events.[COLOR=rgb(0,134,179)]ScheduleEvent(EVENT_TAINT, [COLOR=rgb(0,134,179)]1 * IN_MILLISECONDS, PHASE_SIEGE);
						
					
							58
						
						
							events.[COLOR=rgb(0,134,179)]ScheduleEvent(EVENT_BARRAGE, [COLOR=rgb(0,134,179)]42 * IN_MILLISECONDS, PHASE_SIEGE);
						
					
							59
						
						
							}
						
					
							60
						
						
							}
						
					
							 
						
						
							 
						
					
							61
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]Reset() [COLOR=rgb(167,29,93)]override {
						
					
							62
						
						
							[COLOR=rgb(0,134,179)]_Reset();
						
					
							63
						
						
							[COLOR=rgb(0,134,179)]Initialize();
						
					
							64
						
						
							[COLOR=rgb(150,152,150)]//summons.DespawnAll();
						
					
							65
						
						
							}
						
					
							 
						
						
							 
						
					
							66
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]DifficultyModifier() {
						
					
							67
						
						
							Difficulty instanceDifficulty = instance->instance->[COLOR=rgb(0,134,179)]GetDifficultyID();
						
					
							68
						
						
							uint64 myHealth = me->[COLOR=rgb(0,134,179)]GetHealth();
						
					
							69
						
						
							[COLOR=rgb(167,29,93)]double healthModifier;
						
					
							70
						
						
							[COLOR=rgb(167,29,93)]double damageModifier;
						
					
							 
						
						
							 
						
					
							71
						
						
							[COLOR=rgb(167,29,93)]if(instanceDifficulty == DIFFICULTY_NORMAL) {
						
					
							72
						
						
							healthModifier = [COLOR=rgb(0,134,179)]1.0;
						
					
							73
						
						
							damageModifier = [COLOR=rgb(0,134,179)]1.0;
						
					
							74
						
						
							} [COLOR=rgb(167,29,93)]else [COLOR=rgb(167,29,93)]if(instanceDifficulty == DIFFICULTY_HEROIC) {
						
					
							75
						
						
							healthModifier = [COLOR=rgb(0,134,179)]1.29687495317; [COLOR=rgb(150,152,150)]// HealthModifier 36.99
						
					
							76
						
						
							damageModifier = [COLOR=rgb(0,134,179)]1.30167051743;
						
					
							77
						
						
							isHeroic = [COLOR=rgb(0,134,179)]true;
						
					
							78
						
						
							} [COLOR=rgb(167,29,93)]else [COLOR=rgb(167,29,93)]if(instanceDifficulty == DIFFICULTY_MYTHIC) {
						
					
							79
						
						
							healthModifier = [COLOR=rgb(0,134,179)]1.62109363383; [COLOR=rgb(150,152,150)]// HealthModifier 46.25
						
					
							80
						
						
							damageModifier = [COLOR=rgb(0,134,179)]1.82000519133;
						
					
							81
						
						
							isMythic = [COLOR=rgb(0,134,179)]true;
						
					
							82
						
						
							} [COLOR=rgb(167,29,93)]else {
						
					
							83
						
						
							healthModifier = [COLOR=rgb(0,134,179)]20;
						
					
							84
						
						
							damageModifier = [COLOR=rgb(0,134,179)]20;
						
					
							85
						
						
							}
						
					
							86
						
						
							uint64 difficultyAdjustedHealth = [COLOR=rgb(167,29,93)]static_cast<[COLOR=rgb(167,29,93)]unsigned [COLOR=rgb(167,29,93)]long [COLOR=rgb(167,29,93)]long>(myHealth * healthModifier);
						
					
							87
						
						
							me->[COLOR=rgb(0,134,179)]SetMaxHealth(difficultyAdjustedHealth);
						
					
							88
						
						
							me->[COLOR=rgb(0,134,179)]SetHealth(difficultyAdjustedHealth);
						
					
							89
						
						
							me->[COLOR=rgb(0,134,179)]SetModifierValue(UNIT_MOD_DAMAGE_MAINHAND, BASE_VALUE, [COLOR=rgb(167,29,93)]static_cast<[COLOR=rgb(167,29,93)]float>(damageModifier));
						
					
							90
						
						
							}
						
					
							 
						
						
							 
						
					
							91
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]EnterCombat(Unit* victim) [COLOR=rgb(167,29,93)]override {
						
					
							92
						
						
							[COLOR=rgb(0,134,179)]BossAI::EnterCombat(victim);
						
					
							93
						
						
							instance->[COLOR=rgb(0,134,179)]SetBossState(DATA_HELYA_MAW, IN_PROGRESS);
						
					
							94
						
						
							[COLOR=rgb(0,134,179)]Talk(YELL_ENTER_COMBAT);
						
					
							95
						
						
							[COLOR=rgb(0,134,179)]DoZoneInCombat();
						
					
							96
						
						
							}
						
					
							 
						
						
							 
						
					
							97
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]JustDied(Unit* [COLOR=rgb(150,152,150)]/*killer[COLOR=rgb(150,152,150)]*/) [COLOR=rgb(167,29,93)]override {
						
					
							98
						
						
							[COLOR=rgb(0,134,179)]_JustDied();
						
					
							99
						
						
							[COLOR=rgb(0,134,179)]Talk(YELL_KILLED);
						
					
							100
						
						
							[COLOR=rgb(150,152,150)]//summons.DespawnAll();
						
					
							101
						
						
							instance->[COLOR=rgb(0,134,179)]SetBossState(DATA_HELYA_MAW, DONE);
						
					
							102
						
						
							}
						
					
							 
						
						
							 
						
					
							103
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]EnterEvadeMode(EvadeReason [COLOR=rgb(150,152,150)]/*why[COLOR=rgb(150,152,150)]*/) [COLOR=rgb(167,29,93)]override {
						
					
							104
						
						
							instance->[COLOR=rgb(0,134,179)]SetBossState(DATA_HELYA_MAW, FAIL);
						
					
							105
						
						
							[COLOR=rgb(150,152,150)]//summons.DespawnAll();
						
					
							106
						
						
							me->[COLOR=rgb(0,134,179)]CombatStop();
						
					
							107
						
						
							me->[COLOR=rgb(0,134,179)]DespawnOrUnsummon();
						
					
							108
						
						
							me->[COLOR=rgb(0,134,179)]SetCorpseDelay([COLOR=rgb(0,134,179)]5);
						
					
							109
						
						
							me->[COLOR=rgb(0,134,179)]SetRespawnDelay([COLOR=rgb(0,134,179)]10);
						
					
							110
						
						
							me->[COLOR=rgb(0,134,179)]RemoveAllAuras();
						
					
							111
						
						
							events.[COLOR=rgb(0,134,179)]Reset();
						
					
							112
						
						
							[COLOR=rgb(0,134,179)]Initialize();
						
					
							113
						
						
							}
						
					
							 
						
						
							 
						
					
							114
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]KilledUnit(Unit* victim) [COLOR=rgb(167,29,93)]override {
						
					
							115
						
						
							[COLOR=rgb(167,29,93)]if(victim->[COLOR=rgb(0,134,179)]GetTypeId() == TYPEID_PLAYER)
						
					
							116
						
						
							[COLOR=rgb(0,134,179)]Talk(YELL_KILL);
						
					
							117
						
						
							}
						
					
							 
						
						
							 
						
					
							118
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]JustSummoned(Creature* summoned) [COLOR=rgb(167,29,93)]override {
						
					
							 
						
						
							 
						
					
							119
						
						
							}
						
					
							 
						
						
							 
						
					
							120
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]EnterNextPhase() {
						
					
							 
						
						
							 
						
					
							121
						
						
							}
						
					
							 
						
						
							 
						
					
							122
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]UpdateAI(uint32 diff) [COLOR=rgb(167,29,93)]override {
						
					
							 
						
						
							 
						
					
							123
						
						
							[COLOR=rgb(167,29,93)]if(Phase < PHASE_BREACH) {
						
					
							 
						
						
							 
						
					
							 
						
						
							 
						
					
							124
						
						
							} [COLOR=rgb(167,29,93)]else {
						
					
							 
						
						
							 
						
					
							125
						
						
							[COLOR=rgb(167,29,93)]if(![COLOR=rgb(0,134,179)]UpdateVictim())
						
					
							126
						
						
							[COLOR=rgb(167,29,93)]return;
						
					
							127
						
						
							}
						
					
							 
						
						
							 
						
					
							128
						
						
							events.[COLOR=rgb(0,134,179)]Update(diff);
						
					
							 
						
						
							 
						
					
							129
						
						
							[COLOR=rgb(167,29,93)]while(uint32 eventID = events.[COLOR=rgb(0,134,179)]ExecuteEvent()) {
						
					
							130
						
						
							[COLOR=rgb(167,29,93)]switch(eventID) {
						
					
							131
						
						
							[COLOR=rgb(167,29,93)]case EVENT_TAINT:
						
					
							132
						
						
							[COLOR=rgb(167,29,93)]if(Unit* target = [COLOR=rgb(0,134,179)]SelectTarget(SELECT_TARGET_RANDOM, [COLOR=rgb(0,134,179)]0, [COLOR=rgb(0,134,179)]100.[COLOR=rgb(0,134,179)]0f, [COLOR=rgb(0,134,179)]true)) {
						
					
							133
						
						
							[COLOR=rgb(167,29,93)]if(!target->[COLOR=rgb(0,134,179)]HasAura(AURA_HELYA_TAINT)) {
						
					
							134
						
						
							[COLOR=rgb(0,134,179)]DoCast(target, AURA_HELYA_TAINT, [COLOR=rgb(0,134,179)]false);
						
					
							135
						
						
							}
						
					
							136
						
						
							}
						
					
							137
						
						
							[COLOR=rgb(167,29,93)]break;
						
					
							 
						
						
							 
						
					
							138
						
						
							[COLOR=rgb(167,29,93)]case EVENT_BARRAGE:
						
					
							139
						
						
							[COLOR=rgb(167,29,93)]if(Unit* target = [COLOR=rgb(0,134,179)]SelectTarget(SELECT_TARGET_RANDOM, [COLOR=rgb(0,134,179)]0, [COLOR=rgb(0,134,179)]100.[COLOR=rgb(0,134,179)]0f, [COLOR=rgb(0,134,179)]true)) {
						
					
							140
						
						
							[COLOR=rgb(0,134,179)]DoCast(target, SPELL_HELYA_BARRAGE);
						
					
							141
						
						
							}
						
					
							142
						
						
							[COLOR=rgb(167,29,93)]break;
						
					
							143
						
						
							}
						
					
							144
						
						
							}
						
					
							 
						
						
							 
						
					
							145
						
						
							[COLOR=rgb(0,134,179)]DoMeleeAttackIfReady();
						
					
							146
						
						
							}
						
					
							 
						
						
							 
						
					
							147
						
						
							[COLOR=rgb(167,29,93)]private:
						
					
							148
						
						
							uint8 Phase;
						
					
							149
						
						
							[COLOR=rgb(150,152,150)]//SummonList summons;
						
					
							150
						
						
							[COLOR=rgb(167,29,93)]bool isSubmerged;
						
					
							151
						
						
							[COLOR=rgb(167,29,93)]bool isHeroic = [COLOR=rgb(0,134,179)]false;
						
					
							152
						
						
							[COLOR=rgb(167,29,93)]bool isMythic = [COLOR=rgb(0,134,179)]false;
						
					
							153
						
						
							};
						
					
							 
						
						
							 
						
					
							154
						
						
							[COLOR=rgb(167,29,93)]private:
						
					
							155
						
						
							CreatureAI* [COLOR=rgb(121,93,163)]GetAI(Creature* creature) [COLOR=rgb(167,29,93)]const [COLOR=rgb(167,29,93)]override {
						
					
							156
						
						
							[COLOR=rgb(167,29,93)]return GetMawOfSoulsAI<boss_helya_mawAI>(creature);
						
					
							157
						
						
							}
						
					
							158
						
						
							};
						
					
							 
						
						
							 
						
					
							159
						
						
							[COLOR=rgb(150,152,150)]// NPC 99801
						
					
							160
						
						
							[COLOR=rgb(167,29,93)]class [COLOR=rgb(121,93,163)]npc_helya_maw_destructor_tentacle : [COLOR=rgb(167,29,93)]public [COLOR=rgb(121,93,163)]CreatureScript {
						
					
							161
						
						
							[COLOR=rgb(167,29,93)]public:
						
					
							162
						
						
							[COLOR=rgb(121,93,163)]npc_helya_maw_destructor_tentacle() : CreatureScript([COLOR=rgb(24,54,145)]"npc_helya_maw_destructor_tentacle[COLOR=rgb(24,54,145)]") { }
						
					
							 
						
						
							 
						
					
							163
						
						
							[COLOR=rgb(167,29,93)]struct [COLOR=rgb(121,93,163)]npc_helya_maw_destructor_tentacleAI : [COLOR=rgb(167,29,93)]public [COLOR=rgb(121,93,163)]ScriptedAI {
						
					
							 
						
						
							 
						
					
							164
						
						
							[COLOR=rgb(121,93,163)]npc_helya_maw_destructor_tentacleAI(Creature* creature) : ScriptedAI(creature) {
						
					
							165
						
						
							instance = creature->[COLOR=rgb(0,134,179)]GetInstanceScript();
						
					
							166
						
						
							[COLOR=rgb(0,134,179)]SetCombatMovement([COLOR=rgb(0,134,179)]false);
						
					
							167
						
						
							[COLOR=rgb(0,134,179)]Initialize();
						
					
							168
						
						
							}
						
					
							 
						
						
							 
						
					
							169
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]Initialize() {
						
					
							170
						
						
							[COLOR=rgb(0,134,179)]DoCastVictim(SPELL_DESTRUCTOR_RUPTURE);
						
					
							171
						
						
							}
						
					
							 
						
						
							 
						
					
							172
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]EnterCombat(Unit* who) [COLOR=rgb(167,29,93)]override {
						
					
							 
						
						
							 
						
					
							173
						
						
							}
						
					
							 
						
						
							 
						
					
							174
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]JustDied(Unit* [COLOR=rgb(150,152,150)]/*killer[COLOR=rgb(150,152,150)]*/) {
						
					
							175
						
						
							[COLOR=rgb(167,29,93)]if(Creature* helya = [COLOR=rgb(0,134,179)]ObjectAccessor::GetCreature((*me), instance->[COLOR=rgb(0,134,179)]GetGuidData(DATA_HELYA_MAW))) {
						
					
							176
						
						
							helya->[COLOR=rgb(0,134,179)]AI()->[COLOR=rgb(0,134,179)]Talk(YELL_TENTACLE);
						
					
							177
						
						
							uint64 damagePerTentacle = helya->[COLOR=rgb(0,134,179)]GetMaxHealth() * [COLOR=rgb(0,134,179)]0.0333;
						
					
							178
						
						
							uint64 newHealth = helya->[COLOR=rgb(0,134,179)]GetHealth() - damagePerTentacle;
						
					
							179
						
						
							helya->[COLOR=rgb(0,134,179)]SetHealth(newHealth);
						
					
							180
						
						
							}
						
					
							181
						
						
							}
						
					
							 
						
						
							 
						
					
							182
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]UpdateAI(uint32 diff) [COLOR=rgb(167,29,93)]override {
						
					
							 
						
						
							 
						
					
							183
						
						
							[COLOR=rgb(167,29,93)]if(![COLOR=rgb(0,134,179)]UpdateVictim())
						
					
							184
						
						
							[COLOR=rgb(167,29,93)]return;
						
					
							 
						
						
							 
						
					
							185
						
						
							[COLOR=rgb(167,29,93)]if(presenseCheck <= diff) {
						
					
							186
						
						
							[COLOR=rgb(167,29,93)]if (!playerInRange) {
						
					
							187
						
						
							[COLOR=rgb(0,134,179)]DoCastAOE(SPELL_DESTRUCTOR_SMASH);
						
					
							188
						
						
							}
						
					
							189
						
						
							presenseCheck = [COLOR=rgb(0,134,179)]5 * IN_MILLISECONDS;
						
					
							190
						
						
							} [COLOR=rgb(167,29,93)]else presenseCheck -= diff;
						
					
							 
						
						
							 
						
					
							191
						
						
							[COLOR=rgb(167,29,93)]if(ruptureEvery <= diff) {
						
					
							192
						
						
							[COLOR=rgb(167,29,93)]if(playerInRange) {
						
					
							193
						
						
							[COLOR=rgb(0,134,179)]DoCastVictim(SPELL_DESTRUCTOR_RUPTURE);
						
					
							194
						
						
							ruptureEvery = [COLOR=rgb(0,134,179)]14 * IN_MILLISECONDS;
						
					
							195
						
						
							} [COLOR=rgb(167,29,93)]else {
						
					
							196
						
						
							ruptureEvery = [COLOR=rgb(0,134,179)]1 * IN_MILLISECONDS;
						
					
							197
						
						
							}
						
					
							198
						
						
							} [COLOR=rgb(167,29,93)]else ruptureEvery -= diff;
						
					
							 
						
						
							 
						
					
							199
						
						
							[COLOR=rgb(0,134,179)]DoMeleeAttackIfReady();
						
					
							 
						
						
							}
						
					
							 
						
						
							 
						
					
							200
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]MoveInLineOfSight(Unit* who) [COLOR=rgb(167,29,93)]override {
						
					
							201
						
						
							playerInRange = (who->[COLOR=rgb(0,134,179)]GetTypeId() == TYPEID_PLAYER && me->[COLOR=rgb(0,134,179)]GetDistance2d(who) < [COLOR=rgb(0,134,179)]3.[COLOR=rgb(0,134,179)]0f) ? [COLOR=rgb(0,134,179)]true : [COLOR=rgb(0,134,179)]false;
						
					
							202
						
						
							}
						
					
							 
						
						
							 
						
					
							203
						
						
							[COLOR=rgb(167,29,93)]private:
						
					
							204
						
						
							InstanceScript* instance;
						
					
							205
						
						
							uint32 ruptureEvery = [COLOR=rgb(0,134,179)]14 * IN_MILLISECONDS;
						
					
							206
						
						
							uint32 presenseCheck = [COLOR=rgb(0,134,179)]5 * IN_MILLISECONDS;
						
					
							207
						
						
							[COLOR=rgb(167,29,93)]bool playerInRange = [COLOR=rgb(0,134,179)]false;
						
					
							208
						
						
							};
						
					
							 
						
						
							 
						
					
							209
						
						
							CreatureAI* [COLOR=rgb(121,93,163)]GetAI(Creature* creature) [COLOR=rgb(167,29,93)]const [COLOR=rgb(167,29,93)]override {
						
					
							210
						
						
							[COLOR=rgb(167,29,93)]return GetMawOfSoulsAI<npc_helya_maw_destructor_tentacleAI>(creature);
						
					
							211
						
						
							}
						
					
							212
						
						
							};
						
					
							 
						
						
							 
						
					
							213
						
						
							[COLOR=rgb(167,29,93)]void [COLOR=rgb(121,93,163)]AddSC_boss_helya_maw() {
						
					
							214
						
						
							[COLOR=rgb(167,29,93)]new [COLOR=rgb(0,134,179)]boss_helya_maw();
						
					
							215
						
						
							[COLOR=rgb(167,29,93)]new [COLOR=rgb(0,134,179)]npc_helya_maw_destructor_tentacle();

Create a pull request in the Github repository.