@@ -76,6 +76,176 @@ SpellScript* GetScript_DarkmoonSteamTonkCannon(SpellEntry const*)
7676 return new DarkmoonSteamTonkCannonScript ();
7777}
7878
79+ // 456 - SHOWLABEL Only OFF
80+ struct ShowlabelOffScript : public SpellScript
81+ {
82+ bool OnEffectExecute (Spell* spell, SpellEffectIndex effIdx) const final
83+ {
84+ if (effIdx == EFFECT_INDEX_0)
85+ {
86+ if (Player* pPlayer = spell->m_caster ->ToPlayer ())
87+ pPlayer->SetGMChat (false , true );
88+ }
89+ return true ;
90+ }
91+ };
92+
93+ SpellScript* GetScript_ShowlabelOff (SpellEntry const *)
94+ {
95+ return new ShowlabelOffScript ();
96+ }
97+
98+ // 2765 - SHOWLABEL Only ON
99+ struct ShowlabelOnScript : public SpellScript
100+ {
101+ bool OnEffectExecute (Spell* spell, SpellEffectIndex effIdx) const final
102+ {
103+ if (effIdx == EFFECT_INDEX_0)
104+ {
105+ if (Player* pPlayer = spell->m_caster ->ToPlayer ())
106+ pPlayer->SetGMChat (true , true );
107+ }
108+ return true ;
109+ }
110+ };
111+
112+ SpellScript* GetScript_ShowlabelOn (SpellEntry const *)
113+ {
114+ return new ShowlabelOnScript ();
115+ }
116+
117+ // 1509 - GM Only OFF
118+ struct GMOffScript : public SpellScript
119+ {
120+ bool OnEffectExecute (Spell* spell, SpellEffectIndex effIdx) const final
121+ {
122+ if (effIdx == EFFECT_INDEX_0)
123+ {
124+ if (Player* pPlayer = spell->m_caster ->ToPlayer ())
125+ pPlayer->SetGameMaster (false , true );
126+ }
127+ return true ;
128+ }
129+ };
130+
131+ SpellScript* GetScript_GMOff (SpellEntry const *)
132+ {
133+ return new GMOffScript ();
134+ }
135+
136+ // 18139 - GM Only ON
137+ struct GMOnScript : public SpellScript
138+ {
139+ bool OnEffectExecute (Spell* spell, SpellEffectIndex effIdx) const final
140+ {
141+ if (effIdx == EFFECT_INDEX_0)
142+ {
143+ if (Player* pPlayer = spell->m_caster ->ToPlayer ())
144+ pPlayer->SetGameMaster (true , true );
145+ }
146+ return true ;
147+ }
148+ };
149+
150+ SpellScript* GetScript_GMOn (SpellEntry const *)
151+ {
152+ return new GMOnScript ();
153+ }
154+
155+ // 6147 - INVIS Only OFF
156+ struct InvisOffScript : public SpellScript
157+ {
158+ bool OnEffectExecute (Spell* spell, SpellEffectIndex effIdx) const final
159+ {
160+ if (effIdx == EFFECT_INDEX_0)
161+ {
162+ if (Player* pPlayer = spell->m_caster ->ToPlayer ())
163+ pPlayer->SetGMVisible (true , true );
164+ }
165+ return true ;
166+ }
167+ };
168+
169+ SpellScript* GetScript_InvisOff (SpellEntry const *)
170+ {
171+ return new InvisOffScript ();
172+ }
173+
174+ // 2763 - INVIS Only ON
175+ struct InvisOnScript : public SpellScript
176+ {
177+ bool OnEffectExecute (Spell* spell, SpellEffectIndex effIdx) const final
178+ {
179+ if (effIdx == EFFECT_INDEX_0)
180+ {
181+ if (Player* pPlayer = spell->m_caster ->ToPlayer ())
182+ pPlayer->SetGMVisible (false , true );
183+ }
184+ return true ;
185+ }
186+ };
187+
188+ SpellScript* GetScript_InvisOn (SpellEntry const *)
189+ {
190+ return new InvisOnScript ();
191+ }
192+
193+ // 20114 - BM Only OFF
194+ // 24675 - BM OFF
195+ struct BMOffScript : public SpellScript
196+ {
197+ bool OnEffectExecute (Spell* spell, SpellEffectIndex effIdx) const final
198+ {
199+ if (effIdx == EFFECT_INDEX_0)
200+ {
201+ if (Player* pPlayer = spell->m_caster ->ToPlayer ())
202+ pPlayer->SetCheatBeastmaster (false , true );
203+ }
204+ return true ;
205+ }
206+ };
207+
208+ SpellScript* GetScript_BMOff (SpellEntry const *)
209+ {
210+ return new BMOffScript ();
211+ }
212+
213+ // 20115 - BM Only ON
214+ // 24676 - BM ON
215+ struct BMOnScript : public SpellScript
216+ {
217+ bool OnEffectExecute (Spell* spell, SpellEffectIndex effIdx) const final
218+ {
219+ if (effIdx == EFFECT_INDEX_0)
220+ {
221+ if (Player* pPlayer = spell->m_caster ->ToPlayer ())
222+ pPlayer->SetCheatBeastmaster (true , true );
223+ }
224+ return true ;
225+ }
226+ };
227+
228+ SpellScript* GetScript_BMOn (SpellEntry const *)
229+ {
230+ return new BMOnScript ();
231+ }
232+
233+ // 29313 - CooldownAll
234+ struct ClearAllCooldownsScript : public SpellScript
235+ {
236+ bool OnEffectExecute (Spell* spell, SpellEffectIndex effIdx) const final
237+ {
238+ if (effIdx == EFFECT_INDEX_0 && spell->m_casterUnit )
239+ spell->m_casterUnit ->RemoveAllCooldowns ();
240+ return true ;
241+ }
242+ };
243+
244+ SpellScript* GetScript_ClearAllCooldowns (SpellEntry const *)
245+ {
246+ return new ClearAllCooldownsScript ();
247+ }
248+
79249void AddSC_special_spell_scripts ()
80250{
81251 Script* newscript;
@@ -94,4 +264,49 @@ void AddSC_special_spell_scripts()
94264 newscript->Name = " spell_darkmoon_steam_tonk_cannon" ;
95265 newscript->GetSpellScript = &GetScript_DarkmoonSteamTonkCannon;
96266 newscript->RegisterSelf ();
267+
268+ newscript = new Script;
269+ newscript->Name = " spell_showlabel_off" ;
270+ newscript->GetSpellScript = &GetScript_ShowlabelOff;
271+ newscript->RegisterSelf ();
272+
273+ newscript = new Script;
274+ newscript->Name = " spell_showlabel_on" ;
275+ newscript->GetSpellScript = &GetScript_ShowlabelOn;
276+ newscript->RegisterSelf ();
277+
278+ newscript = new Script;
279+ newscript->Name = " spell_gm_off" ;
280+ newscript->GetSpellScript = &GetScript_GMOff;
281+ newscript->RegisterSelf ();
282+
283+ newscript = new Script;
284+ newscript->Name = " spell_gm_on" ;
285+ newscript->GetSpellScript = &GetScript_GMOn;
286+ newscript->RegisterSelf ();
287+
288+ newscript = new Script;
289+ newscript->Name = " spell_invis_off" ;
290+ newscript->GetSpellScript = &GetScript_InvisOff;
291+ newscript->RegisterSelf ();
292+
293+ newscript = new Script;
294+ newscript->Name = " spell_invis_on" ;
295+ newscript->GetSpellScript = &GetScript_InvisOn;
296+ newscript->RegisterSelf ();
297+
298+ newscript = new Script;
299+ newscript->Name = " spell_bm_off" ;
300+ newscript->GetSpellScript = &GetScript_BMOff;
301+ newscript->RegisterSelf ();
302+
303+ newscript = new Script;
304+ newscript->Name = " spell_bm_on" ;
305+ newscript->GetSpellScript = &GetScript_BMOn;
306+ newscript->RegisterSelf ();
307+
308+ newscript = new Script;
309+ newscript->Name = " spell_clear_all_cooldowns" ;
310+ newscript->GetSpellScript = &GetScript_ClearAllCooldowns;
311+ newscript->RegisterSelf ();
97312}
0 commit comments