All pastes #916700 Raw Edit

Unnamed

public text v1 · immutable
#916700 ·published 2008-02-24 21:28 UTC
rendered paste body
Index: scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h
===================================================================
--- scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h	(revision 0)
+++ scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h	(revision 0)
@@ -0,0 +1,8 @@
+#ifndef DEF_MAGTHERIDONS_LAIR_H
+#define DEF_MAGTHERIDONS_LAIR_H
+#define DATA_EVENT_STARTER 1
+#define DATA_MAGTHERIDON 2
+#define DATA_MAGTHERIDON_EVENT_ENDED 3
+#define DATA_MAGTHERIDON_EVENT_STARTED 4
+#define DATA_MAGTHERIDON_EVENT_STATUS 5
+#endif
Index: scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp
===================================================================
--- scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp	(revision 268)
+++ scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_magtheridons_lair.h"
 
 struct MANGOS_DLL_DECL instance_magtheridons_lair : public ScriptedInstance
 {
@@ -47,38 +48,38 @@
             Magtheridon = creature->GetGUID();
     }
 
-    uint64 GetData64(char *identifier)
+    uint64 GetData64(uint32 identifier)
     {
-        if(identifier == "Magtheridon")
+        if(identifier  == DATA_MAGTHERIDON)
             return Magtheridon;
 
-        if(identifier == "Event_Starter")
+        if(identifier  == DATA_EVENT_STARTER)
             return EventStarter;
 
         return 0;
     }
 
-    void SetData64(char *identifier, uint64 guid)
+    void SetData64(uint32 identifier, uint64 guid)
     {
-        if(identifier == "Magtheridon")
+        if(identifier  == DATA_MAGTHERIDON)
             Magtheridon = guid;
 
-        if(identifier == "Event_Starter")
+        if(identifier  == DATA_EVENT_STARTER)
             EventStarter = guid;
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "Magtheridon_Event_Started")
+        if(type == DATA_MAGTHERIDON_EVENT_STARTED)
             EncounterInProgress = true;
 
-        if(type == "Magtheridon_Event_Ended")
+        if(type == DATA_MAGTHERIDON_EVENT_ENDED)
             EncounterInProgress = false;
     }
 
-    uint32 GetData(char *type) 
+    uint32 GetData(uint32 type) 
     { 
-        if(type == "Magtheridon_Event_Status")
+        if(type == DATA_MAGTHERIDON_EVENT_STATUS)
             return EncounterInProgress;
 
         return 0;
Index: scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp
===================================================================
--- scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp	(revision 268)
+++ scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_magtheridons_lair.h"
 #include "../../../../../../game/Player.h"
 #include "../../../../../../game/Map.h"
 #include "../../../../../../game/GameObject.h"
@@ -453,7 +454,7 @@
 
     ScriptedInstance* pInst = (ScriptedInstance*)_GO->GetMap()->GetInstanceData();
 
-    Unit* pUnit = Unit::GetUnit(*_GO, pInst->GetData64("Magtheridon"));
+    Unit* pUnit = Unit::GetUnit(*_GO, pInst->GetData64(DATA_MAGTHERIDON));
 
     if (!pUnit || !pUnit->isAlive() || !player)
     {
Index: scripts/zone/zulgurub/boss_thekal.cpp
===================================================================
--- scripts/zone/zulgurub/boss_thekal.cpp	(revision 268)
+++ scripts/zone/zulgurub/boss_thekal.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_zulgurub.h"
 
 #define SPELL_MORTALCLEAVE        22859
 #define SPELL_SILENCE             23207
@@ -98,7 +99,7 @@
         m_creature->CombatStop();
         DoGoHome();
         if(pInstance)
-            pInstance->SetData("Thekal_Alive", 0);
+            pInstance->SetData(DATA_THEKAL_ALIVE, 0);
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_POLYMORPH, true);
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_SILENCE, true);    
@@ -140,7 +141,7 @@
         DoPlaySoundToSet(m_creature,SOUND_DEATH);
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
-            pInstance->SetData("Thekal_Death", 0);
+            pInstance->SetData(DATA_THEKAL_DEATH, 0);
     }
     
   void ResetThreat()
@@ -197,20 +198,20 @@
                     if(pInstance)
                     {    
 
-                    if(pInstance->GetData("LorKhanIsDead"))
+                    if(pInstance->GetData(DATA_LORKHANISDEAD))
                     {
                     //Resurrect LorKhan
-                    Unit *pLorKhan = Unit::GetUnit((*m_creature), pInstance->GetData64("LorKhan"));
+                    Unit *pLorKhan = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_LORKHAN));
                     pLorKhan->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); 
                     pLorKhan->setFaction(14);
                     pLorKhan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
                     pLorKhan->SetHealth(int(pLorKhan->GetMaxHealth()*1.0));
                     }
                     
-                    if(pInstance->GetData("ZathIsDead"))
+                    if(pInstance->GetData(DATA_ZATHISDEAD))
                     {
                     //Resurrect Zath
-                    Unit *pZath = Unit::GetUnit((*m_creature), pInstance->GetData64("Zath"));
+                    Unit *pZath = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_ZATH));
                     pZath->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); 
                     pZath->setFaction(14);
                     pZath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -241,7 +242,7 @@
                 m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 3);
                 m_creature->AttackStop();
                 if(pInstance)
-                pInstance->SetData("ThekalFake_Death", 0);
+                pInstance->SetData(DATA_THEKALFAKE_DEATH, 0);
                 WasDead=true;
         }
 
@@ -353,7 +354,7 @@
         m_creature->CombatStop();
         DoGoHome();
         if(pInstance)
-            pInstance->SetData("LorKhan_Alive", 0);
+            pInstance->SetData(DATA_LORKHAN_ALIVE, 0);
         m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); 
         m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
@@ -429,8 +430,8 @@
                     if(pInstance)
                     {    
 
-                     Unit *pThekal = Unit::GetUnit((*m_creature), pInstance->GetData64("Thekal"));
-                     Unit *pZath = Unit::GetUnit((*m_creature), pInstance->GetData64("Zath"));
+                     Unit *pThekal = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_THEKAL));
+                     Unit *pZath = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_ZATH));
 
 
 
@@ -467,20 +468,20 @@
                     if(pInstance)
                     {    
 
-                    if(pInstance->GetData("ThekalIsFakeDead"))
+                    if(pInstance->GetData(DATA_THEKALISFAKEDEAD))
                     {
                     //Resurrect Thekal
-                    Unit *pThekal = Unit::GetUnit((*m_creature), pInstance->GetData64("Thekal"));
+                    Unit *pThekal = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_THEKAL));
                     pThekal->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); 
                     pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
                     pThekal->setFaction(14);
                     pThekal->SetHealth(int(pThekal->GetMaxHealth()*1.0));
                     }
                     
-                    if(pInstance->GetData("ZathIsDead"))
+                    if(pInstance->GetData(DATA_ZATHISDEAD))
                     {
                     //Resurrect Zath
-                    Unit *pZath = Unit::GetUnit((*m_creature), pInstance->GetData64("Zath"));
+                    Unit *pZath = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_ZATH));
                     pZath->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); 
                     pZath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
                     pZath->setFaction(14);
@@ -498,7 +499,7 @@
                 m_creature->setFaction(35);
                 m_creature->AttackStop();
                 if(pInstance)
-                pInstance->SetData("LorKhan_Death", 0);
+                pInstance->SetData(DATA_LORKHAN_DEATH, 0);
                 FakeDeath = true;
         }
 
@@ -542,7 +543,7 @@
         m_creature->CombatStop();
         DoGoHome();
         if(pInstance)
-            pInstance->SetData("Zath_Alive", 0);
+            pInstance->SetData(DATA_ZATH_ALIVE, 0);
         m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); 
         m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
@@ -644,20 +645,20 @@
                     if(pInstance)
                     {    
 
-                    if(pInstance->GetData("LorKhanIsDead"))
+                    if(pInstance->GetData(DATA_LORKHANISDEAD))
                     {
                     //Resurrect LorKhan
-                    Unit *pLorKhan = Unit::GetUnit((*m_creature), pInstance->GetData64("LorKhan"));
+                    Unit *pLorKhan = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_LORKHAN));
                     pLorKhan->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); 
                     pLorKhan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
                     pLorKhan->setFaction(14);
                     pLorKhan->SetHealth(int(pLorKhan->GetMaxHealth()*1.0));
                     }
                     
-                    if(pInstance->GetData("ThekalIsFakeDead"))
+                    if(pInstance->GetData(DATA_THEKALISFAKEDEAD))
                     {
                     //Resurrect Thekal
-                    Unit *pThekal = Unit::GetUnit((*m_creature), pInstance->GetData64("Thekal"));
+                    Unit *pThekal = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_THEKAL));
                     pThekal->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); 
                     pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
                     pThekal->setFaction(14);
@@ -675,7 +676,7 @@
                 m_creature->setFaction(35);
                 m_creature->AttackStop();
                 if(pInstance)
-                pInstance->SetData("Zath_Death", 0);
+                pInstance->SetData(DATA_ZATH_DEATH, 0);
                 FakeDeath = true;
         }
 
Index: scripts/zone/zulgurub/boss_jeklik.cpp
===================================================================
--- scripts/zone/zulgurub/boss_jeklik.cpp	(revision 268)
+++ scripts/zone/zulgurub/boss_jeklik.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_zulgurub.h"
 
 #define SPELL_CHARGE              22911
 #define SPELL_ASPECT_OF_JEKLIK    24687       //This is her silence spell. 
@@ -117,7 +118,7 @@
 
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
-            pInstance->SetData("Jeklik_Death", 0);
+            pInstance->SetData(DATA_JEKLIK_DEATH, 0);
 
     }
     
@@ -357,7 +358,7 @@
             if(pInstance)
             {    
 
-                    if(pInstance->GetData("JeklikIsDead"))
+                    if(pInstance->GetData(DATA_JEKLIKISDEAD))
                     //remove
                     m_creature->setDeathState(JUST_DIED);
                     m_creature->RemoveCorpse();
Index: scripts/zone/zulgurub/def_zulgurub.h
===================================================================
--- scripts/zone/zulgurub/def_zulgurub.h	(revision 0)
+++ scripts/zone/zulgurub/def_zulgurub.h	(revision 0)
@@ -0,0 +1,31 @@
+#ifndef DEF_ZULGURUB_H
+#define DEF_ZULGURUB_H
+#define DATA_ARLOKKISDEAD 1
+#define DATA_ARLOKK_DEATH 2
+#define DATA_JEKLIKISDEAD 3
+#define DATA_JEKLIK_DEATH 4
+#define DATA_JINDO 5
+#define DATA_LORKHAN 6
+#define DATA_LORKHANISALIVE 7
+#define DATA_LORKHANISDEAD 8
+#define DATA_LORKHAN_ALIVE 9
+#define DATA_LORKHAN_DEATH 10
+#define DATA_MARLIISDEAD 11
+#define DATA_MARLI_DEATH 12
+#define DATA_OHGANISDEAD 13
+#define DATA_OHGAN_DEATH 14
+#define DATA_THEKAL 15
+#define DATA_THEKALFAKE_DEATH 16
+#define DATA_THEKALISALIVE 17
+#define DATA_THEKALISDEAD 18
+#define DATA_THEKALISFAKEDEAD 19
+#define DATA_THEKAL_ALIVE 20
+#define DATA_THEKAL_DEATH 21
+#define DATA_VENOXISISDEAD 22
+#define DATA_VENOXIS_DEATH 23
+#define DATA_ZATH 24
+#define DATA_ZATHISALIVE 25
+#define DATA_ZATHISDEAD 26
+#define DATA_ZATH_ALIVE 27
+#define DATA_ZATH_DEATH 28
+#endif
Index: scripts/zone/zulgurub/instance_zulgurub.cpp
===================================================================
--- scripts/zone/zulgurub/instance_zulgurub.cpp	(revision 268)
+++ scripts/zone/zulgurub/instance_zulgurub.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_zulgurub.h"
 
 struct MANGOS_DLL_DECL instance_zulgurub : public ScriptedInstance
 {
@@ -76,99 +77,99 @@
         return false;
     }
 
-    uint32 GetData(char *type)
+    uint32 GetData(uint32 type)
     {
 
-        if(type == "JeklikIsDead")
+        if(type == DATA_JEKLIKISDEAD)
             if(IsBossDied[0])
                 return 1;
 
-        if(type == "VenoxisIsDead")
+        if(type == DATA_VENOXISISDEAD)
             if(IsBossDied[1])
                 return 1;
 
-        if(type == "MarliIsDead")
+        if(type == DATA_MARLIISDEAD)
             if(IsBossDied[2])
                 return 1;
 
-        if(type == "ThekalIsDead")
+        if(type == DATA_THEKALISDEAD)
             if(IsBossDied[3])
                 return 1;
 
-        if(type == "ArlokkIsDead")
+        if(type == DATA_ARLOKKISDEAD)
             if(IsBossDied[4])
                 return 1;
 
-        if(type == "LorKhanIsDead")
+        if(type == DATA_LORKHANISDEAD)
             if(IsBossDied[5])
                 return 1;
 
-        if(type == "ZathIsDead")
+        if(type == DATA_ZATHISDEAD)
             if(IsBossDied[6])
                 return 1;
 
-        if(type == "ThekalIsFakeDead")
+        if(type == DATA_THEKALISFAKEDEAD)
             if(IsBossDied[7])
                 return 1;
 
-        if(type == "OhganIsDead")
+        if(type == DATA_OHGANISDEAD)
             if(IsBossDied[8])
                 return 1;
 
         //Boss is not dead. Resetting function for some bosses after killing them but whiping at the complete encounter.
 
-        if(type == "ThekalIsAlive")
+        if(type == DATA_THEKALISALIVE)
             if(IsBossDied[3])
                 return 0;
 
-        if(type == "LorKhanIsAlive")
+        if(type == DATA_LORKHANISALIVE)
             if(IsBossDied[5])
                 return 0;
 
-        if(type == "ZathIsAlive")
+        if(type == DATA_ZATHISALIVE)
             if(IsBossDied[6])
                 return 0;
 
         return 0;
     }
 
-    uint64 GetData64 (char *identifier) {
-        if (identifier == "LorKhan")
+    uint64 GetData64 (uint32 identifier) {
+        if (identifier  == DATA_LORKHAN)
             return LorKhanGUID;
-        if (identifier == "Zath")
+        if (identifier  == DATA_ZATH)
             return ZathGUID;
-        if (identifier == "Thekal")
+        if (identifier  == DATA_THEKAL)
             return ThekalGUID;
-        if (identifier == "Jindo")
+        if (identifier  == DATA_JINDO)
             return JindoGUID;
         return 0;
     } // end GetData64
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "Jeklik_Death")
+        if(type == DATA_JEKLIK_DEATH)
             IsBossDied[0] = true;
-        else if(type == "Venoxis_Death")
+        else if(type == DATA_VENOXIS_DEATH)
             IsBossDied[1] = true;
-        else if(type == "Marli_Death")
+        else if(type == DATA_MARLI_DEATH)
             IsBossDied[2] = true;
-        else if(type == "Thekal_Death")
+        else if(type == DATA_THEKAL_DEATH)
             IsBossDied[3] = true;
-        else if(type == "Arlokk_Death")
+        else if(type == DATA_ARLOKK_DEATH)
             IsBossDied[4] = true;
-        else if(type == "LorKhan_Death")
+        else if(type == DATA_LORKHAN_DEATH)
             IsBossDied[5] = true;
-        else if(type == "Zath_Death")
+        else if(type == DATA_ZATH_DEATH)
             IsBossDied[6] = true;
-        else if(type == "ThekalFake_Death")
+        else if(type == DATA_THEKALFAKE_DEATH)
         IsBossDied[7] = true;
-        else if(type == "Ohgan_Death")
+        else if(type == DATA_OHGAN_DEATH)
             IsBossDied[8] = true;
-        else if(type == "LorKhan_Alive")
+        else if(type == DATA_LORKHAN_ALIVE)
             IsBossDied[5] = false;
-        else if(type == "Zath_Alive")
+        else if(type == DATA_ZATH_ALIVE)
             IsBossDied[6] = false;
-        else if(type == "Thekal_Alive")
+        else if(type == DATA_THEKAL_ALIVE)
             IsBossDied[7] = false;
     }
 };
Index: scripts/zone/zulgurub/boss_arlokk.cpp
===================================================================
--- scripts/zone/zulgurub/boss_arlokk.cpp	(revision 268)
+++ scripts/zone/zulgurub/boss_arlokk.cpp	(working copy)
@@ -23,6 +23,7 @@
 
 
 #include "../../sc_defines.h"
+#include "def_zulgurub.h"
 
 #define SPELL_SHADOWWORDPAIN       23952
 #define SPELL_GOUGE                24698
@@ -121,7 +122,7 @@
         m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
-            pInstance->SetData("Arlokk_Death", 0);
+            pInstance->SetData(DATA_ARLOKK_DEATH, 0);
     }
 
   void ResetThreat()
Index: scripts/zone/zulgurub/boss_venoxis.cpp
===================================================================
--- scripts/zone/zulgurub/boss_venoxis.cpp	(revision 268)
+++ scripts/zone/zulgurub/boss_venoxis.cpp	(working copy)
@@ -22,6 +22,7 @@
 
 
 #include "../../sc_defines.h"
+#include "def_zulgurub.h"
 
 #define SPELL_HOLY_FIRE     23860
 #define SPELL_HOLY_WRATH    28883               //Not sure if this or 23979
@@ -112,7 +113,7 @@
     {
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
-            pInstance->SetData("Venoxis_Death", 0);
+            pInstance->SetData(DATA_VENOXIS_DEATH, 0);
     }
 
   void ResetThreat()
Index: scripts/zone/zulgurub/boss_hakkar.cpp
===================================================================
--- scripts/zone/zulgurub/boss_hakkar.cpp	(revision 268)
+++ scripts/zone/zulgurub/boss_hakkar.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_zulgurub.h"
 
 
 #define SPELL_BLOODSIPHON            24322
@@ -246,7 +247,7 @@
         {
             if(pInstance)
             {    
-                if(!pInstance->GetData("JeklikIsDead"))
+                if(!pInstance->GetData(DATA_JEKLIKISDEAD))
                 {
                 
                   if (AspectOfJeklik_Timer < diff)
@@ -269,7 +270,7 @@
         {
             if(pInstance)
             {    
-                if(!pInstance->GetData("VenoxisIsDead"))
+                if(!pInstance->GetData(DATA_VENOXISISDEAD))
                 {
                 
                   if (AspectOfVenoxis_Timer < diff)
@@ -292,7 +293,7 @@
         {
             if(pInstance)
             {    
-                if(!pInstance->GetData("MarliIsDead"))
+                if(!pInstance->GetData(DATA_MARLIISDEAD))
                 {
                 
                   if (AspectOfMarli_Timer < diff)
@@ -315,7 +316,7 @@
         {
             if(pInstance)
             {    
-                if(!pInstance->GetData("ThekalIsDead"))
+                if(!pInstance->GetData(DATA_THEKALISDEAD))
                 {
                 
                   if (AspectOfThekal_Timer < diff)
@@ -338,7 +339,7 @@
         {
             if(pInstance)
             {    
-                if(!pInstance->GetData("ArlokkIsDead"))
+                if(!pInstance->GetData(DATA_ARLOKKISDEAD))
                 {
                 
                   if (AspectOfArlokk_Timer < diff)
Index: scripts/zone/zulgurub/boss_jindo.cpp
===================================================================
--- scripts/zone/zulgurub/boss_jindo.cpp	(revision 268)
+++ scripts/zone/zulgurub/boss_jindo.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_zulgurub.h"
 #include "../../../../../game/Player.h"
 
 
@@ -309,7 +310,7 @@
             if(pInstance)
             {    
 
-            Unit *pJindo = Unit::GetUnit((*m_creature), pInstance->GetData64("Jindo"));
+            Unit *pJindo = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_JINDO));
             DoCast(pJindo, SPELL_HEAL);
 
             }
Index: scripts/zone/zulgurub/boss_marli.cpp
===================================================================
--- scripts/zone/zulgurub/boss_marli.cpp	(revision 268)
+++ scripts/zone/zulgurub/boss_marli.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_zulgurub.h"
 
 #define SPELL_CHARGE              22911
 #define SPELL_ASPECT_OF_MARLI     24686      // A stun spell      
@@ -115,7 +116,7 @@
         DoPlaySoundToSet(m_creature,SOUND_DEATH);
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
-            pInstance->SetData("Marli_Death", 0);
+            pInstance->SetData(DATA_MARLI_DEATH, 0);
     }
     
   void ResetThreat()
Index: scripts/zone/zulgurub/boss_mandokir.cpp
===================================================================
--- scripts/zone/zulgurub/boss_mandokir.cpp	(revision 268)
+++ scripts/zone/zulgurub/boss_mandokir.cpp	(working copy)
@@ -22,6 +22,7 @@
 
 
 #include "../../sc_defines.h"
+#include "def_zulgurub.h"
  
 #define SPELL_CHARGE        24315
 #define SPELL_CLEAVE        20691
@@ -170,7 +171,7 @@
             {    
                 if (!RaptorDead)
                 {
-                    if(pInstance->GetData("OhganIsDead"))
+                    if(pInstance->GetData(DATA_OHGANISDEAD))
                     DoCast(m_creature, SPELL_ENRAGE);
                     RaptorDead = true;
                 }
@@ -357,7 +358,7 @@
     {
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
-            pInstance->SetData("Ohgan_Death", 0);
+            pInstance->SetData(DATA_OHGAN_DEATH, 0);
     }
 
     void MoveInLineOfSight(Unit *who)
Index: scripts/zone/black_temple/boss_teron_gorefiend.cpp
===================================================================
--- scripts/zone/black_temple/boss_teron_gorefiend.cpp	(revision 268)
+++ scripts/zone/black_temple/boss_teron_gorefiend.cpp	(working copy)
@@ -15,6 +15,7 @@
 */
 
 #include "../../sc_defines.h"
+#include "def_black_temple.h"
 
 /* ScriptData
 SDName: Boss_Teron_Gorefiend
@@ -183,7 +184,7 @@
     void SetVariables()
     {
         if(pInstance)
-            pInstance->SetData("TeronGorefiendEvent", 0);
+            pInstance->SetData(DATA_TERONGOREFIENDEVENT, 0);
 
         IncinerateTimer = 40000;
         SummonDoomBlossomTimer = 12000;
@@ -241,7 +242,7 @@
             if(!InCombat && !Intro && m_creature->IsWithinDistInMap(who, 200.0f))
             {
                 if(pInstance)
-                    pInstance->SetData("TeronGorefiendEvent", 1);
+                    pInstance->SetData(DATA_TERONGOREFIENDEVENT, 1);
 
                 m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
                 DoYell(SAY_INTRO,LANG_UNIVERSAL,NULL);
@@ -271,7 +272,7 @@
     void JustDied(Unit *victim)
     {
         if(pInstance)
-            pInstance->SetData("TeronGorefiendEvent", 3);
+            pInstance->SetData(DATA_TERONGOREFIENDEVENT, 3);
 
         InCombat = false;
         DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL);
Index: scripts/zone/black_temple/boss_illidan.cpp
===================================================================
--- scripts/zone/black_temple/boss_illidan.cpp	(revision 268)
+++ scripts/zone/black_temple/boss_illidan.cpp	(working copy)
@@ -23,6 +23,7 @@
 
 /******** Includes ************/
 #include "../../sc_defines.h"
+#include "def_black_temple.h"
 #include "../../../../../game/TargetedMovementGenerator.h"
 #include "../../../../../shared/WorldPacket.h"
 #include "../../../../../game/SpellAuras.h"
@@ -515,7 +516,7 @@
     void JustDied(Unit *killer)
     {
         if(pInstance)
-            pInstance->SetData("IllidanStormrageEvent", 3); // Completed
+            pInstance->SetData(DATA_ILLIDANSTORMRAGEEVENT, 3); // Completed
         IsTalking = false;
         InCombat = false;
         m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -543,7 +544,7 @@
         if(damage>m_creature->GetHealth())
         {
             damage = 0;
-            m_creature->SetHealth(m_creature->GetMaxHealth()*0.01);
+            m_creature->SetHealth(m_creature->GetMaxHealth()/100);
         }
     }
 
@@ -681,7 +682,7 @@
             {
                 if(pInstance)
                 {
-                    AkamaGUID = pInstance->GetData64("Akama");
+                    AkamaGUID = pInstance->GetData64(DATA_AKAMA);
                     if(!AkamaGUID) return;
                 }
             }
@@ -690,7 +691,7 @@
             if(Akama)
             {
                 if(text)
-                    Akama->Yell(text, LANG_UNIVERSAL, NULL);
+                    Akama->Yell(text, LANG_UNIVERSAL, 0);
                 Akama->HandleEmoteCommand(emote);
                 if(sound)
                     DoPlaySoundToSet(Akama, sound);
@@ -703,7 +704,7 @@
             if(Maiev)
             {
                 if(text)
-                    Maiev->Yell(text, LANG_UNIVERSAL, NULL);
+                    Maiev->Yell(text, LANG_UNIVERSAL, 0);
                 Maiev->HandleEmoteCommand(emote);
                 if(sound)
                     DoPlaySoundToSet(Maiev, sound);
@@ -1317,7 +1318,7 @@
 
 void npc_akama_illidanAI::SetVariables()
 {
-    if(pInstance) pInstance->SetData("IllidanStormrageEvent", 0); // Not started
+    if(pInstance) pInstance->SetData(DATA_ILLIDANSTORMRAGEEVENT, 0); // Not started
     IllidanGUID = 0;
     TalkTimer = 0;
     TalkCount = 0;
@@ -1345,7 +1346,7 @@
     InCombat = true;
 
     if(pInstance)
-        IllidanGUID = pInstance->GetData64("IllidanStormrage");
+        IllidanGUID = pInstance->GetData64(DATA_ILLIDANSTORMRAGE);
 
     if(IllidanGUID)
     {
@@ -1434,7 +1435,7 @@
                     switch(TalkCount)
                     {
                         case 0:
-                            Illidan->Yell(SAY_AKAMA_MINION, LANG_UNIVERSAL, NULL);
+                            Illidan->Yell(SAY_AKAMA_MINION, LANG_UNIVERSAL, 0);
                             DoPlaySoundToSet(Illidan, SOUND_AKAMA_MINION);
                             TalkTimer = 10000;
                             TalkCount = 1;
@@ -1462,7 +1463,7 @@
     }else
     {
         if(pInstance)
-            IllidanGUID = pInstance->GetData64("IllidanStormrage");
+            IllidanGUID = pInstance->GetData64(DATA_ILLIDANSTORMRAGE);
     }
 
     // If we don't have a target, or is talking, or has run away, return
@@ -1588,7 +1589,7 @@
         {
             if(pInstance)
             {
-                IllidanGUID = pInstance->GetData64("IllidanStormrage");
+                IllidanGUID = pInstance->GetData64(DATA_ILLIDANSTORMRAGE);
             }
         }else
         {
Index: scripts/zone/black_temple/boss_mother_shahraz.cpp
===================================================================
--- scripts/zone/black_temple/boss_mother_shahraz.cpp	(revision 268)
+++ scripts/zone/black_temple/boss_mother_shahraz.cpp	(working copy)
@@ -22,6 +22,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_black_temple.h"
 #include "../../../../../game/Player.h"
 #include "../../../../../game/TargetedMovementGenerator.h"
 
@@ -119,7 +120,7 @@
     void SetVariables()
     {
         if(pInstance)
-            pInstance->SetData("MotherShahrazEvent", 0);
+            pInstance->SetData(DATA_MOTHERSHAHRAZEVENT, 0);
 
         for(uint8 i = 0; i<3; i++)
             TargetGUID[i] = 0;
@@ -160,7 +161,7 @@
             if(!InCombat)
             {
                 if(pInstance)
-                    pInstance->SetData("MotherShahrazEvent", 1);
+                    pInstance->SetData(DATA_MOTHERSHAHRAZEVENT, 1);
 
                 SetVariables();
                 DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL);
@@ -186,7 +187,7 @@
                 if(!InCombat)
                 {
                     if(pInstance)
-                        pInstance->SetData("MotherShahrazEvent", 1);
+                        pInstance->SetData(DATA_MOTHERSHAHRAZEVENT, 1);
                     DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL);
                     DoPlaySoundToSet(m_creature, SOUND_AGGRO);
                     InCombat = true;
@@ -213,7 +214,7 @@
     void JustDied(Unit *victim)
     {
         if(pInstance)
-            pInstance->SetData("MotherShahrazEvent", 3);
+            pInstance->SetData(DATA_MOTHERSHAHRAZEVENT, 3);
 
         InCombat = false;
         DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL);
Index: scripts/zone/black_temple/illidari_council.cpp
===================================================================
--- scripts/zone/black_temple/illidari_council.cpp	(revision 268)
+++ scripts/zone/black_temple/illidari_council.cpp	(working copy)
@@ -22,6 +22,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_black_temple.h"
 #include "../../../../../game/TargetedMovementGenerator.h"
 
 //Spells
@@ -183,7 +184,7 @@
             }
         }
         if(pInstance)
-            pInstance->SetData("IllidariCouncilEvent",0);
+            pInstance->SetData(DATA_ILLIDARICOUNCILEVENT,0);
     }
 
     void EnterEvadeMode()
@@ -215,7 +216,7 @@
                 if(!InCombat)
                 {
                     if(pInstance)
-                        pInstance->SetData("IllidariCouncil", 1);
+                        pInstance->SetData(DATA_ILLIDARICOUNCIL, 1);
 
                     StartEvent(who);
                     InCombat = true;
@@ -232,10 +233,10 @@
         {
             SetVariables();
 
-            Council[0] = pInstance->GetData64("GathiosTheShatterer");
-            Council[1] = pInstance->GetData64("HighNethermancerZerevor");
-            Council[2] = pInstance->GetData64("LadyMalande");
-            Council[3] = pInstance->GetData64("VerasDarkshadow");
+            Council[0] = pInstance->GetData64(DATA_GATHIOSTHESHATTERER);
+            Council[1] = pInstance->GetData64(DATA_HIGHNETHERMANCERZEREVOR);
+            Council[2] = pInstance->GetData64(DATA_LADYMALANDE);
+            Council[3] = pInstance->GetData64(DATA_VERASDARKSHADOW);
 
             if(!Council[0] || !Council[1] || !Council[2] || !Council[3])
                 return;
@@ -258,7 +259,7 @@
             if(Veras)
                 Veras->AddThreat(target, 1.0f);
 
-            pInstance->SetData("IllidariCouncilEvent", 1);
+            pInstance->SetData(DATA_ILLIDARICOUNCILEVENT, 1);
         }
     }
 
@@ -297,7 +298,7 @@
             if(!Gathios->isAlive() && !Zerevor->isAlive() && !Malande->isAlive() && !Veras->isAlive())
             {
                 if(pInstance)
-                    pInstance->SetData("IllidariCouncilEvent", 3); // Completed
+                    pInstance->SetData(DATA_ILLIDARICOUNCILEVENT, 3); // Completed
 
                 m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_NORMAL, NULL, false);
             }
@@ -412,7 +413,7 @@
     {
         if(m_creature->GetHealth()*100 / m_creature->GetMaxHealth() > 1)
         {    
-            damage *= 0.25;
+            damage /= 4;
             for(uint8 i = 0; i < 3; i++)
             {
                 Unit* pUnit = NULL;
@@ -481,9 +482,9 @@
         {
             if(pInstance)
             {
-                Council[0] = pInstance->GetData64("HighNethermancerZerevor");
-                Council[1] = pInstance->GetData64("LadyMalande");
-                Council[2] = pInstance->GetData64("VerasDarkshadow");
+                Council[0] = pInstance->GetData64(DATA_HIGHNETHERMANCERZEREVOR);
+                Council[1] = pInstance->GetData64(DATA_LADYMALANDE);
+                Council[2] = pInstance->GetData64(DATA_VERASDARKSHADOW);
             }
             AcquiredGUIDs = true;
         }
@@ -660,7 +661,7 @@
     {
         if(m_creature->GetHealth()*100 / m_creature->GetMaxHealth() > 1)
         {    
-            damage *= 0.25;
+            damage /= 4;
             for(uint8 i = 0; i < 3; i++)
             {
                 Unit* pUnit = NULL;
@@ -710,9 +711,9 @@
         {
             if(pInstance)
             {
-                Council[0] = pInstance->GetData64("GathiosTheShatterer");
-                Council[1] = pInstance->GetData64("LadyMalande");
-                Council[2] = pInstance->GetData64("VerasDarkshadow");
+                Council[0] = pInstance->GetData64(DATA_GATHIOSTHESHATTERER);
+                Council[1] = pInstance->GetData64(DATA_LADYMALANDE);
+                Council[2] = pInstance->GetData64(DATA_VERASDARKSHADOW);
             }
             AcquiredGUIDs = true;
         }
@@ -881,7 +882,7 @@
     {          
         if(m_creature->GetHealth()*100 / m_creature->GetMaxHealth() > 1)
         {    
-            damage *= 0.25;
+            damage /= 4;
             for(uint8 i = 0; i < 3; i++)
             {
                 Unit* pUnit = NULL;
@@ -933,9 +934,9 @@
         {
             if(pInstance)
             {
-                Council[0] = pInstance->GetData64("GathiosTheShatterer");
-                Council[1] = pInstance->GetData64("HighNethermancerZerevor");
-                Council[2] = pInstance->GetData64("VerasDarkshadow");
+                Council[0] = pInstance->GetData64(DATA_GATHIOSTHESHATTERER);
+                Council[1] = pInstance->GetData64(DATA_HIGHNETHERMANCERZEREVOR);
+                Council[2] = pInstance->GetData64(DATA_VERASDARKSHADOW);
             }
             AcquiredGUIDs = true;
         }
@@ -1093,7 +1094,7 @@
     {   
         if(m_creature->GetHealth()*100 / m_creature->GetMaxHealth() > 1)
         {    
-            damage *= 0.25;
+            damage /= 4;
             for(uint8 i = 0; i < 3; i++)
             {
                 Unit* pUnit = NULL;
@@ -1142,9 +1143,9 @@
         {
             if(pInstance)
             {
-                Council[0] = pInstance->GetData64("GathiosTheShatterer");
-                Council[1] = pInstance->GetData64("HighNethermancerZerevor");
-                Council[2] = pInstance->GetData64("LadyMalande");
+                Council[0] = pInstance->GetData64(DATA_GATHIOSTHESHATTERER);
+                Council[1] = pInstance->GetData64(DATA_HIGHNETHERMANCERZEREVOR);
+                Council[2] = pInstance->GetData64(DATA_LADYMALANDE);
             }
             AcquiredGUIDs = true;
         }
Index: scripts/zone/black_temple/def_black_temple.h
===================================================================
--- scripts/zone/black_temple/def_black_temple.h	(revision 0)
+++ scripts/zone/black_temple/def_black_temple.h	(revision 0)
@@ -0,0 +1,23 @@
+#ifndef DEF_BLACK_TEMPLE_H
+#define DEF_BLACK_TEMPLE_H
+#define DATA_AKAMA 1
+#define DATA_AKAMA_SHADE 2
+#define DATA_GATHIOSTHESHATTERER 3
+#define DATA_GURTOGGBLOODBOILEVENT 4
+#define DATA_HIGHNETHERMANCERZEREVOR 5
+#define DATA_HIGHWARLORDNAJENTUS 6
+#define DATA_HIGHWARLORDNAJENTUSEVENT 7
+#define DATA_ILLIDANSTORMRAGE 8
+#define DATA_ILLIDANSTORMRAGEEVENT 9
+#define DATA_ILLIDARICOUNCILEVENT 10
+#define DATA_ILLIDARICOUNCIL 11
+#define DATA_LADYMALANDE 12
+#define DATA_MOTHERSHAHRAZEVENT 13
+#define DATA_RELIQUARYOFSOULSEVENT 14
+#define DATA_SHADEOFAKAMA 15
+#define DATA_SHADEOFAKAMAEVENT 16
+#define DATA_SUPREMUS 17
+#define DATA_SUPREMUSEVENT 18
+#define DATA_TERONGOREFIENDEVENT 19
+#define DATA_VERASDARKSHADOW 20
+#endif
Index: scripts/zone/black_temple/instance_black_temple.cpp
===================================================================
--- scripts/zone/black_temple/instance_black_temple.cpp	(revision 268)
+++ scripts/zone/black_temple/instance_black_temple.cpp	(working copy)
@@ -22,6 +22,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_black_temple.h"
 
 #define ENCOUNTERS     8
 
@@ -133,73 +134,73 @@
         }
     }
 
-    uint64 GetData64(char *identifier)
+    uint64 GetData64(uint32 identifier)
     {
-        if(identifier == "HighWarlordNajentus" && Najentus)
+        if(identifier  == DATA_HIGHWARLORDNAJENTUS && Najentus)
             return Najentus;
-        else if(identifier == "Akama" && Akama)
+        else if(identifier  == DATA_AKAMA && Akama)
             return Akama;
-        else if(identifier == "Akama(Shade)" && Akama_Shade)
+        else if(identifier  == DATA_AKAMA_SHADE && Akama_Shade)
             return Akama_Shade;
-        else if(identifier == "ShadeOfAkama" && ShadeOfAkama)
+        else if(identifier  == DATA_SHADEOFAKAMA && ShadeOfAkama)
             return ShadeOfAkama;
-        else if(identifier == "Supremus" && Supremus)
+        else if(identifier  == DATA_SUPREMUS && Supremus)
             return Supremus;
-        else if(identifier == "IllidanStormrage" && IllidanStormrage)
+        else if(identifier  == DATA_ILLIDANSTORMRAGE && IllidanStormrage)
             return IllidanStormrage;
-        else if(identifier == "GathiosTheShatterer" && GathiosTheShatterer)
+        else if(identifier  == DATA_GATHIOSTHESHATTERER && GathiosTheShatterer)
             return GathiosTheShatterer;
-        else if(identifier == "HighNethermancerZerevor" && HighNethermancerZerevor)
+        else if(identifier  == DATA_HIGHNETHERMANCERZEREVOR && HighNethermancerZerevor)
             return HighNethermancerZerevor;
-        else if(identifier == "LadyMalande" && LadyMalande)
+        else if(identifier  == DATA_LADYMALANDE && LadyMalande)
             return LadyMalande;
-        else if(identifier == "VerasDarkshadow" && VerasDarkshadow)
+        else if(identifier  == DATA_VERASDARKSHADOW && VerasDarkshadow)
             return VerasDarkshadow;
 
-        return NULL;
+        return 0;
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "HighWarlordNajentusEvent")
+        if(type == DATA_HIGHWARLORDNAJENTUSEVENT)
             Encounters[0] = data;
-        else if(type == "SupremusEvent")
+        else if(type == DATA_SUPREMUSEVENT)
             Encounters[1] = data;
-        else if(type == "ShadeOfAkamaEvent")
+        else if(type == DATA_SHADEOFAKAMAEVENT)
             Encounters[2] = data;
-        else if(type == "TeronGorefiendEvent")
+        else if(type == DATA_TERONGOREFIENDEVENT)
             Encounters[3] = data;
-        else if(type == "GurtoggBloodboilEvent")
+        else if(type == DATA_GURTOGGBLOODBOILEVENT)
             Encounters[4] = data;
-        else if(type == "ReliquaryOfSoulsEvent")
+        else if(type == DATA_RELIQUARYOFSOULSEVENT)
             Encounters[5] = data;
-        else if(type == "MotherShahrazEvent")
+        else if(type == DATA_MOTHERSHAHRAZEVENT)
             Encounters[6] = data;
-        else if(type == "IllidariCouncilEvent")
+        else if(type == DATA_ILLIDARICOUNCILEVENT)
             Encounters[7] = data;
-        else if(type == "IllidanStormrageEvent")
+        else if(type == DATA_ILLIDANSTORMRAGEEVENT)
             Encounters[8] = data;
     }
 
-    uint32 GetData(char *type)
+    uint32 GetData(uint32 type)
     {
-        if(type == "HighWarlordNajentusEvent")
+        if(type == DATA_HIGHWARLORDNAJENTUSEVENT)
             return Encounters[0];
-        else if(type == "SupremusEvent")
+        else if(type == DATA_SUPREMUSEVENT)
             return Encounters[1];
-        else if(type == "ShadeOfAkamaEvent")
+        else if(type == DATA_SHADEOFAKAMAEVENT)
             return Encounters[2];
-        else if(type == "TeronGorefiendEvent")
+        else if(type == DATA_TERONGOREFIENDEVENT)
             return Encounters[3];
-        else if(type == "GurtoggBloodboilEvent")
+        else if(type == DATA_GURTOGGBLOODBOILEVENT)
             return Encounters[4];
-        else if(type == "ReliquaryOfSoulsEvent")
+        else if(type == DATA_RELIQUARYOFSOULSEVENT)
             return Encounters[5];
-        else if(type == "MotherShahrazEvent")
+        else if(type == DATA_MOTHERSHAHRAZEVENT)
             return Encounters[6];
-        else if(type == "IllidariCouncilEvent")
+        else if(type == DATA_ILLIDARICOUNCILEVENT)
             return Encounters[7];
-        else if(type == "IllidanStormrageEvent")
+        else if(type == DATA_ILLIDANSTORMRAGEEVENT)
             return Encounters[8];
 
         return 0;
Index: scripts/zone/black_temple/boss_warlord_najentus.cpp
===================================================================
--- scripts/zone/black_temple/boss_warlord_najentus.cpp	(revision 268)
+++ scripts/zone/black_temple/boss_warlord_najentus.cpp	(working copy)
@@ -22,6 +22,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_black_temple.h"
 #include "../../../../../game/GameObject.h"
 #include "../../../../../game/TargetedMovementGenerator.h"
 
@@ -170,7 +171,7 @@
         SpineTargetGUID = 0;
 
         if(pInstance)
-            pInstance->SetData("HighWarlordNajentusEvent", 0);
+            pInstance->SetData(DATA_HIGHWARLORDNAJENTUSEVENT, 0);
     }
 
     void EnterEvadeMode()
@@ -202,7 +203,7 @@
     void JustDied(Unit *victim)
     {
         if(pInstance)
-            pInstance->SetData("HighWarlordNajentusEvent", 3);
+            pInstance->SetData(DATA_HIGHWARLORDNAJENTUSEVENT, 3);
 
         DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL);
         DoPlaySoundToSet(m_creature,SOUND_DEATH);
@@ -244,7 +245,7 @@
             if (!InCombat)
             {
                 if(pInstance)
-                    pInstance->SetData("HighWarlordNajentusEvent", 1);
+                    pInstance->SetData(DATA_HIGHWARLORDNAJENTUSEVENT, 1);
                 DoYell(SAY_AGGRO, LANG_UNIVERSAL, NULL);
                 DoPlaySoundToSet(m_creature, SOUND_AGGRO);
                 SetVariables();
@@ -272,7 +273,7 @@
                 if (!InCombat)
                 {
                     if(pInstance)
-                        pInstance->SetData("HighWarlordNajentusEvent", 1);
+                        pInstance->SetData(DATA_HIGHWARLORDNAJENTUSEVENT, 1);
                     DoYell(SAY_AGGRO, LANG_UNIVERSAL, NULL);
                     DoPlaySoundToSet(m_creature, SOUND_AGGRO);
                     InCombat = true;
@@ -319,7 +320,7 @@
         {
             // if(m_creature->HasAura(SPELL_TIDAL_SHIELD, 0))
             if(m_creature->HasAura(SPELL_SHIELD_VISUAL, 0))
-                m_creature->SetHealth(m_creature->GetHealth() + (m_creature->GetMaxHealth()*0.01));
+                m_creature->SetHealth(m_creature->GetHealth() + (m_creature->GetMaxHealth()/100));
             else
                 IsShielded = false;
 
@@ -432,13 +433,13 @@
     ScriptedInstance* pInstance = ((ScriptedInstance*)_GO->GetInstanceData());
     if(pInstance)
     {
-        Creature* Najentus = ((Creature*)Unit::GetUnit((*_GO), pInstance->GetData64("HighWarlordNajentus")));
+        Creature* Najentus = ((Creature*)Unit::GetUnit((*_GO), pInstance->GetData64(DATA_HIGHWARLORDNAJENTUS)));
         if(Najentus)
         {
             ((boss_najentusAI*)Najentus->AI())->RemoveImpalingSpine();
-        }else _GO->Say("Najentus not found", LANG_UNIVERSAL, NULL);
+        }else _GO->Say("Najentus not found", LANG_UNIVERSAL, 0);
     }
-    else _GO->Say("Invalid instance or location", LANG_UNIVERSAL, NULL);
+    else _GO->Say("Invalid instance or location", LANG_UNIVERSAL, 0);
 
     return true;
 }
Index: scripts/zone/black_temple/boss_shade_of_akama.cpp
===================================================================
--- scripts/zone/black_temple/boss_shade_of_akama.cpp	(revision 268)
+++ scripts/zone/black_temple/boss_shade_of_akama.cpp	(working copy)
@@ -22,6 +22,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_black_temple.h"
 #include "../../../../../game/TargetedMovementGenerator.h"
 #include "../../../../../game/Player.h"
 #include "../../../../../game/GossipDef.h"
@@ -213,7 +214,7 @@
         }else
         {
             if(pInstance)
-                ShadeGUID = pInstance->GetData64("ShadeOfAkama");
+                ShadeGUID = pInstance->GetData64(DATA_SHADEOFAKAMA);
         }
     }
 };
@@ -443,7 +444,7 @@
                 }else
                 {
                     if(pInstance)
-                        AkamaGUID = pInstance->GetData64("Akama(Shade)");
+                        AkamaGUID = pInstance->GetData64(DATA_AKAMA_SHADE);
                 }
             }
 
@@ -465,7 +466,7 @@
                     if(Akama && Akama->isAlive())
                     {
                         //10 % less health every few seconds.
-                        m_creature->DealDamage(Akama, Akama->GetMaxHealth()*0.1, NULL, DIRECT_DAMAGE, SPELL_SCHOOL_NORMAL, NULL, false);
+                        m_creature->DealDamage(Akama, Akama->GetMaxHealth()/10, NULL, DIRECT_DAMAGE, SPELL_SCHOOL_NORMAL, NULL, false);
                         ReduceHealthTimer = Enrage ? 5000 : 12000; // Reduce health more rapidly if enraged
                     }
                     else
@@ -482,7 +483,7 @@
                 else // Debug
                 {
                     if(pInstance)
-                        AkamaGUID = pInstance->GetData64("Akama(Shade)");
+                        AkamaGUID = pInstance->GetData64(DATA_AKAMA_SHADE);
                 }
             }else ReduceHealthTimer -= diff;
 
@@ -599,14 +600,14 @@
         if(!pInstance)
             return;
         
-        ShadeGUID = pInstance->GetData64("ShadeOfAkama");
+        ShadeGUID = pInstance->GetData64(DATA_SHADEOFAKAMA);
         if(!ShadeGUID)
             return;
 
         Creature* Shade = ((Creature*)Unit::GetUnit((*m_creature), ShadeGUID));
         if(Shade)
         {
-            pInstance->SetData("ShadeOfAkamaEvent", 1); // In Progress
+            pInstance->SetData(DATA_SHADEOFAKAMAEVENT, 1); // In Progress
             m_creature->SetUInt32Value(UNIT_NPC_FLAGS, 0); // Prevent players from trying to restart event
             ((boss_shade_of_akamaAI*)Shade->AI())->SetAkamaGUID(m_creature->GetGUID());
             ((boss_shade_of_akamaAI*)Shade->AI())->InCombat = true;
Index: scripts/zone/black_temple/boss_supremus.cpp
===================================================================
--- scripts/zone/black_temple/boss_supremus.cpp	(revision 268)
+++ scripts/zone/black_temple/boss_supremus.cpp	(working copy)
@@ -22,6 +22,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_black_temple.h"
 #include "../../../../../game/TargetedMovementGenerator.h"
 
 //Spells
@@ -250,7 +251,7 @@
     void SetVariables()
     {
         if(pInstance)
-            pInstance->SetData("SupremusEvent", 0);
+            pInstance->SetData(DATA_SUPREMUSEVENT, 0);
 
         HurtfulStrikeTimer = 20000;
         SummonFlameTimer = 20000;
@@ -285,7 +286,7 @@
             if(!InCombat)
             {
                 if(pInstance)
-                    pInstance->SetData("SupremusEvent", 1);
+                    pInstance->SetData(DATA_SUPREMUSEVENT, 1);
                 SetVariables();
                 InCombat = true;
             }
@@ -310,7 +311,7 @@
                 if (!InCombat)
                 {
                     if(pInstance)
-                        pInstance->SetData("SupremusEvent", 1);
+                        pInstance->SetData(DATA_SUPREMUSEVENT, 1);
                     InCombat = true;
                 }
             }
@@ -322,7 +323,7 @@
         InCombat = false;
 
         if(pInstance)
-            pInstance->SetData("SupremusEvent", 3);
+            pInstance->SetData(DATA_SUPREMUSEVENT, 3);
     }
 
     void ResetThreat()
Index: scripts/zone/black_temple/boss_bloodboil.cpp
===================================================================
--- scripts/zone/black_temple/boss_bloodboil.cpp	(revision 268)
+++ scripts/zone/black_temple/boss_bloodboil.cpp	(working copy)
@@ -22,6 +22,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_black_temple.h"
 #include "../../../../../game/TargetedMovementGenerator.h"
 #include "../../../../../game/SpellAuras.h"
 
@@ -102,7 +103,7 @@
     void SetVariables()
     {
           if(pInstance)
-               pInstance->SetData("GurtoggBloodboilEvent", 0);
+               pInstance->SetData(DATA_GURTOGGBLOODBOILEVENT, 0);
 
           TargetGUID = 0;
 
@@ -148,7 +149,7 @@
                 DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL);
                 DoPlaySoundToSet(m_creature, SOUND_AGGRO);
                 InCombat = true;
-                    if(pInstance) pInstance->SetData("GurtoggBloodboilEvent", 1);
+                    if(pInstance) pInstance->SetData(DATA_GURTOGGBLOODBOILEVENT, 1);
             }
         }
     }
@@ -172,7 +173,7 @@
                     DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL);
                     DoPlaySoundToSet(m_creature, SOUND_AGGRO);
                     InCombat = true;
-                         if(pInstance) pInstance->SetData("GurtoggBloodboilEvent", 1);
+                         if(pInstance) pInstance->SetData(DATA_GURTOGGBLOODBOILEVENT, 1);
                 }
             }
         }
@@ -196,7 +197,7 @@
     void JustDied(Unit *victim)
     {
         if(pInstance)
-            pInstance->SetData("GurtoggBloodboilEvent", 3);
+            pInstance->SetData(DATA_GURTOGGBLOODBOILEVENT, 3);
 
         InCombat = false;
         DoPlaySoundToSet(m_creature,SOUND_DEATH);
Index: scripts/zone/black_temple/boss_reliquary_of_souls.cpp
===================================================================
--- scripts/zone/black_temple/boss_reliquary_of_souls.cpp	(revision 268)
+++ scripts/zone/black_temple/boss_reliquary_of_souls.cpp	(working copy)
@@ -22,6 +22,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_black_temple.h"
 #include "../../../../../game/TargetedMovementGenerator.h"
 
 //Sound'n'speech
@@ -154,7 +155,7 @@
                 {
                     if((done_by->GetPower(POWER_MANA) / done_by->GetMaxPower(POWER_MANA)) < 70)
                     {
-                        uint32 mana = done_by->GetPower(POWER_MANA) + (done_by->GetMaxPower(POWER_MANA)*0.3);
+                        uint32 mana = done_by->GetPower(POWER_MANA) + (uint32)(done_by->GetMaxPower(POWER_MANA)*0.3);
                         done_by->SetPower(POWER_MANA, mana);
                     }else done_by->SetPower(POWER_MANA, done_by->GetMaxPower(POWER_MANA));
                 }
@@ -195,7 +196,7 @@
     void SetVariables()
     {
         if(pInstance)
-            pInstance->SetData("ReliquaryOfSoulsEvent", 0);
+            pInstance->SetData(DATA_RELIQUARYOFSOULSEVENT, 0);
 
         SufferingGUID = 0;
         DesireGUID = 0;
@@ -250,7 +251,7 @@
                 if(!InCombat)
                 {
                     if(pInstance)
-                        pInstance->SetData("ReliquaryOfSoulsEvent", 1);
+                        pInstance->SetData(DATA_RELIQUARYOFSOULSEVENT, 1);
 
                     SetVariables();
                     Phase = 1;
@@ -352,7 +353,7 @@
                             MergeThreatList(EssenceSuffering);
                             EssenceSuffering->RemoveAllAuras();
                             (*EssenceSuffering).GetMotionMaster()->Mutate(new TargetedMovementGenerator<Creature>(*m_creature));
-                            EssenceSuffering->Yell(SUFF_SAY_RECAP,LANG_UNIVERSAL,NULL);
+                            EssenceSuffering->Yell(SUFF_SAY_RECAP,LANG_UNIVERSAL,0);
                             DoPlaySoundToSet(m_creature, SUFF_SOUND_RECAP);
                             (*EssenceSuffering).GetMotionMaster()->Mutate(new TargetedMovementGenerator<Creature>(*m_creature));
                             EssenceSuffering->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -374,7 +375,7 @@
                     if(DespawnEssenceTimer < diff)
                     {
                         EssenceSuffering->DeleteThreatList();
-                        EssenceSuffering->Yell(SUFF_SAY_AFTER,LANG_UNIVERSAL,NULL);
+                        EssenceSuffering->Yell(SUFF_SAY_AFTER,LANG_UNIVERSAL,0);
                         DoPlaySoundToSet(m_creature, SUFF_SOUND_AFTER);
                         EssenceSuffering->SetUInt32Value(UNIT_FIELD_DISPLAYID, 11686);
                         EssenceSuffering->setFaction(35);
@@ -452,7 +453,7 @@
                         EssenceDesire->setFaction(35);
                         EssenceDesire->RemoveAllAuras();
                         EssenceDesire->DeleteThreatList();
-                        EssenceDesire->Yell(DESI_SAY_RECAP,LANG_UNIVERSAL,NULL);
+                        EssenceDesire->Yell(DESI_SAY_RECAP,LANG_UNIVERSAL,0);
                         DoPlaySoundToSet(m_creature, DESI_SOUND_RECAP);
                         EssenceDesire->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
                         EssenceDesire->setFaction(35);
@@ -594,7 +595,7 @@
         if((damage >= m_creature->GetHealth()) && (done_by != m_creature))
         {
             damage = 0;
-            m_creature->SetHealth(m_creature->GetMaxHealth()*0.1); // 10% of total health, signalling time to return
+            m_creature->SetHealth(m_creature->GetMaxHealth()/10); // 10% of total health, signalling time to return
             if(StatAuraGUID)
             {
                 Unit* pUnit = Unit::GetUnit((*m_creature), StatAuraGUID);
@@ -771,11 +772,11 @@
         if((damage >= m_creature->GetHealth()) && (done_by != m_creature))
         {
             damage = 0;
-            m_creature->SetHealth(m_creature->GetMaxHealth()*0.1); // 10% of total health, signalling time to return
+            m_creature->SetHealth(m_creature->GetMaxHealth()/10); // 10% of total health, signalling time to return
         }
         else
         {
-            done_by->DealDamage(done_by, damage*0.5, NULL, DIRECT_DAMAGE, SPELL_SCHOOL_NORMAL, NULL, false);
+            done_by->DealDamage(done_by, damage/2, NULL, DIRECT_DAMAGE, SPELL_SCHOOL_NORMAL, NULL, false);
         }
     }
 
Index: scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp
===================================================================
--- scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp	(revision 268)
+++ scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_the_eye.h"
 #include "../../../../../../game/Player.h"
 #include "../../../../../../game/TargetedMovementGenerator.h"
 
@@ -207,7 +208,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("KaelThasEvent", 0);
+            pInstance->SetData(DATA_KAELTHASEVENT, 0);
 
         m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_INTERRUPT_CAST, true);
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
@@ -234,10 +235,10 @@
         if(!pInstance)
             return;
 
-        AdvisorGuid[0] = pInstance->GetData64("ThaladredTheDarkener");
-        AdvisorGuid[1] = pInstance->GetData64("LordSanguinar");
-        AdvisorGuid[2] = pInstance->GetData64("GrandAstromancerCapernian");
-        AdvisorGuid[3] = pInstance->GetData64("MasterEngineerTelonicus");
+        AdvisorGuid[0] = pInstance->GetData64(DATA_THALADREDTHEDARKENER);
+        AdvisorGuid[1] = pInstance->GetData64(DATA_LORDSANGUINAR);
+        AdvisorGuid[2] = pInstance->GetData64(DATA_GRANDASTROMANCERCAPERNIAN);
+        AdvisorGuid[3] = pInstance->GetData64(DATA_MASTERENGINEERTELONICUS);
 
         if(!AdvisorGuid[0] || !AdvisorGuid[1] || !AdvisorGuid[2] || !AdvisorGuid[3])
             return;
@@ -247,7 +248,7 @@
         DoYell(SAY_INTRO, LANG_UNIVERSAL, NULL);
         DoPlaySoundToSet(m_creature, SOUND_INTRO);
 
-        pInstance->SetData("KaelThasEvent", 1);
+        pInstance->SetData(DATA_KAELTHASEVENT, 1);
 
         PhaseSubphase = 0;
         Phase_Timer = 23000;
@@ -276,7 +277,7 @@
         DoPlaySoundToSet(m_creature,SOUND_DEATH);
 
         if(pInstance)
-            pInstance->SetData("KaelThasEvent", 0);
+            pInstance->SetData(DATA_KAELTHASEVENT, 0);
     }
 
     void AttackStart(Unit *who)
@@ -293,7 +294,7 @@
             }
             else
             {
-                if (pInstance && !pInstance->GetData("KaelThasEvent") && !Phase)
+                if (pInstance && !pInstance->GetData(DATA_KAELTHASEVENT) && !Phase)
                     StartEvent();
 
                 //add to the threat list, so we can use SelectTarget
@@ -319,7 +320,7 @@
             }
             else if(who->isAlive())
             {
-                if (pInstance && !pInstance->GetData("KaelThasEvent") && !Phase && m_creature->IsWithinDistInMap(who, 60.0f))
+                if (pInstance && !pInstance->GetData(DATA_KAELTHASEVENT) && !Phase && m_creature->IsWithinDistInMap(who, 60.0f))
                     StartEvent();
 
                 //add to the threat list, so we can use SelectTarget
@@ -487,7 +488,7 @@
                 {
                     //This is provv: at the moment we can't implement phase 2 and 3
                     Phase = 4;
-                    pInstance->SetData("KaelThasEvent", 4);
+                    pInstance->SetData(DATA_KAELTHASEVENT, 4);
 
                     DoYell(SAY_PHASE4, LANG_UNIVERSAL, NULL);
                     DoPlaySoundToSet(m_creature, SOUND_PHASE4);
@@ -616,7 +617,7 @@
             //Start Phase 5
             if(Phase == 4 && (m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 50)
             {
-                pInstance->SetData("KaelThasEvent", 4);
+                pInstance->SetData(DATA_KAELTHASEVENT, 4);
                 Phase = 5;
 
                 DoYell(SAY_PHASE5, LANG_UNIVERSAL, NULL);
@@ -758,10 +759,10 @@
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_BANISH, true);
 
         //reset encounter
-        if(pInstance && pInstance->GetData("KaelThasEvent") == 1)
+        if(pInstance && pInstance->GetData(DATA_KAELTHASEVENT) == 1)
         {
             Creature *Kaelthas = NULL;
-            Kaelthas = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64("Kaelthas")));
+            Kaelthas = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KAELTHAS)));
 
             if(Kaelthas)
                 Kaelthas->AI()->EnterEvadeMode();
@@ -784,7 +785,7 @@
     void JustDied(Unit *killer)
     {
         //yell only in phase 3 or 4
-        if(pInstance && pInstance->GetData("KaelThasEvent") > 1)
+        if(pInstance && pInstance->GetData(DATA_KAELTHASEVENT) > 1)
         {
             DoPlaySoundToSet(m_creature, SOUND_THALADRED_DEATH);
             DoYell(SAY_THALADRED_DEATH, LANG_UNIVERSAL, NULL);
@@ -921,10 +922,10 @@
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_BANISH, true);
 
         //reset encounter
-        if(pInstance && pInstance->GetData("KaelThasEvent") == 1)
+        if(pInstance && pInstance->GetData(DATA_KAELTHASEVENT) == 1)
         {
             Creature *Kaelthas = NULL;
-            Kaelthas = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64("Kaelthas")));
+            Kaelthas = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KAELTHAS)));
 
             if(Kaelthas)
                 Kaelthas->AI()->EnterEvadeMode();
@@ -934,7 +935,7 @@
     void JustDied(Unit *killer)
     {
         //yell only in phase 3 or 4
-        if(pInstance && pInstance->GetData("KaelThasEvent") > 1)
+        if(pInstance && pInstance->GetData(DATA_KAELTHASEVENT) > 1)
         {
             DoPlaySoundToSet(m_creature, SOUND_SANGUINAR_DEATH);
             DoYell(SAY_SANGUINAR_DEATH, LANG_UNIVERSAL, NULL);
@@ -1055,10 +1056,10 @@
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_BANISH, true);
 
         //reset encounter
-        if(pInstance && pInstance->GetData("KaelThasEvent") == 1)
+        if(pInstance && pInstance->GetData(DATA_KAELTHASEVENT) == 1)
         {
             Creature *Kaelthas = NULL;
-            Kaelthas = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64("Kaelthas")));
+            Kaelthas = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KAELTHAS)));
 
             if(Kaelthas)
                 Kaelthas->AI()->EnterEvadeMode();
@@ -1068,7 +1069,7 @@
     void JustDied(Unit *killer)
     {
         //yell only in phase 3 or 4
-        if(pInstance && pInstance->GetData("KaelThasEvent") > 1)
+        if(pInstance && pInstance->GetData(DATA_KAELTHASEVENT) > 1)
         {
             DoPlaySoundToSet(m_creature, SOUND_CAPERNIAN_DEATH);
             DoYell(SAY_CAPERNIAN_DEATH, LANG_UNIVERSAL, NULL);
@@ -1237,10 +1238,10 @@
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_BANISH, true);
 
         //reset encounter
-        if(pInstance && pInstance->GetData("KaelThasEvent") == 1)
+        if(pInstance && pInstance->GetData(DATA_KAELTHASEVENT) == 1)
         {
             Creature *Kaelthas = NULL;
-            Kaelthas = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64("Kaelthas")));
+            Kaelthas = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KAELTHAS)));
 
             if(Kaelthas)
                 Kaelthas->AI()->EnterEvadeMode();
@@ -1250,7 +1251,7 @@
     void JustDied(Unit *killer)
     {
         //yell only in phase 3 or 4
-        if(pInstance && pInstance->GetData("KaelThasEvent") > 1)
+        if(pInstance && pInstance->GetData(DATA_KAELTHASEVENT) > 1)
         {
             DoPlaySoundToSet(m_creature, SOUND_TELONICUS_DEATH);
             DoYell(SAY_SANGUINAR_DEATH, LANG_UNIVERSAL, NULL);
Index: scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp
===================================================================
--- scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp	(revision 268)
+++ scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp	(working copy)
@@ -15,6 +15,7 @@
 */   
 
 #include "../../../sc_defines.h"
+#include "def_the_eye.h"
 
 #define SPELL_ARCANE_MISSLES                 33031                 
 #define SPELL_MARK_OF_THE_ASTROMANCER        42783
@@ -106,7 +107,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("HighAstromancerSolarianEvent", 0);
+            pInstance->SetData(DATA_HIGHASTROMANCERSOLARIANEVENT, 0);
 
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_INTERRUPT, true);
     }
@@ -116,7 +117,7 @@
         DoYell(SAY_PHASE1, LANG_UNIVERSAL, NULL);
 
         if(pInstance)
-            pInstance->SetData("HighAstromancerSolarianEvent", 1);
+            pInstance->SetData(DATA_HIGHASTROMANCERSOLARIANEVENT, 1);
 
         InCombat = true;
 
@@ -144,7 +145,7 @@
         DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL);
 
         if(pInstance)
-            pInstance->SetData("HighAstromancerSolarianEvent", 0);
+            pInstance->SetData(DATA_HIGHASTROMANCERSOLARIANEVENT, 0);
     }
 
     void AttackStart(Unit *who)
@@ -398,7 +399,7 @@
 
     void UpdateAI(const uint32 diff)
     {
-        Unit* astromancer = Unit::GetUnit((*m_creature), pInstance->GetData64("Astromancer"));
+        Unit* astromancer = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_ASTROMANCER));
         if (healTimer < diff)
         {  
             DoCast(astromancer,SOLARIUM_HEAL);
Index: scripts/zone/tempest_keep/the_eye/def_the_eye.h
===================================================================
--- scripts/zone/tempest_keep/the_eye/def_the_eye.h	(revision 0)
+++ scripts/zone/tempest_keep/the_eye/def_the_eye.h	(revision 0)
@@ -0,0 +1,15 @@
+#ifndef DEF_THE_EYE_H
+#define DEF_THE_EYE_H
+#define DATA_ALAREVENT 1
+#define DATA_ASTROMANCER 2
+#define DATA_GRANDASTROMANCERCAPERNIAN 3
+#define DATA_HIGHASTROMANCERSOLARIANEVENT 4
+#define DATA_FATHOMLORDKARATHRESSEVENT 5
+#define DATA_KAELTHAS 6
+#define DATA_KAELTHASEVENT 7
+#define DATA_LORDSANGUINAR 8
+#define DATA_MASTERENGINEERTELONICUS 9
+#define DATA_SOLARIANEVENT 10
+#define DATA_THALADREDTHEDARKENER 11
+#define DATA_VOIDREAVEREVENT 12
+#endif
Index: scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp
===================================================================
--- scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp	(revision 268)
+++ scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
  
 #include "../../../sc_defines.h"
+#include "def_the_eye.h"
 
 #define ENCOUNTERS 5
 
@@ -107,56 +108,56 @@
         }
     }
 
-    uint64 GetData64(char *identifier)
+    uint64 GetData64(uint32 identifier)
     {
-        if(identifier == "ThaladredTheDarkener")
+        if(identifier  == DATA_THALADREDTHEDARKENER)
             return ThaladredTheDarkener;
-        else if(identifier == "LordSanguinar")
+        else if(identifier  == DATA_LORDSANGUINAR)
             return LordSanguinar;
-        else if(identifier == "GrandAstromancerCapernian")
+        else if(identifier  == DATA_GRANDASTROMANCERCAPERNIAN)
             return GrandAstromancerCapernian;
-        else if(identifier == "MasterEngineerTelonicus")
+        else if(identifier  == DATA_MASTERENGINEERTELONICUS)
             return MasterEngineerTelonicus;
-        else if(identifier == "Kaelthas")
+        else if(identifier  == DATA_KAELTHAS)
             return Kaelthas;
-        else if(identifier == "Astromancer")
+        else if(identifier  == DATA_ASTROMANCER)
             return Astromancer;
 
-        return NULL;
+        return 0;
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "AlArEvent")
+        if(type == DATA_ALAREVENT)
             Encounters[0] = (data) ? true : false;
-        else if(type == "SolarianEvent")
+        else if(type == DATA_SOLARIANEVENT)
             Encounters[1] = (data) ? true : false;
-        else if(type == "VoidReaverEvent")
+        else if(type == DATA_VOIDREAVEREVENT)
             Encounters[2] = (data) ? true : false;
 
         //Kael'thas
-        else if(type == "KaelThasEvent")
+        else if(type == DATA_KAELTHASEVENT)
         {
             KaelthasEventPhase = data;
             Encounters[3] = (data) ? true : false;
         }
-        else if(type = "HighAstromancerSolarianEvent")
+        else if(type == DATA_HIGHASTROMANCERSOLARIANEVENT)
             Encounters[4] = (data) ? true : false;
     }
 
-    uint32 GetData(char *type)
+    uint32 GetData(uint32 type)
     {
-        if(type == "AlArEvent")
+        if(type == DATA_ALAREVENT)
             return Encounters[0];
-        else if(type == "SolarianEvent")
+        else if(type == DATA_SOLARIANEVENT)
             return Encounters[1];
-        else if(type == "VoidReaverEvent")
+        else if(type == DATA_VOIDREAVEREVENT)
             return Encounters[2];
-        else if(type == "HighAstromancerSolarianEvent")
+        else if(type == DATA_HIGHASTROMANCERSOLARIANEVENT)
             return Encounters[4];
 
         //Kael'thas
-        else if(type == "KaelThasEvent")
+        else if(type == DATA_KAELTHASEVENT)
             return KaelthasEventPhase;
 
         return 0;
Index: scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp
===================================================================
--- scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp	(revision 268)
+++ scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_the_eye.h"
 
 #define SPELL_POUNDING              34162
 #define SPELL_ARCANE_ORB_TRIGGER    34172
@@ -72,7 +73,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("VoidReaverEvent", 0);
+            pInstance->SetData(DATA_VOIDREAVEREVENT, 0);
     }
 
     void KilledUnit(Unit *victim)
@@ -102,7 +103,7 @@
         DoPlaySoundToSet(m_creature, SOUND_DEATH);
 
         if(pInstance)
-            pInstance->SetData("VoidReaverEvent", 0);
+            pInstance->SetData(DATA_VOIDREAVEREVENT, 0);
     }
 
     void AttackStart(Unit *who)
@@ -122,7 +123,7 @@
                 DoPlaySoundToSet(m_creature, SOUND_AGGRO);
                 InCombat = true;
                 if(pInstance)
-                    pInstance->SetData("VoidReaverEvent", 1);
+                    pInstance->SetData(DATA_VOIDREAVEREVENT, 1);
             }
         }
     }
@@ -146,7 +147,7 @@
                     DoPlaySoundToSet(m_creature, SOUND_AGGRO);
                     InCombat = true;
                     if(pInstance)
-                        pInstance->SetData("VoidReaverEvent", 1);
+                        pInstance->SetData(DATA_VOIDREAVEREVENT, 1);
                 }
 
                 DoStartMeleeAttack(who);
Index: scripts/zone/tempest_keep/arcatraz/boss_zereketh_the_unbound.cpp
===================================================================
--- scripts/zone/tempest_keep/arcatraz/boss_zereketh_the_unbound.cpp	(revision 268)
+++ scripts/zone/tempest_keep/arcatraz/boss_zereketh_the_unbound.cpp	(working copy)
@@ -1,4 +1,5 @@
 #include "../../../sc_defines.h"
+#include "def_arcatraz.h"
 
 #define SPELL_SEED_OF_CORRUPTION 36123
 #define SPELL_SHADOW_NOVA 36127
@@ -70,14 +71,14 @@
  wait = false;
  wait_timer = 0;
 
- if(pInstance) pInstance->SetData("ZerekeththeUnboundEvent",0);
+ if(pInstance) pInstance->SetData(DATA_ZEREKETHTHEUNBOUNDEVENT,0);
  }
 
  void JustDied(Unit* Killer)
  { 
  DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL);
  DoPlaySoundToSet(m_creature,SOUND_DEATH);
- if(pInstance) pInstance->SetData("ZerekeththeUnboundEvent",0);
+ if(pInstance) pInstance->SetData(DATA_ZEREKETHTHEUNBOUNDEVENT,0);
  }
 
  void KilledUnit(Unit* victim)
@@ -114,7 +115,7 @@
  DoYell(SAY_AGGRO, LANG_UNIVERSAL, NULL);
  DoPlaySoundToSet(m_creature,SOUND_AGGRO);
  InCombat = true;
- if(pInstance) pInstance->SetData("ZerekeththeUnboundEvent",1);
+ if(pInstance) pInstance->SetData(DATA_ZEREKETHTHEUNBOUNDEVENT,1);
  }
  }
  }
@@ -138,7 +139,7 @@
  DoYell(SAY_AGGRO, LANG_UNIVERSAL, NULL);
  DoPlaySoundToSet(m_creature,SOUND_AGGRO);
  InCombat = true;
- if(pInstance) pInstance->SetData("ZerekeththeUnboundEvent",1);
+ if(pInstance) pInstance->SetData(DATA_ZEREKETHTHEUNBOUNDEVENT,1);
  }
  }
  }
Index: scripts/zone/tempest_keep/arcatraz/def_arcatraz.h
===================================================================
--- scripts/zone/tempest_keep/arcatraz/def_arcatraz.h	(revision 0)
+++ scripts/zone/tempest_keep/arcatraz/def_arcatraz.h	(revision 0)
@@ -0,0 +1,7 @@
+#ifndef DEF_ARCATRAZ_H
+#define DEF_ARCATRAZ_H
+#define DATA_DALLIAHTHEDOOMSAYEREVENT 1
+#define DATA_HARBINGERSKYRISSEVENT 2
+#define DATA_WRATH_SCRYERSOCCOTHRATESEVENT 3
+#define DATA_ZEREKETHTHEUNBOUNDEVENT 4
+#endif
Index: scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp
===================================================================
--- scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp	(revision 268)
+++ scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_arcatraz.h"
 #include "../../../../../../game/GameObject.h"
 
 #define ENCOUNTERS 4
@@ -79,11 +80,11 @@
         go->SetUInt32Value(GAMEOBJECT_STATE, 0);
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "ZerekeththeUnboundEvent")
+        if(type == DATA_ZEREKETHTHEUNBOUNDEVENT)
             Encounters[0] = (data) ? true : false;
-        else if(type == "Wrath-ScryerSoccothratesEvent")
+        else if(type == DATA_WRATH_SCRYERSOCCOTHRATESEVENT)
         {
             if(data == 2)
             {
@@ -94,7 +95,7 @@
 
             Encounters[1] = (data) ? true : false;
         }
-        else if(type == "DalliahtheDoomsayerEvent")
+        else if(type == DATA_DALLIAHTHEDOOMSAYEREVENT)
         {
             if(data == 2)
             {
@@ -105,7 +106,7 @@
 
             Encounters[2] = (data) ? true : false;
         }
-        else if(type == "HarbingerSkyrissEvent")
+        else if(type == DATA_HARBINGERSKYRISSEVENT)
             Encounters[3] = (data) ? true : false;
     }
 };
Index: scripts/zone/shadowmoon_valley/boss_doomwalker.cpp
===================================================================
--- scripts/zone/shadowmoon_valley/boss_doomwalker.cpp	(revision 268)
+++ scripts/zone/shadowmoon_valley/boss_doomwalker.cpp	(working copy)
@@ -234,7 +234,7 @@
                 }
                 if(InEnrage)
                 {
-                    m_creature->RemoveAura(SPELL_ENRAGE, NULL);//remove enrage before casting earthquake because enrage + earthquake = 16000dmg over 8sec and all dead
+                    m_creature->RemoveAura(SPELL_ENRAGE, 0);//remove enrage before casting earthquake because enrage + earthquake = 16000dmg over 8sec and all dead
                 }
                 DoCast(m_creature,SPELL_EARTHQUAKE);
                 Quake_Timer = (70 + rand()% 30) * 1000;//70-100sec cooldown
@@ -271,4 +271,4 @@
     newscript->Name="boss_doomwalker";
     newscript->GetAI = GetAI_boss_doomwalker;
     m_scripts[nrscripts++] = newscript;
-}
\ No newline at end of file
+}
Index: scripts/zone/blackwing_lair/boss_vaelastrasz.cpp
===================================================================
--- scripts/zone/blackwing_lair/boss_vaelastrasz.cpp	(revision 268)
+++ scripts/zone/blackwing_lair/boss_vaelastrasz.cpp	(working copy)
@@ -77,7 +77,7 @@
     void EnterEvadeMode()
     {
         PlayerGUID = 0;
-        SpeachTimer = NULL;
+        SpeachTimer = 0;
         SpeachNum = 0;
         Cleave_Timer = 15000;      //These times are probably wrong
         FlameBreath_Timer = 25000;
Index: scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp
===================================================================
--- scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp	(revision 268)
+++ scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp	(working copy)
@@ -15,6 +15,7 @@
 */
 
 #include "../../../sc_defines.h"
+#include "def_shadow_labyrinth.h"
 #include "../../../creature/simple_ai.h"
 
 /* ScriptData
@@ -86,7 +87,7 @@
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_BANISH, true);
 
         if(pInstance)
-            pInstance->SetData("BlackheartTheInciterEvent", 0);
+            pInstance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, 0);
     }
 
     void KilledUnit(Unit *victim)
@@ -116,7 +117,7 @@
         DoPlaySoundToSet(m_creature, SOUND_DEATH);
 
         if(pInstance)
-            pInstance->SetData("BlackheartTheInciterEvent", 2);
+            pInstance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, 2);
     }
 
     void StartEvent()
@@ -142,7 +143,7 @@
         InCombat = true;
 
         if(pInstance)
-            pInstance->SetData("BlackheartTheInciterEvent", 1);
+            pInstance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, 1);
     }
 
     void AttackStart(Unit *who)
Index: scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h
===================================================================
--- scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h	(revision 0)
+++ scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h	(revision 0)
@@ -0,0 +1,8 @@
+#ifndef DEF_SHADOW_LABYRINTH_H
+#define DEF_SHADOW_LABYRINTH_H
+#define DATA_AMBASSADORHELLMAWEVENT 1
+#define DATA_BLACKHEARTTHEINCITEREVENT 2
+#define DATA_GRANDMASTERVORPIL 3
+#define DATA_GRANDMASTERVORPILEVENT 4
+#define DATA_MURMUREVENT 5
+#endif
Index: scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp
===================================================================
--- scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp	(revision 268)
+++ scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp	(working copy)
@@ -22,6 +22,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_shadow_labyrinth.h"
 #include "../../../../../../game/GameObject.h"
 
 #define ENCOUNTERS 4
@@ -88,9 +89,9 @@
         }
     }
 
-    uint64 GetUnitGUID(char *identifier)
+    uint64 GetUnitGUID(uint32 identifier)
     {
-        if(identifier == "GrandmasterVorpil")
+        if(identifier  == DATA_GRANDMASTERVORPIL)
             return GrandmasterVorpil;
 
         return 0;
@@ -103,11 +104,11 @@
         go->SetUInt32Value(GAMEOBJECT_STATE, 0);
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "AmbassadorHellmawEvent")
+        if(type == DATA_AMBASSADORHELLMAWEVENT)
             Encounters[0] = (data) ? true : false;
-        else if(type == "BlackheartTheInciterEvent")
+        else if(type == DATA_BLACKHEARTTHEINCITEREVENT)
         {
             if(data == 2)
             {
@@ -118,7 +119,7 @@
             else
                 Encounters[1] = (data) ? true : false;
         }
-        else if(type == "GrandmasterVorpilEvent")
+        else if(type == DATA_GRANDMASTERVORPILEVENT)
         {
             if(data == 2)
             {
@@ -129,7 +130,7 @@
             else
                 Encounters[2] = (data) ? true : false;
         }
-        else if(type == "MurmurEvent")
+        else if(type == DATA_MURMUREVENT)
             Encounters[3] = (data) ? true : false;
     }
 };
Index: scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
===================================================================
--- scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp	(revision 268)
+++ scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp	(working copy)
@@ -15,6 +15,7 @@
 */
 
 #include "../../../sc_defines.h"
+#include "def_shadow_labyrinth.h"
 
 /* ScriptData
 SDName: Boss_Grandmaster_Vorpil
@@ -90,7 +91,7 @@
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_BANISH, true);
 
         if(pInstance)
-            pInstance->SetData("GrandmasterVorpilEvent", 0);
+            pInstance->SetData(DATA_GRANDMASTERVORPILEVENT, 0);
     }
 
     void KilledUnit(Unit *victim)
@@ -115,7 +116,7 @@
         DoPlaySoundToSet(m_creature, SOUND_DEATH);
 
         if(pInstance)
-            pInstance->SetData("GrandmasterVorpilEvent", 2);
+            pInstance->SetData(DATA_GRANDMASTERVORPILEVENT, 2);
     }
 
     void StartEvent()
@@ -141,7 +142,7 @@
         InCombat = true;
 
         if(pInstance)
-            pInstance->SetData("GrandmasterVorpilEvent", 1);
+            pInstance->SetData(DATA_GRANDMASTERVORPILEVENT, 1);
     }
 
     void AttackStart(Unit *who)
Index: scripts/zone/zangarmarsh/npcs_zangarmarsh.cpp
===================================================================
--- scripts/zone/zangarmarsh/npcs_zangarmarsh.cpp	(revision 268)
+++ scripts/zone/zangarmarsh/npcs_zangarmarsh.cpp	(working copy)
@@ -63,19 +63,19 @@
             {                                               //mark of lore
                 case REP_FRIENDLY:
                     _Creature->CastSpell(player, 31808, true);
-                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, NULL);
+                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, 0);
                     break;
                 case REP_HONORED:
                     _Creature->CastSpell(player, 31810, true);
-                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, NULL);
+                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, 0);
                     break;
                 case REP_REVERED:
                     _Creature->CastSpell(player, 31811, true);
-                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, NULL);
+                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, 0);
                     break;
                 case REP_EXALTED:
                     _Creature->CastSpell(player, 31815, true);
-                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, NULL);
+                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, 0);
                     break;
             }
         }
@@ -86,19 +86,19 @@
             {
                 case REP_FRIENDLY:
                     _Creature->CastSpell(player, 31807, true);
-                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, NULL);
+                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, 0);
                     break;
                 case REP_HONORED:
                     _Creature->CastSpell(player, 31812, true);
-                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, NULL);
+                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, 0);
                     break;
                 case REP_REVERED:
                     _Creature->CastSpell(player, 31813, true);
-                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, NULL);
+                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, 0);
                     break;
                 case REP_EXALTED:
                     _Creature->CastSpell(player, 31814, true);
-                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, NULL);
+                    _Creature->Say(GOSSIP_REWARD_BLESS, LANG_UNIVERSAL, 0);
                     break;
             }
         }
Index: scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp
===================================================================
--- scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp	(revision 268)
+++ scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_steam_vault.h"
 
 #define SPELL_LIGHTNING_CLOUD       25033
 #define SPELL_LUNG_BURST            31481 
@@ -86,7 +87,7 @@
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_SLEEP, true);
 
         if(pInstance)
-            pInstance->SetData("HydromancerThespiaEvent", 0);
+            pInstance->SetData(DATA_HYDROMANCERTHESPIAEVENT, 0);
     }
 
     void JustDied(Unit* Killer)
@@ -95,7 +96,7 @@
         DoPlaySoundToSet(m_creature,SOUND_DEAD);
 
         if(pInstance)
-            pInstance->SetData("HydromancerThespiaEvent", 2);
+            pInstance->SetData(DATA_HYDROMANCERTHESPIAEVENT, 2);
     }
 
     void KilledUnit(Unit* victim)
@@ -140,7 +141,7 @@
         InCombat = true;
 
         if(pInstance)
-            pInstance->SetData("HydromancerThespiaEvent", 1);
+            pInstance->SetData(DATA_HYDROMANCERTHESPIAEVENT, 1);
     }
 
     void AttackStart(Unit *who)
Index: scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp
===================================================================
--- scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp	(revision 268)
+++ scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_steam_vault.h"
 
 #define SPELL_SPELL_REFLECTION  23920
 #define SPELL_IMPALE            26548
@@ -66,7 +67,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("WarlordKalithreshEvent", 0);
+            pInstance->SetData(DATA_WARLORDKALITHRESHEVENT, 0);
     }
 
     void KilledUnit(Unit* victim)
@@ -87,7 +88,7 @@
         DoPlaySoundToSet(m_creature, SOUND_DEATH);
 
         if(pInstance)
-            pInstance->SetData("WarlordKalithreshEvent", 0);
+            pInstance->SetData(DATA_WARLORDKALITHRESHEVENT, 0);
     }
 
     void StartEvent()
@@ -108,7 +109,7 @@
         InCombat = true;
 
         if(pInstance)
-            pInstance->SetData("WarlordKalithreshEvent", 1);
+            pInstance->SetData(DATA_WARLORDKALITHRESHEVENT, 1);
     }
 
     void AttackStart(Unit *who)
Index: scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h
===================================================================
--- scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h	(revision 0)
+++ scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h	(revision 0)
@@ -0,0 +1,8 @@
+#ifndef DEF_STEAM_VAULT_H
+#define DEF_STEAM_VAULT_H
+#define DATA_HYDROMANCERTHESPIAEVENT 1
+#define DATA_MEKGINEERSTEAMRIGGEREVENT 2
+#define DATA_WARLORDKALITHRESHEVENT 3
+#define DATA_NEARDISTILLER 4
+#define DATA_MEKGINEERSTEAMRIGGER 5
+#endif
Index: scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp
===================================================================
--- scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp	(revision 268)
+++ scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp	(working copy)
@@ -15,6 +15,7 @@
 */
 
 #include "../../../sc_defines.h"
+#include "def_steam_vault.h"
 #include "../../../../../../game/GameObject.h"
 
 #define ENCOUNTERS 3
@@ -80,9 +81,9 @@
         }
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "HydromancerThespiaEvent")
+        if(type == DATA_HYDROMANCERTHESPIAEVENT)
         {
             if(data == 2)
             {
@@ -93,7 +94,7 @@
             else
                 Encounters[0] = (data) ? true : false;
         }
-        else if(type == "MekgineerSteamriggerEvent")
+        else if(type == DATA_MEKGINEERSTEAMRIGGEREVENT)
         {
             if(data == 2)
             {
@@ -104,7 +105,7 @@
             else
                 Encounters[1] = (data) ? true : false;
         }
-        else if(type == "WarlordKalithreshEvent")
+        else if(type == DATA_WARLORDKALITHRESHEVENT)
             Encounters[2] = (data) ? true : false;
     }
 };
Index: scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp
===================================================================
--- scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp	(revision 268)
+++ scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_serpent_shrine.h"
 
 #define SWITCH_RADIUS             15
 
@@ -129,7 +130,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("HydrossTheUnstableEvent", 0);
+            pInstance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, 0);
 
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
         m_creature->ApplySpellImmune(0, IMMUNITY_SCHOOL, IMMUNE_SCHOOL_FROST, true);
@@ -142,7 +143,7 @@
         DoPlaySoundToSet(m_creature, SOUND_AGGRO);
 
         if(pInstance)
-            pInstance->SetData("HydrossTheUnstableEvent", 1);
+            pInstance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, 1);
 
         InCombat = true;
     }
@@ -191,7 +192,7 @@
         }
 
         if(pInstance)
-            pInstance->SetData("HydrossTheUnstableEvent", 0);
+            pInstance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, 0);
 
         // despawn invisible trigger
         DespawnCreatureIfExists(Invisible);
Index: scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
===================================================================
--- scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp	(revision 268)
+++ scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_serpent_shrine.h"
 
 #define SPELL_WHIRLWIND         40653
 #define SPELL_CHAOS_BLAST       37675
@@ -97,7 +98,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("LeotherasTheBlindEvent", 0);
+            pInstance->SetData(DATA_LEOTHERASTHEBLINDEVENT, 0);
 
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
     }
@@ -108,7 +109,7 @@
         DoPlaySoundToSet(m_creature, SOUND_AGGRO);
 
         if(pInstance)
-            pInstance->SetData("LeotherasTheBlindEvent", 1);
+            pInstance->SetData(DATA_LEOTHERASTHEBLINDEVENT, 1);
 
         InCombat = true;
     }
@@ -172,7 +173,7 @@
         }
 
         if(pInstance)
-            pInstance->SetData("LeotherasTheBlindEvent", 0);
+            pInstance->SetData(DATA_LEOTHERASTHEBLINDEVENT, 0);
     }
 
     void AttackStart(Unit *who)
Index: scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
===================================================================
--- scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp	(revision 268)
+++ scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_serpent_shrine.h"
 #include "../../../creature/simple_ai.h"
 #include "../../../../../../game/GameObject.h"
 #include "../../../../../../game/Player.h"
@@ -171,7 +172,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("LadyVashjEvent", 0);
+            pInstance->SetData(DATA_LADYVASHJEVENT, 0);
 
         ShieldGeneratorChannel[0] = 0;
         ShieldGeneratorChannel[1] = 0;
@@ -212,7 +213,7 @@
         DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL);
 
         if(pInstance)
-            pInstance->SetData("LadyVashjEvent", 0);
+            pInstance->SetData(DATA_LADYVASHJEVENT, 0);
     }
 
     void StartEvent()
@@ -244,7 +245,7 @@
         Phase = 1;
 
         if(pInstance)
-            pInstance->SetData("LadyVashjEvent", 1);
+            pInstance->SetData(DATA_LADYVASHJEVENT, 1);
     }
 
     void AttackStart(Unit *who)
@@ -536,7 +537,7 @@
             if(Check_Timer < diff)
             {
                 //Start Phase 3
-                if(pInstance && pInstance->GetData("CanStartPhase3"))
+                if(pInstance && pInstance->GetData(DATA_CANSTARTPHASE3))
                 {
                     //set life 50%
                     m_creature->SetHealth(m_creature->GetMaxHealth()/2);
@@ -593,7 +594,7 @@
         if(Movement_Timer < diff)
         {
             Unit *Vashj = NULL;
-            Vashj = Unit::GetUnit((*m_creature), pInstance->GetData64("LadyVashj"));
+            Vashj = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_LADYVASHJ));
             if(Vashj)
             {
                 m_creature->GetMotionMaster()->Clear();
@@ -610,7 +611,7 @@
             if(pInstance)
             {
                 Unit *Vashj = NULL;
-                Vashj = Unit::GetUnit((*m_creature), pInstance->GetData64("LadyVashj"));
+                Vashj = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_LADYVASHJ));
                 if(Vashj)
                 {
                     if(Vashj->IsWithinDistInMap(m_creature, 5))
@@ -667,7 +668,7 @@
         if(pInstance)
         {
             Creature *Vashj = NULL;
-            Vashj = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64("LadyVashj")));
+            Vashj = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_LADYVASHJ)));
 
             if(Vashj)
                 ((boss_lady_vashjAI*)Vashj->AI())->EventTaintedElementalDeath();
@@ -811,7 +812,7 @@
             {    
                 //check if vashj is death
                 Unit *Vashj = NULL;
-                Vashj = Unit::GetUnit((*m_creature), pInstance->GetData64("LadyVashj"));
+                Vashj = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_LADYVASHJ));
                 if(!Vashj || (Vashj && !Vashj->isAlive()))
                 {
                     //remove
@@ -907,7 +908,7 @@
         if(!Channeled)
         {
             Unit *Vashj = NULL;
-            Vashj = Unit::GetUnit((*m_creature), pInstance->GetData64("LadyVashj"));
+            Vashj = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_LADYVASHJ));
 
             if(Vashj && Vashj->isAlive())
             {
@@ -931,32 +932,32 @@
     }
 
     Creature *Vashj = NULL;
-    Vashj = (Creature*)(Unit::GetUnit((*player), pInstance->GetData64("LadyVashj")));
+    Vashj = (Creature*)(Unit::GetUnit((*player), pInstance->GetData64(DATA_LADYVASHJ)));
     if(Vashj && ((boss_lady_vashjAI*)Vashj->AI())->Phase == 2)
     {
         if(targets.getGOTarget() && targets.getGOTarget()->GetTypeId()==TYPEID_GAMEOBJECT)
         {
-            char *identifier;
+            uint32 identifier;
             uint8 channel_identifier;
             switch(targets.getGOTarget()->GetEntry())
             {
             case 185052:
-                identifier = "ShieldGenerator1";
+                identifier = DATA_SHIELDGENERATOR1;
                 channel_identifier = 0;
                 break;
 
             case 185053:
-                identifier = "ShieldGenerator2";
+                identifier = DATA_SHIELDGENERATOR2;
                 channel_identifier = 1;
                 break;
 
             case 185051:
-                identifier = "ShieldGenerator3";
+                identifier = DATA_SHIELDGENERATOR3;
                 channel_identifier = 2;
                 break;
 
             case 185054:
-                identifier = "ShieldGenerator4";
+                identifier = DATA_SHIELDGENERATOR4;
                 channel_identifier = 3;
                 break;
 
Index: scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h
===================================================================
--- scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h	(revision 0)
+++ scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h	(revision 0)
@@ -0,0 +1,21 @@
+#ifndef DEF_SERPENT_SHRINE_H
+#define DEF_SERPENT_SHRINE_H
+#define DATA_CANSTARTPHASE3 1
+#define DATA_CARIBDIS 2
+#define DATA_HYDROSSTHEUNSTABLEEVENT 3
+#define DATA_KARATHRESS 4
+#define DATA_KARATHRESSEVENT 5
+#define DATA_KARATHRESSEVENT_STARTER 6
+#define DATA_LADYVASHJ 7
+#define DATA_LADYVASHJEVENT 8
+#define DATA_LEOTHERASTHEBLINDEVENT 9
+#define DATA_MOROGRIMTIDEWALKEREVENT 10
+#define DATA_SHARKKIS 11
+#define DATA_SHIELDGENERATOR1 12
+#define DATA_SHIELDGENERATOR2 13
+#define DATA_SHIELDGENERATOR3 14
+#define DATA_SHIELDGENERATOR4 15
+#define DATA_THELURKERBELOWEVENT 16
+#define DATA_TIDALVESS 17
+#define DATA_FATHOMLORDKARATHRESSEVENT 18
+#endif
Index: scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
===================================================================
--- scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp	(revision 268)
+++ scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_serpent_shrine.h"
 #include "../../../../../../game/Player.h"
 #include "../../../../../../game/Group.h"
 
@@ -115,7 +116,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("KarathressEvent", 0);
+            pInstance->SetData(DATA_KARATHRESSEVENT, 0);
 
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
     }
@@ -143,9 +144,9 @@
 
     void GetAdvisors()
     {
-        Advisors[0] = pInstance->GetData64("Sharkkis");
-        Advisors[1] = pInstance->GetData64("Tidalvess");
-        Advisors[3] = pInstance->GetData64("Caribdis");
+        Advisors[0] = pInstance->GetData64(DATA_SHARKKIS);
+        Advisors[1] = pInstance->GetData64(DATA_TIDALVESS);
+        Advisors[3] = pInstance->GetData64(DATA_CARIBDIS);
     }
 
     void StartEvent(Unit *who)
@@ -160,8 +161,8 @@
 
         InCombat = true;
 
-        pInstance->SetData64("KarathressEvent_Starter", who->GetGUID());
-        pInstance->SetData("KarathressEvent", 1);
+        pInstance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+        pInstance->SetData(DATA_KARATHRESSEVENT, 1);
     }
 
     void KilledUnit(Unit *victim)
@@ -189,7 +190,7 @@
         DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL);
 
         if(pInstance)
-            pInstance->SetData("FathomLordKarathressEvent", 0);
+            pInstance->SetData(DATA_FATHOMLORDKARATHRESSEVENT, 0);
 
         //support for quest 10944
         if(killer && (killer->GetTypeId() == TYPEID_PLAYER))
@@ -264,9 +265,9 @@
     void UpdateAI(const uint32 diff)
     {
         //Only if not incombat check if the event is started
-        if(!InCombat && pInstance && pInstance->GetData("KarathressEvent"))
+        if(!InCombat && pInstance && pInstance->GetData(DATA_KARATHRESSEVENT))
         {
-            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64("KarathressEvent_Starter"));
+            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KARATHRESSEVENT_STARTER));
 
             if(target)
             {
@@ -285,7 +286,7 @@
             return;
 
         //someone evaded!
-        if(pInstance && !pInstance->GetData("KarathressEvent"))
+        if(pInstance && !pInstance->GetData(DATA_KARATHRESSEVENT))
             EnterEvadeMode();
 
         //CataclysmicBolt_Timer
@@ -344,7 +345,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("KarathressEvent", 0);
+            pInstance->SetData(DATA_KARATHRESSEVENT, 0);
 
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_POLYMORPH, true);
@@ -367,7 +368,7 @@
         if(pInstance)
         {
             Creature *Karathress = NULL;
-            Karathress = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64("Karathress")));
+            Karathress = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KARATHRESS)));
 
             if(Karathress)
                 ((boss_fathomlord_karathressAI*)Karathress->AI())->EventSharkkisDeath();
@@ -389,8 +390,8 @@
 
                 if(pInstance)
                 {
-                    pInstance->SetData64("KarathressEvent_Starter", who->GetGUID());
-                    pInstance->SetData("KarathressEvent", 1);
+                    pInstance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+                    pInstance->SetData(DATA_KARATHRESSEVENT, 1);
                 }
             }
         }
@@ -416,8 +417,8 @@
 
                     if(pInstance)
                     {
-                        pInstance->SetData64("KarathressEvent_Starter", who->GetGUID());
-                        pInstance->SetData("KarathressEvent", 1);
+                        pInstance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+                        pInstance->SetData(DATA_KARATHRESSEVENT, 1);
                     }
                 }
             }
@@ -427,9 +428,9 @@
     void UpdateAI(const uint32 diff)
     {
         //Only if not incombat check if the event is started
-        if(!InCombat && pInstance && pInstance->GetData("KarathressEvent"))
+        if(!InCombat && pInstance && pInstance->GetData(DATA_KARATHRESSEVENT))
         {
-            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64("KarathressEvent_Starter"));
+            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KARATHRESSEVENT_STARTER));
 
             if(target)
             {
@@ -443,7 +444,7 @@
             return;
 
         //someone evaded!
-        if(pInstance && !pInstance->GetData("KarathressEvent"))
+        if(pInstance && !pInstance->GetData(DATA_KARATHRESSEVENT))
             EnterEvadeMode();
 
         //LeechingThrow_Timer
@@ -491,7 +492,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("KarathressEvent", 0);
+            pInstance->SetData(DATA_KARATHRESSEVENT, 0);
 
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_POLYMORPH, true);
@@ -514,7 +515,7 @@
         if(pInstance)
         {
             Creature *Karathress = NULL;
-            Karathress = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64("Karathress")));
+            Karathress = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KARATHRESS)));
 
             if(Karathress)
                 ((boss_fathomlord_karathressAI*)Karathress->AI())->EventTidalvessDeath();
@@ -536,8 +537,8 @@
 
                 if(pInstance)
                 {
-                    pInstance->SetData64("KarathressEvent_Starter", who->GetGUID());
-                    pInstance->SetData("KarathressEvent", 1);
+                    pInstance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+                    pInstance->SetData(DATA_KARATHRESSEVENT, 1);
                 }
             }
         }
@@ -563,8 +564,8 @@
 
                     if(pInstance)
                     {
-                        pInstance->SetData64("KarathressEvent_Starter", who->GetGUID());
-                        pInstance->SetData("KarathressEvent", 1);
+                        pInstance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+                        pInstance->SetData(DATA_KARATHRESSEVENT, 1);
                     }
                 }
             }
@@ -574,9 +575,9 @@
     void UpdateAI(const uint32 diff)
     {
         //Only if not incombat check if the event is started
-        if(!InCombat && pInstance && pInstance->GetData("KarathressEvent"))
+        if(!InCombat && pInstance && pInstance->GetData(DATA_KARATHRESSEVENT))
         {
-            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64("KarathressEvent_Starter"));
+            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KARATHRESSEVENT_STARTER));
 
             if(target)
             {
@@ -590,7 +591,7 @@
             return;
 
         //someone evaded!
-        if(pInstance && !pInstance->GetData("KarathressEvent"))
+        if(pInstance && !pInstance->GetData(DATA_KARATHRESSEVENT))
             EnterEvadeMode();
 
         //FrostShock_Timer
@@ -635,7 +636,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("KarathressEvent", 0);
+            pInstance->SetData(DATA_KARATHRESSEVENT, 0);
 
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_POLYMORPH, true);
@@ -658,7 +659,7 @@
         if(pInstance)
         {
             Creature *Karathress = NULL;
-            Karathress = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64("Karathress")));
+            Karathress = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KARATHRESS)));
 
             if(Karathress)
                 ((boss_fathomlord_karathressAI*)Karathress->AI())->EventCaribdisDeath();
@@ -680,8 +681,8 @@
 
                 if(pInstance)
                 {
-                    pInstance->SetData64("KarathressEvent_Starter", who->GetGUID());
-                    pInstance->SetData("KarathressEvent", 1);
+                    pInstance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+                    pInstance->SetData(DATA_KARATHRESSEVENT, 1);
                 }
             }
         }
@@ -707,8 +708,8 @@
 
                     if(pInstance)
                     {
-                        pInstance->SetData64("KarathressEvent_Starter", who->GetGUID());
-                        pInstance->SetData("KarathressEvent", 1);
+                        pInstance->SetData64(DATA_KARATHRESSEVENT_STARTER, who->GetGUID());
+                        pInstance->SetData(DATA_KARATHRESSEVENT, 1);
                     }
                 }
             }
@@ -718,9 +719,9 @@
     void UpdateAI(const uint32 diff)
     {
         //Only if not incombat check if the event is started
-        if(!InCombat && pInstance && pInstance->GetData("KarathressEvent"))
+        if(!InCombat && pInstance && pInstance->GetData(DATA_KARATHRESSEVENT))
         {
-            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64("KarathressEvent_Starter"));
+            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KARATHRESSEVENT_STARTER));
 
             if(target)
             {
@@ -734,7 +735,7 @@
             return;
 
         //someone evaded!
-        if(pInstance && !pInstance->GetData("KarathressEvent"))
+        if(pInstance && !pInstance->GetData(DATA_KARATHRESSEVENT))
             EnterEvadeMode();
 
         //WaterBoltVolley_Timer
@@ -762,15 +763,15 @@
                 switch(rand()%4)
                 {
                     case 0:
-                    pUnit = Unit::GetUnit((*m_creature), pInstance->GetData64("Karathress"));
+                    pUnit = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_KARATHRESS));
                     break;
                     
                     case 1:
-                    pUnit = Unit::GetUnit((*m_creature), pInstance->GetData64("Sharkkis"));
+                    pUnit = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_SHARKKIS));
                     break;
 
                     case 2:
-                    pUnit = Unit::GetUnit((*m_creature), pInstance->GetData64("Tidalvess"));
+                    pUnit = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_TIDALVESS));
                     break;
 
                     case 3:
Index: scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp
===================================================================
--- scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp	(revision 268)
+++ scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_serpent_shrine.h"
 #include "../../../../../../game/Player.h"
 
 #define SPELL_TIDAL_WAVE             37730
@@ -111,7 +112,7 @@
         DoGoHome();
 
         if(pInstance)
-            pInstance->SetData("MorogrimTidewalkerEvent", 0);
+            pInstance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, 0);
 
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISARM, true);
     }
@@ -124,7 +125,7 @@
         InCombat = true;
 
         if(pInstance)
-            pInstance->SetData("MorogrimTidewalkerEvent", 1); 
+            pInstance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, 1); 
     }
 
     void KilledUnit(Unit *victim)
@@ -154,7 +155,7 @@
         DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL);
 
         if(pInstance)
-            pInstance->SetData("MorogrimTidewalkerEvent", 0);
+            pInstance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, 0);
     }
 
     void AttackStart(Unit *who)
Index: scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
===================================================================
--- scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp	(revision 268)
+++ scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_serpent_shrine.h"
 
 #define ENCOUNTERS 6
 
@@ -100,45 +101,45 @@
         }
     }
 
-    void SetData64(char* type, uint64 data)
+    void SetData64(uint32 type, uint64 data)
     {
-        if(type == "KarathressEvent_Starter")
+        if(type == DATA_KARATHRESSEVENT_STARTER)
             KarathressEvent_Starter = data;
     }
 
-    uint64 GetData64(char *identifier)
+    uint64 GetData64(uint32 identifier)
     {
-        if(identifier == "Sharkkis")
+        if(identifier  == DATA_SHARKKIS)
             return Sharkkis;
-        else if(identifier == "Tidalvess")
+        else if(identifier  == DATA_TIDALVESS)
             return Tidalvess;
-        else if(identifier == "Caribdis")
+        else if(identifier  == DATA_CARIBDIS)
             return Caribdis;
-        else if(identifier == "LadyVashj")
+        else if(identifier  == DATA_LADYVASHJ)
             return LadyVashj;
-        else if(identifier == "Karathress")
+        else if(identifier  == DATA_KARATHRESS)
             return Karathress;
-        else if(identifier == "KarathressEvent_Starter")
+        else if(identifier  == DATA_KARATHRESSEVENT_STARTER)
             return KarathressEvent_Starter;
 
-        return NULL;
+        return 0;
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "HydrossTheUnstableEvent")
+        if(type == DATA_HYDROSSTHEUNSTABLEEVENT)
             Encounters[0] = (data) ? true : false;
-        else if(type == "LeotherasTheBlindEvent")
+        else if(type == DATA_LEOTHERASTHEBLINDEVENT)
             Encounters[1] = (data) ? true : false;
-        else if(type == "TheLurkerBelowEvent")
+        else if(type == DATA_THELURKERBELOWEVENT)
             Encounters[2] = (data) ? true : false;
-        else if(type == "KarathressEvent")
+        else if(type == DATA_KARATHRESSEVENT)
             Encounters[3] = (data) ? true : false;
-        else if(type == "MorogrimTidewalkerEvent")
+        else if(type == DATA_MOROGRIMTIDEWALKEREVENT)
             Encounters[4] = (data) ? true : false;
 
         //Lady Vashj
-        else if(type == "LadyVashjEvent")
+        else if(type == DATA_LADYVASHJEVENT)
         {
             if(data == 0)
             {
@@ -149,41 +150,41 @@
             }
             Encounters[5] = (data) ? true : false;
         }
-        else if(type == "ShieldGenerator1")
+        else if(type == DATA_SHIELDGENERATOR1)
             ShieldGeneratorDeactivated[0] = (data) ? true : false;
-        else if(type == "ShieldGenerator2")
+        else if(type == DATA_SHIELDGENERATOR2)
             ShieldGeneratorDeactivated[1] = (data) ? true : false;
-        else if(type == "ShieldGenerator3")
+        else if(type == DATA_SHIELDGENERATOR3)
             ShieldGeneratorDeactivated[2] = (data) ? true : false;
-        else if(type == "ShieldGenerator4")
+        else if(type == DATA_SHIELDGENERATOR4)
             ShieldGeneratorDeactivated[3] = (data) ? true : false;
     }
 
-    uint32 GetData(char *type)
+    uint32 GetData(uint32 type)
     {
-        if(type == "HydrossTheUnstableEvent")
+        if(type == DATA_HYDROSSTHEUNSTABLEEVENT)
             return Encounters[0];
-        else if (type == "LeotherasTheBlindEvent")
+        else if (type == DATA_LEOTHERASTHEBLINDEVENT)
             return Encounters[1];
-        else if(type == "TheLurkerBelowEvent")
+        else if(type == DATA_THELURKERBELOWEVENT)
             return Encounters[2];
-        else if(type == "KarathressEvent")
+        else if(type == DATA_KARATHRESSEVENT)
             return Encounters[3];
-        else if(type == "MorogrimTidewalkerEvent")
+        else if(type == DATA_MOROGRIMTIDEWALKEREVENT)
             return Encounters[4];
 
         //Lady Vashj
-        else if(type == "LadyVashjEvent")
+        else if(type == DATA_LADYVASHJEVENT)
             return Encounters[5];
-        else if(type == "ShieldGenerator1")
+        else if(type == DATA_SHIELDGENERATOR1)
             return ShieldGeneratorDeactivated[0];
-        else if(type == "ShieldGenerator2")
+        else if(type == DATA_SHIELDGENERATOR2)
             return ShieldGeneratorDeactivated[1];
-        else if(type == "ShieldGenerator3")
+        else if(type == DATA_SHIELDGENERATOR3)
             return ShieldGeneratorDeactivated[2];
-        else if(type == "ShieldGenerator4")
+        else if(type == DATA_SHIELDGENERATOR4)
             return ShieldGeneratorDeactivated[3];
-        else if(type == "CanStartPhase3")
+        else if(type == DATA_CANSTARTPHASE3)
         {
             if(ShieldGeneratorDeactivated[0] && ShieldGeneratorDeactivated[1] && ShieldGeneratorDeactivated[2] && ShieldGeneratorDeactivated[3])
                 return 1;
Index: scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp
===================================================================
--- scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp	(revision 268)
+++ scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp	(working copy)
@@ -15,6 +15,7 @@
 */
 
 #include "../../../sc_defines.h"
+#include "def_hyjal.h"
 #include "../../../../../../game/TargetedMovementGenerator.h"
 
 #define SPELL_DENOUEMENT_WISP      32124 // Wisps use this
@@ -239,7 +240,7 @@
         if(!ArchimondeGUID)
         {
             if(pInstance)
-                ArchimondeGUID = pInstance->GetData64("Archimonde");
+                ArchimondeGUID = pInstance->GetData64(DATA_ARCHIMONDE);
         }
 
         if(CheckTimer < diff)
Index: scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp
===================================================================
--- scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp	(revision 268)
+++ scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp	(working copy)
@@ -220,7 +220,7 @@
     }
 }
 
-void hyjalAI::SetInstanceData(char* Event, uint32 data)
+void hyjalAI::SetInstanceData(uint32 Event, uint32 data)
 {
     if(!Event || !data)
         return;
@@ -229,7 +229,7 @@
         pInstance->SetData(Event, data);
 }
 
-uint32 hyjalAI::GetInstanceData(char* Event)
+uint32 hyjalAI::GetInstanceData(uint32 Event)
 {
     if(!Event)
         return 0;
Index: scripts/zone/caverns_of_time/hyjal/hyjalAI.h
===================================================================
--- scripts/zone/caverns_of_time/hyjal/hyjalAI.h	(revision 268)
+++ scripts/zone/caverns_of_time/hyjal/hyjalAI.h	(working copy)
@@ -184,9 +184,9 @@
 
     void StartEvent(Player* player);
     
-    void SetInstanceData(char* Event, uint32 data);
+    void SetInstanceData(uint32 Event, uint32 data);
 
-    uint32 GetInstanceData(char* Event);
+    uint32 GetInstanceData(uint32 Event);
 
     void Talk(uint32 id);
 public:    
Index: scripts/zone/caverns_of_time/hyjal/npc_hyjal.cpp
===================================================================
--- scripts/zone/caverns_of_time/hyjal/npc_hyjal.cpp	(revision 268)
+++ scripts/zone/caverns_of_time/hyjal/npc_hyjal.cpp	(working copy)
@@ -15,6 +15,7 @@
 */
 
 #include "hyjalAI.h"
+#include "def_hyjal.h"
 
 #define GOSSIP_ITEM_BEGIN_ALLY  "We are ready to defend the Alliance base."
 #define GOSSIP_ITEM_ANETHERON   "The defenses are holding up; we can continue."
@@ -68,15 +69,15 @@
     {
         case GOSSIP_ACTION_INFO_DEF + 1:
             ((hyjalAI*)_Creature->AI())->StartEvent(player);
-            ((hyjalAI*)_Creature->AI())->SetInstanceData("RageWinterchillEvent", ENCOUNTER_IN_PROGRESS);
+            ((hyjalAI*)_Creature->AI())->SetInstanceData(DATA_RAGEWINTERCHILLEVENT, ENCOUNTER_IN_PROGRESS);
             break;
         case GOSSIP_ACTION_INFO_DEF + 2:
             ((hyjalAI*)_Creature->AI())->StartEvent(player);
-            ((hyjalAI*)_Creature->AI())->SetInstanceData("RageWinterchillEvent", ENCOUNTER_COMPLETE);
-            ((hyjalAI*)_Creature->AI())->SetInstanceData("AnetheronEvent", ENCOUNTER_IN_PROGRESS);
+            ((hyjalAI*)_Creature->AI())->SetInstanceData(DATA_RAGEWINTERCHILLEVENT, ENCOUNTER_COMPLETE);
+            ((hyjalAI*)_Creature->AI())->SetInstanceData(DATA_ANETHERONEVENT, ENCOUNTER_IN_PROGRESS);
             break;
         case GOSSIP_ACTION_INFO_DEF + 3:
-            ((hyjalAI*)_Creature->AI())->SetInstanceData("AnetheronEvent", ENCOUNTER_COMPLETE);
+            ((hyjalAI*)_Creature->AI())->SetInstanceData(DATA_ANETHERONEVENT, ENCOUNTER_COMPLETE);
             ((hyjalAI*)_Creature->AI())->TeleportRaid(player, HORDEBASE_X, HORDEBASE_Y, HORDEBASE_Z);
             break;
     }
@@ -98,7 +99,7 @@
 bool GossipHello_npc_thrall(Player *player, Creature *_Creature)
 {
     uint32 AnetheronEvent = 0;
-    AnetheronEvent = ((hyjalAI*)_Creature->AI())->GetInstanceData("AnetheronEvent");
+    AnetheronEvent = ((hyjalAI*)_Creature->AI())->GetInstanceData(DATA_ANETHERONEVENT);
     if(AnetheronEvent == 3) // Only let them start the Horde phase if Anetheron is dead.
     {
         if((((hyjalAI*)_Creature->AI())->EventBegun) && (!((hyjalAI*)_Creature->AI())->FirstBossDead))
@@ -124,15 +125,15 @@
     {
         case GOSSIP_ACTION_INFO_DEF + 1:
             ((hyjalAI*)_Creature->AI())->StartEvent(player);
-            ((hyjalAI*)_Creature->AI())->SetInstanceData("KazrogalEvent", ENCOUNTER_IN_PROGRESS);
+            ((hyjalAI*)_Creature->AI())->SetInstanceData(DATA_KAZROGALEVENT, ENCOUNTER_IN_PROGRESS);
             break;
         case GOSSIP_ACTION_INFO_DEF + 2:
             ((hyjalAI*)_Creature->AI())->StartEvent(player);
-            ((hyjalAI*)_Creature->AI())->SetInstanceData("KazrogalEvent", ENCOUNTER_COMPLETE);
-            ((hyjalAI*)_Creature->AI())->SetInstanceData("AzgalorEvent", ENCOUNTER_IN_PROGRESS);
+            ((hyjalAI*)_Creature->AI())->SetInstanceData(DATA_KAZROGALEVENT, ENCOUNTER_COMPLETE);
+            ((hyjalAI*)_Creature->AI())->SetInstanceData(DATA_AZGALOREVENT, ENCOUNTER_IN_PROGRESS);
             break;
         case GOSSIP_ACTION_INFO_DEF + 3:
-            ((hyjalAI*)_Creature->AI())->SetInstanceData("AzgalorEvent", ENCOUNTER_COMPLETE);
+            ((hyjalAI*)_Creature->AI())->SetInstanceData(DATA_AZGALOREVENT, ENCOUNTER_COMPLETE);
             ((hyjalAI*)_Creature->AI())->TeleportRaid(player, NIGHTELFBASE_X, NIGHTELFBASE_Y, NIGHTELFBASE_Z);
             break;
     }
Index: scripts/zone/caverns_of_time/hyjal/def_hyjal.h
===================================================================
--- scripts/zone/caverns_of_time/hyjal/def_hyjal.h	(revision 0)
+++ scripts/zone/caverns_of_time/hyjal/def_hyjal.h	(revision 0)
@@ -0,0 +1,17 @@
+#ifndef DEF_HYJAL_H
+#define DEF_HYJAL_H
+#define DATA_ANETHERON 1
+#define DATA_ANETHERONEVENT 2
+#define DATA_ARCHIMONDE 3
+#define DATA_ARCHIMONDEEVENT 4
+#define DATA_AZGALOR 5
+#define DATA_AZGALOREVENT 6
+#define DATA_JAINAPROUDMOORE 7
+#define DATA_KAZROGAL 8
+#define DATA_KAZROGALEVENT 9
+#define DATA_RAGEWINTERCHILL 10
+#define DATA_RAGEWINTERCHILLEVENT 11
+#define DATA_THRALL 12
+#define DATA_TYRANDEWHISPERWIND 13
+
+#endif
Index: scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp
===================================================================
--- scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp	(revision 268)
+++ scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../../sc_defines.h"
+#include "def_hyjal.h"
 
 #define ENCOUNTERS     5
 
@@ -116,53 +117,53 @@
         }
     }
 
-    uint64 GetData64(char *identifier)
+    uint64 GetData64(uint32 identifier)
     {
-        if(identifier == "RageWinterchill" && RageWinterchill)
+        if(identifier  == DATA_RAGEWINTERCHILL && RageWinterchill)
             return RageWinterchill;
-        else if(identifier == "Anetheron" && Anetheron)
+        else if(identifier  == DATA_ANETHERON && Anetheron)
             return Anetheron;
-        else if(identifier == "Kazrogal" && Kazrogal)
+        else if(identifier  == DATA_KAZROGAL && Kazrogal)
             return Kazrogal;
-        else if(identifier == "Azgalor" && Azgalor)
+        else if(identifier  == DATA_AZGALOR && Azgalor)
             return Azgalor;
-        else if(identifier == "Archimonde" && Archimonde)
+        else if(identifier  == DATA_ARCHIMONDE && Archimonde)
             return Archimonde;
-        else if(identifier == "JainaProudmoore" && JainaProudmoore)
+        else if(identifier  == DATA_JAINAPROUDMOORE && JainaProudmoore)
             return JainaProudmoore;
-        else if(identifier == "Thrall" && Thrall)
+        else if(identifier  == DATA_THRALL && Thrall)
             return Thrall;
-        else if(identifier == "TyrandeWhisperwind" && TyrandeWhisperwind)
+        else if(identifier  == DATA_TYRANDEWHISPERWIND && TyrandeWhisperwind)
             return TyrandeWhisperwind;
 
-        return NULL;
+        return 0;
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "RageWinterchillEvent")
+        if(type == DATA_RAGEWINTERCHILLEVENT)
             Encounters[0] = data;
-        else if(type == "AnetheronEvent")
+        else if(type == DATA_ANETHERONEVENT)
             Encounters[1] = data;
-        else if(type == "KazrogalEvent")
+        else if(type == DATA_KAZROGALEVENT)
             Encounters[2] = data;
-        else if(type == "AzgalorEvent")
+        else if(type == DATA_AZGALOREVENT)
             Encounters[3] = data;
-        else if(type == "ArchimondeEvent")
+        else if(type == DATA_ARCHIMONDEEVENT)
             Encounters[4] = data;
     }
 
-    uint32 GetData(char *type)
+    uint32 GetData(uint32 type)
     {
-        if(type == "RageWinterchillEvent")
+        if(type == DATA_RAGEWINTERCHILLEVENT)
             return Encounters[0];
-        else if(type == "AnetheronEvent")
+        else if(type == DATA_ANETHERONEVENT)
             return Encounters[1];
-        else if(type == "KazrogalEvent")
+        else if(type == DATA_KAZROGALEVENT)
             return Encounters[2];
-        else if(type == "AzgalorEvent")
+        else if(type == DATA_AZGALOREVENT)
             return Encounters[3];
-        else if(type == "ArchimondeEvent")
+        else if(type == DATA_ARCHIMONDEEVENT)
             return Encounters[4];
         return 0;
     }
Index: scripts/zone/nagrand/mobs_nagrand.cpp
===================================================================
--- scripts/zone/nagrand/mobs_nagrand.cpp	(revision 268)
+++ scripts/zone/nagrand/mobs_nagrand.cpp	(working copy)
@@ -222,7 +222,7 @@
                 m_creature->CombatStop();
                 m_creature->setFaction(1080);               //friendly
                 m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1, PLAYER_STATE_SIT);
-                m_creature->Say(LUMP_DEFEAT, LANG_UNIVERSAL, NULL);
+                m_creature->Say(LUMP_DEFEAT, LANG_UNIVERSAL, 0);
 
                 Reset = true;
             }
Index: scripts/zone/gruuls_lair/boss_gruul.cpp
===================================================================
--- scripts/zone/gruuls_lair/boss_gruul.cpp	(revision 268)
+++ scripts/zone/gruuls_lair/boss_gruul.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_gruuls_lair.h"
 #include "../../../../../game/TargetedMovementGenerator.h"
 
 #define SPELL_GROWTH              36300
@@ -71,7 +72,7 @@
         m_creature->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_CONFUSED, true);
 
         if(pInstance)
-            pInstance->SetData("GruulEvent", 0);
+            pInstance->SetData(DATA_GRUULEVENT, 0);
 
     }
 
@@ -88,7 +89,7 @@
     void JustDied(Unit* Killer)
     {
         if(pInstance)
-            pInstance->SetData("GruulEvent", 1);
+            pInstance->SetData(DATA_GRUULEVENT, 1);
     }
 
     void AttackStart(Unit *who)
@@ -107,7 +108,7 @@
                 InCombat = true;
 
                 if(pInstance)
-                    pInstance->SetData("GruulEvent", 1);
+                    pInstance->SetData(DATA_GRUULEVENT, 1);
             }
         }
     }
@@ -134,7 +135,7 @@
                     InCombat = true;
 
                     if(pInstance)
-                        pInstance->SetData("GruulEvent", 1);
+                        pInstance->SetData(DATA_GRUULEVENT, 1);
                 }
             }
         }
Index: scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp
===================================================================
--- scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp	(revision 268)
+++ scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_gruuls_lair.h"
 
 #define SOUND_AGGRO              11367
 #define SOUND_ENRAGE             11368
@@ -90,7 +91,7 @@
 
         //reset encounter
         if (pInstance)
-            pInstance->SetData("MaulgarEvent", 0);
+            pInstance->SetData(DATA_MAULGAREVENT, 0);
 
         m_creature->RemoveAllAuras();
         m_creature->DeleteThreatList();
@@ -121,7 +122,7 @@
         DoPlaySoundToSet(m_creature, SOUND_DEATH);
 
         if (pInstance)
-            pInstance->SetData("MaulgarEvent", 0);
+            pInstance->SetData(DATA_MAULGAREVENT, 0);
     }
 
     void AttackStart(Unit *who)
@@ -141,10 +142,10 @@
     void GetCouncil()
     {
         //get council member's guid to respawn them if needed
-        Council[0] = pInstance->GetData64("KigglerTheCrazed");
-        Council[1] = pInstance->GetData64("BlindeyeTheSeer");
-        Council[2] = pInstance->GetData64("OlmTheSummoner");
-        Council[3] = pInstance->GetData64("KroshFirehand");
+        Council[0] = pInstance->GetData64(DATA_KIGGLERTHECRAZED);
+        Council[1] = pInstance->GetData64(DATA_BLINDEYETHESEER);
+        Council[2] = pInstance->GetData64(DATA_OLMTHESUMMONER);
+        Council[3] = pInstance->GetData64(DATA_KROSHFIREHAND);
     }
 
     void StartEvent(Unit *who)
@@ -158,8 +159,8 @@
 
         InCombat = true;
 
-        pInstance->SetData64("MaulgarEvent_Tank", who->GetGUID());
-        pInstance->SetData("MaulgarEvent", 1);
+        pInstance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
+        pInstance->SetData(DATA_MAULGAREVENT, 1);
     }
 
     void MoveInLineOfSight(Unit *who)
@@ -186,9 +187,9 @@
     void UpdateAI(const uint32 diff)
     {
         //Only if not incombat check if the event is started
-        if(!InCombat && pInstance && pInstance->GetData("MaulgarEvent"))
+        if(!InCombat && pInstance && pInstance->GetData(DATA_MAULGAREVENT))
         {
-            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64("MaulgarEvent_Tank"));
+            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_MAULGAREVENT_TANK));
 
             if(target)
             {
@@ -206,7 +207,7 @@
             return;
 
         //someone evaded!
-        if(pInstance && !pInstance->GetData("MaulgarEvent"))
+        if(pInstance && !pInstance->GetData(DATA_MAULGAREVENT))
             EnterEvadeMode();
 
         //ArcingSmash_Timer
@@ -285,7 +286,7 @@
 
         //reset encounter
         if (pInstance)
-            pInstance->SetData("MaulgarEvent", 0);
+            pInstance->SetData(DATA_MAULGAREVENT, 0);
     }
 
     void AttackStart(Unit *who)
@@ -301,8 +302,8 @@
                 InCombat = true;
                 if(pInstance)
                 {
-                    pInstance->SetData64("MaulgarEvent_Tank", who->GetGUID());
-                    pInstance->SetData("MaulgarEvent", 1);
+                    pInstance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
+                    pInstance->SetData(DATA_MAULGAREVENT, 1);
                 }
             }
 			DoStartMeleeAttack(who);
@@ -330,8 +331,8 @@
                     DoStartMeleeAttack(who);
                     if(pInstance)
                     {
-                        pInstance->SetData64("MaulgarEvent_Tank", who->GetGUID());
-                        pInstance->SetData("MaulgarEvent", 1);
+                        pInstance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
+                        pInstance->SetData(DATA_MAULGAREVENT, 1);
                     }
                 }
             }
@@ -359,9 +360,9 @@
     void UpdateAI(const uint32 diff)
     {
         //Only if not incombat check if the event is started
-        if(!InCombat && pInstance && pInstance->GetData("MaulgarEvent"))
+        if(!InCombat && pInstance && pInstance->GetData(DATA_MAULGAREVENT))
         {
-            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64("MaulgarEvent_Tank"));
+            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_MAULGAREVENT_TANK));
 
             if(target)
             {
@@ -375,7 +376,7 @@
             return;
 
         //someone evaded!
-        if(pInstance && !pInstance->GetData("MaulgarEvent"))
+        if(pInstance && !pInstance->GetData(DATA_MAULGAREVENT))
             EnterEvadeMode();
 
         //DarkDecay_Timer
@@ -431,7 +432,7 @@
 
         //reset encounter
         if (pInstance)
-            pInstance->SetData("MaulgarEvent", 0);
+            pInstance->SetData(DATA_MAULGAREVENT, 0);
     }
 
     void AttackStart(Unit *who)
@@ -446,8 +447,8 @@
                 InCombat = true;
                 if(pInstance)
                 {
-                    pInstance->SetData64("MaulgarEvent_Tank", who->GetGUID());
-                    pInstance->SetData("MaulgarEvent", 1);
+                    pInstance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
+                    pInstance->SetData(DATA_MAULGAREVENT, 1);
                 }
             }
 		    DoStartMeleeAttack(who);
@@ -473,8 +474,8 @@
                     DoStartMeleeAttack(who);
                     if(pInstance)
                     {
-                        pInstance->SetData64("MaulgarEvent_Tank", who->GetGUID());
-                        pInstance->SetData("MaulgarEvent", 1);
+                        pInstance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
+                        pInstance->SetData(DATA_MAULGAREVENT, 1);
                     }
                 }
             }
@@ -484,9 +485,9 @@
     void UpdateAI(const uint32 diff)
     {
         //Only if not incombat check if the event is started
-        if(!InCombat && pInstance && pInstance->GetData("MaulgarEvent"))
+        if(!InCombat && pInstance && pInstance->GetData(DATA_MAULGAREVENT))
         {
-            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64("MaulgarEvent_Tank"));
+            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_MAULGAREVENT_TANK));
 
             if(target)
             {
@@ -500,7 +501,7 @@
             return;
 
         //someone evaded!
-        if(pInstance && !pInstance->GetData("MaulgarEvent"))
+        if(pInstance && !pInstance->GetData(DATA_MAULGAREVENT))
             EnterEvadeMode();
 
         //GreatherPolymorph_Timer / disabled: it makes you fall under the texture / if you've got vmaps feel free to uncomment this
@@ -568,7 +569,7 @@
 
         //reset encounter
         if (pInstance)
-            pInstance->SetData("MaulgarEvent", 0);
+            pInstance->SetData(DATA_MAULGAREVENT, 0);
     }
 
     void AttackStart(Unit *who)
@@ -584,8 +585,8 @@
                 InCombat = true;
                 if(pInstance)
                 {
-                    pInstance->SetData64("MaulgarEvent_Tank", who->GetGUID());
-                    pInstance->SetData("MaulgarEvent", 1);
+                    pInstance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
+                    pInstance->SetData(DATA_MAULGAREVENT, 1);
                 }
             }
 			DoStartMeleeAttack(who);
@@ -611,8 +612,8 @@
                     DoStartMeleeAttack(who);
                     if(pInstance)
                     {
-                        pInstance->SetData64("MaulgarEvent_Tank", who->GetGUID());
-                        pInstance->SetData("MaulgarEvent", 1);
+                        pInstance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
+                        pInstance->SetData(DATA_MAULGAREVENT, 1);
                     }
                 }
             }
@@ -622,9 +623,9 @@
     void UpdateAI(const uint32 diff)
     {
         //Only if not incombat check if the event is started
-        if(!InCombat && pInstance && pInstance->GetData("MaulgarEvent"))
+        if(!InCombat && pInstance && pInstance->GetData(DATA_MAULGAREVENT))
         {
-            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64("MaulgarEvent_Tank"));
+            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_MAULGAREVENT_TANK));
 
             if(target)
             {
@@ -638,7 +639,7 @@
             return;
 
         //someone evaded!
-        if(pInstance && !pInstance->GetData("MaulgarEvent"))
+        if(pInstance && !pInstance->GetData(DATA_MAULGAREVENT))
             EnterEvadeMode();
 
         //GreaterPowerWordShield_Timer
@@ -691,7 +692,7 @@
 
         //reset encounter
         if (pInstance)
-            pInstance->SetData("MaulgarEvent", 0);
+            pInstance->SetData(DATA_MAULGAREVENT, 0);
     }
 
     void AttackStart(Unit *who)
@@ -707,8 +708,8 @@
                 InCombat = true;
                 if(pInstance)
                 {
-                    pInstance->SetData64("MaulgarEvent_Tank", who->GetGUID());
-                    pInstance->SetData("MaulgarEvent", 1);
+                    pInstance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
+                    pInstance->SetData(DATA_MAULGAREVENT, 1);
                 }
             }
 			DoStartMeleeAttack(who);
@@ -734,8 +735,8 @@
                     DoStartMeleeAttack(who);
                     if(pInstance)
                     {
-                        pInstance->SetData64("MaulgarEvent_Tank", who->GetGUID());
-                        pInstance->SetData("MaulgarEvent", 1);
+                        pInstance->SetData64(DATA_MAULGAREVENT_TANK, who->GetGUID());
+                        pInstance->SetData(DATA_MAULGAREVENT, 1);
                     }
                 }
             }
@@ -745,9 +746,9 @@
     void UpdateAI(const uint32 diff)
     {
         //Only if not incombat check if the event is started
-        if(!InCombat && pInstance && pInstance->GetData("MaulgarEvent"))
+        if(!InCombat && pInstance && pInstance->GetData(DATA_MAULGAREVENT))
         {
-            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64("MaulgarEvent_Tank"));
+            Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_MAULGAREVENT_TANK));
 
             if(target)
             {
@@ -761,7 +762,7 @@
             return;
 
         //someone evaded!
-        if(pInstance && !pInstance->GetData("MaulgarEvent"))
+        if(pInstance && !pInstance->GetData(DATA_MAULGAREVENT))
             EnterEvadeMode();
 
         //GreaterFireball_Timer
Index: scripts/zone/gruuls_lair/def_gruuls_lair.h
===================================================================
--- scripts/zone/gruuls_lair/def_gruuls_lair.h	(revision 0)
+++ scripts/zone/gruuls_lair/def_gruuls_lair.h	(revision 0)
@@ -0,0 +1,10 @@
+#ifndef DEF_GRUULS_LAIR_H
+#define DEF_GRUULS_LAIR_H
+#define DATA_BLINDEYETHESEER 1
+#define DATA_GRUULEVENT 2
+#define DATA_KIGGLERTHECRAZED 3
+#define DATA_KROSHFIREHAND 4
+#define DATA_MAULGAREVENT 5
+#define DATA_MAULGAREVENT_TANK 6
+#define DATA_OLMTHESUMMONER 7
+#endif
Index: scripts/zone/gruuls_lair/instance_gruuls_lair.cpp
===================================================================
--- scripts/zone/gruuls_lair/instance_gruuls_lair.cpp	(revision 268)
+++ scripts/zone/gruuls_lair/instance_gruuls_lair.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_gruuls_lair.h"
 
 #define ENCOUNTERS 2
 
@@ -83,41 +84,41 @@
         }
     }
 
-    void SetData64(char *type, uint64 data)
+    void SetData64(uint32 type, uint64 data)
     {
-        if(type == "MaulgarEvent_Tank")
+        if(type == DATA_MAULGAREVENT_TANK)
             MaulgarEvent_Tank = data;
     }
 
-    uint64 GetData64(char *identifier)
+    uint64 GetData64(uint32 identifier)
     {
-        if(identifier == "MaulgarEvent_Tank")
+        if(identifier  == DATA_MAULGAREVENT_TANK)
             return MaulgarEvent_Tank;
-        else if(identifier == "KigglerTheCrazed")
+        else if(identifier  == DATA_KIGGLERTHECRAZED)
             return KigglerTheCrazed;
-        else if(identifier == "BlindeyeTheSeer")
+        else if(identifier  == DATA_BLINDEYETHESEER)
             return BlindeyeTheSeer;
-        else if(identifier == "OlmTheSummoner")
+        else if(identifier  == DATA_OLMTHESUMMONER)
             return OlmTheSummoner;
-        else if(identifier == "KroshFirehand")
+        else if(identifier  == DATA_KROSHFIREHAND)
             return KroshFirehand;
 
         return 0;
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "MaulgarEvent")
+        if(type == DATA_MAULGAREVENT)
             Encounters[0] = (data) ? true : false;
-        else if(type == "GruulEvent")
+        else if(type == DATA_GRUULEVENT)
             Encounters[1] = (data) ? true : false;
     }
 
-    uint32 GetData(char *type) 
+    uint32 GetData(uint32 type) 
     { 
-        if(type == "MaulgarEvent")
+        if(type == DATA_MAULGAREVENT)
             return Encounters[0];
-        else if(type =="GruulEvent")
+        else if(type == DATA_GRUULEVENT)
             return Encounters[1];
 
         return 0;
Index: scripts/zone/karazhan/boss_curator.cpp
===================================================================
--- scripts/zone/karazhan/boss_curator.cpp	(revision 268)
+++ scripts/zone/karazhan/boss_curator.cpp	(working copy)
@@ -190,7 +190,7 @@
                 }
 
                 //Reduce Mana by 10%
-                int32 mana = (0.1*(m_creature->GetMaxPower(POWER_MANA)));               
+                int32 mana = (int32)(0.1*(m_creature->GetMaxPower(POWER_MANA)));               
                 m_creature->ModifyPower(POWER_MANA, -mana);
                 switch(rand()%4)
                 {
Index: scripts/zone/karazhan/boss_midnight.cpp
===================================================================
--- scripts/zone/karazhan/boss_midnight.cpp	(revision 268)
+++ scripts/zone/karazhan/boss_midnight.cpp	(working copy)
@@ -94,7 +94,7 @@
             Unit *pUnit = Unit::GetUnit(*m_creature, Attumen);
             if(pUnit)
             {
-                pUnit->MonsterYell(SAY_MIDNIGHT_KILL, LANG_UNIVERSAL, NULL);
+                pUnit->MonsterYell(SAY_MIDNIGHT_KILL, LANG_UNIVERSAL, 0);
                 DoPlaySoundToSet(pUnit, SOUND_MIDNIGHT_KILL);
             }
         }    
@@ -118,15 +118,15 @@
                 switch(rand()%3)
                 {    
                 case 0:
-                    pAttumen->Yell(SAY_APPEAR1, LANG_UNIVERSAL, NULL);
+                    pAttumen->Yell(SAY_APPEAR1, LANG_UNIVERSAL, 0);
                     DoPlaySoundToSet(m_creature, SOUND_APPEAR1);
                     break;
                 case 1:    
-                    pAttumen->Yell(SAY_APPEAR2, LANG_UNIVERSAL, NULL);
+                    pAttumen->Yell(SAY_APPEAR2, LANG_UNIVERSAL, 0);
                     DoPlaySoundToSet(m_creature, SOUND_APPEAR2);
                     break;
                 case 2:
-                    pAttumen->Yell(SAY_APPEAR3, LANG_UNIVERSAL, NULL);
+                    pAttumen->Yell(SAY_APPEAR3, LANG_UNIVERSAL, 0);
                     DoPlaySoundToSet(m_creature, SOUND_APPEAR3);
                     break;
                 }   
Index: scripts/zone/karazhan/boss_prince_malchezaar.cpp
===================================================================
--- scripts/zone/karazhan/boss_prince_malchezaar.cpp	(revision 268)
+++ scripts/zone/karazhan/boss_prince_malchezaar.cpp	(working copy)
@@ -534,7 +534,7 @@
                 m_creature->SetFloatValue(UNIT_FIELD_MINOFFHANDDAMAGE, cinfo->mindmg);
                 m_creature->SetFloatValue(UNIT_FIELD_MAXOFFHANDDAMAGE, cinfo->maxdmg);
 
-                m_creature->SetAttackTime(OFF_ATTACK, m_creature->GetAttackTime(BASE_ATTACK)/1.5);
+                m_creature->SetAttackTime(OFF_ATTACK, (uint32)m_creature->GetAttackTime(BASE_ATTACK)/1.5);
                 
             }
 
Index: scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp
===================================================================
--- scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp	(revision 268)
+++ scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp	(working copy)
@@ -117,7 +117,7 @@
         case 0: RandX = 0 - Rand; break;
         case 1: RandX = 0 + Rand; break;
         }
-        Rand = NULL;
+        Rand = 0;
         Rand = rand()%5;
         switch (rand()%2)
         {
Index: scripts/zone/molten_core/boss_sulfuron_harbinger.cpp
===================================================================
--- scripts/zone/molten_core/boss_sulfuron_harbinger.cpp	(revision 268)
+++ scripts/zone/molten_core/boss_sulfuron_harbinger.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_molten_core.h"
 
 
 #define SPELL_DEMORALIZINGSHOUT     19778
@@ -254,8 +255,8 @@
                     if(pInstance)
                     {    
 
-                     Unit *pSulfuron = Unit::GetUnit((*m_creature), pInstance->GetData64("Sulfuron"));
-                     Unit *pFlamewakerPriest = Unit::GetUnit((*m_creature), pInstance->GetData64("FlamewakerPriest"));
+                     Unit *pSulfuron = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_SULFURON));
+                     Unit *pFlamewakerPriest = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_FLAMEWAKERPRIEST));
 
 
 
Index: scripts/zone/molten_core/boss_golemagg.cpp
===================================================================
--- scripts/zone/molten_core/boss_golemagg.cpp	(revision 268)
+++ scripts/zone/molten_core/boss_golemagg.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_molten_core.h"
 
 
 #define SPELL_MAGMASPLASH               37667      
@@ -97,7 +98,7 @@
     {
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
-            pInstance->SetData("Golemagg_Death", 0);
+            pInstance->SetData(DATA_GOLEMAGG_DEATH, 0);
     }
 
     void MoveInLineOfSight(Unit *who)
@@ -287,7 +288,7 @@
             if(pInstance)
             {    
 
-                    if(pInstance->GetData("GolemaggIsDead"))
+                    if(pInstance->GetData(DATA_GOLEMAGGISDEAD))
                     //remove
                     m_creature->setDeathState(JUST_DIED);
                     m_creature->RemoveCorpse();
Index: scripts/zone/molten_core/def_molten_core.h
===================================================================
--- scripts/zone/molten_core/def_molten_core.h	(revision 0)
+++ scripts/zone/molten_core/def_molten_core.h	(revision 0)
@@ -0,0 +1,15 @@
+#ifndef DEF_MOLTEN_CORE_H
+#define DEF_MOLTEN_CORE_H
+#define DATA_FLAMEWAKERPRIEST 1
+#define DATA_GARRISDEAD 2
+#define DATA_GEDDONISDEAD 3
+#define DATA_GEHENNASISDEAD 4
+#define DATA_GOLEMAGGISDEAD 5
+#define DATA_GOLEMAGG_DEATH 6
+#define DATA_LUCIFRONISDEAD 7
+#define DATA_MAGMADARISDEAD 8
+#define DATA_MAJORDOMOISDEAD 9
+#define DATA_SHAZZRAHISDEAD 10
+#define DATA_SULFURON 11
+#define DATA_SULFURONISDEAD 12
+#endif
Index: scripts/zone/molten_core/instance_molten_core.cpp
===================================================================
--- scripts/zone/molten_core/instance_molten_core.cpp	(revision 268)
+++ scripts/zone/molten_core/instance_molten_core.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_molten_core.h"
 
 #define ID_LUCIFRON     12118
 #define ID_MAGMADAR     11982
@@ -172,50 +173,50 @@
         }
     }
 
-    uint64 GetData64 (char *identifier) {
-        if (identifier == "Sulfuron")
+    uint64 GetData64 (uint32 identifier) {
+        if (identifier  == DATA_SULFURON)
             return Sulfuron;
-        if (identifier == "FlamewakerPriest")
+        if (identifier  == DATA_FLAMEWAKERPRIEST)
             return FlamewakerPriest;
         return 0;
     } // end GetData64
 
-    uint32 GetData(char *type)
+    uint32 GetData(uint32 type)
     {
 
-        if(type == "LucifronIsDead")
+        if(type == DATA_LUCIFRONISDEAD)
             if(IsBossDied[0])
                 return 1;
 
-        if(type == "MagmadarIsDead")
+        if(type == DATA_MAGMADARISDEAD)
             if(IsBossDied[1])
                 return 1;
 
-        if(type == "GehennasIsDead")
+        if(type == DATA_GEHENNASISDEAD)
             if(IsBossDied[2])
                 return 1;
 
-        if(type == "GarrIsDead")
+        if(type == DATA_GARRISDEAD)
             if(IsBossDied[3])
                 return 1;
 
-        if(type == "GeddonIsDead")
+        if(type == DATA_GEDDONISDEAD)
             if(IsBossDied[4])
                 return 1;
 
-        if(type == "ShazzrahIsDead")
+        if(type == DATA_SHAZZRAHISDEAD)
             if(IsBossDied[5])
                 return 1;
 
-        if(type == "SulfuronIsDead")
+        if(type == DATA_SULFURONISDEAD)
             if(IsBossDied[6])
                 return 1;
 
-        if(type == "GolemaggIsDead")
+        if(type == DATA_GOLEMAGGISDEAD)
             if(IsBossDied[7])
                 return 1;
 
-        if(type == "MajordomoIsDead")
+        if(type == DATA_MAJORDOMOISDEAD)
             if(IsBossDied[8])
                 return 1;
 
@@ -223,9 +224,9 @@
     }
 
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "Golemagg_Death")
+        if(type == DATA_GOLEMAGG_DEATH)
             IsBossDied[7] = true;
     }
 
Index: scripts/zone/zulaman/boss_janalai.cpp
===================================================================
--- scripts/zone/zulaman/boss_janalai.cpp	(revision 268)
+++ scripts/zone/zulaman/boss_janalai.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_zulaman.h"
 
 // Jan'alai
 // --Spell
@@ -138,7 +139,7 @@
     void EnterEvadeMode()
     {
         if(pInstance)
-            pInstance->SetData("JanalaiEvent", 0);
+            pInstance->SetData(DATA_JANALAIEVENT, 0);
 
         InCombat = false;
 
@@ -168,7 +169,7 @@
         DoPlaySoundToSet(m_creature,SOUND_DEATH);
 
         if(pInstance)
-            pInstance->SetData("JanalaiEvent", 3);
+            pInstance->SetData(DATA_JANALAIEVENT, 3);
     }
 
     void KilledUnit(Unit* victim)
@@ -199,7 +200,7 @@
             if (!InCombat)
             {
                 if(pInstance)
-                    pInstance->SetData("JanalaiEvent", 1);
+                    pInstance->SetData(DATA_JANALAIEVENT, 1);
 
                 switch(rand()%2)
                 {
@@ -235,7 +236,7 @@
                 if (!InCombat)
                 {
                     if(pInstance)
-                        pInstance->SetData("JanalaiEvent", 1);
+                        pInstance->SetData(DATA_JANALAIEVENT, 1);
 
                     switch(rand()%2)
                     {
@@ -379,7 +380,7 @@
         //Call Hatcher
         if(!noeggs && hatchertime < diff)
         {
-            if(pInstance->GetData("J_Eggsleft")>0 || pInstance->GetData("J_Eggsright") > 0)
+            if(pInstance->GetData(DATA_J_EGGSLEFT)>0 || pInstance->GetData(DATA_J_EGGSRIGHT) > 0)
             { 
                 Unit* hatcher = NULL;
                 DoYell(SAY_SUMMON_HATCHER, LANG_UNIVERSAL, NULL);
@@ -425,7 +426,7 @@
         {
             DoYell(SAY_ALL_EGGS , LANG_UNIVERSAL, NULL);
             DoPlaySoundToSet(m_creature,SOUND_BERSERK); 
-            eggs = pInstance->GetData("J_Eggsleft");
+            eggs = pInstance->GetData(DATA_J_EGGSLEFT);
             int i;
             for(i=1;i<=eggs;i=i+1)
             {
@@ -433,16 +434,16 @@
                 int s = (rand()%20 - 10);
                 m_creature->SummonCreature(MOB_HATCHLING,JanalainPos[0][0]+s,JanalainPos[0][1]+r,JanalainPos[0][2],0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,15000);
 
-                pInstance->SetData("J_Hatchleft",1);
+                pInstance->SetData(DATA_J_HATCHLEFT,1);
             };
-            eggs = pInstance->GetData("J_Eggsright");
+            eggs = pInstance->GetData(DATA_J_EGGSRIGHT);
 
             for(i=1;i<=eggs;i=i+1)
             {
                 int r = (rand()%20 - 10);
                 int s = (rand()%20 - 10);
                 m_creature->SummonCreature(MOB_HATCHLING,JanalainPos[0][0]+s,JanalainPos[0][1]+r,JanalainPos[0][2],0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,15000);
-                pInstance->SetData("J_Hatchright",1);
+                pInstance->SetData(DATA_J_HATCHRIGHT,1);
             };
             noeggs = true;
         };
@@ -540,7 +541,7 @@
 
     void UpdateAI(const uint32 diff)
     { 
-        if(pInstance->GetData("JanalaiEvent") == 1)
+        if(pInstance->GetData(DATA_JANALAIEVENT) == 1)
         {
             if(!start && !hatch)
             {
@@ -597,13 +598,13 @@
 
                     if(waytype)
                     {
-                        eggs = pInstance->GetData("J_Eggsleft"); 
+                        eggs = pInstance->GetData(DATA_J_EGGSLEFT); 
                         if(eggs > 0)
                             DoCast(m_creature,SPELL_HATCH_EGG);               
                         int i;
                         for(i=1;i<=hatchlings;i=i+1)
                         {
-                            eggs = pInstance->GetData("J_Eggsleft");                        
+                            eggs = pInstance->GetData(DATA_J_EGGSLEFT);                        
                             if(eggs <= 0)
                             {
                                 if (waytype) waytype = false; else waytype = true;
@@ -616,7 +617,7 @@
                             else
                             {   
                                 hatchling = DoSpawnCreature(MOB_HATCHLING,rand()%4-2,rand()%4-2,0,0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,15000);
-                                pInstance->SetData("J_Hatchleft",1);
+                                pInstance->SetData(DATA_J_HATCHLEFT,1);
                             };
                         };
                         DoCast(m_creature,SPELL_HATCH_EGG);
@@ -625,13 +626,13 @@
                     }
                     else
                     {
-                        eggs = pInstance->GetData("J_Eggsright"); 
+                        eggs = pInstance->GetData(DATA_J_EGGSRIGHT); 
                         if(eggs > 0)
                             DoCast(m_creature,SPELL_HATCH_EGG);               
                         int i;
                         for(i=1;i<=hatchlings;i=i+1)
                         {
-                            eggs = pInstance->GetData("J_Eggsright");                        
+                            eggs = pInstance->GetData(DATA_J_EGGSRIGHT);                        
                             if(eggs <= 0)
                             {
                                 if (waytype) waytype = false; else waytype = true;
@@ -644,7 +645,7 @@
                             else
                             {
                                 hatchling = DoSpawnCreature(MOB_HATCHLING,rand()%4-2,rand()%4-2,0,0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,15000);
-                                pInstance->SetData("J_Hatchright",1);
+                                pInstance->SetData(DATA_J_HATCHRIGHT,1);
                             };
                         };
                         DoCast(m_creature,SPELL_HATCH_EGG);                 
@@ -739,7 +740,7 @@
             start = true;
         }
 
-        if(delete_timer < diff && !(pInstance->GetData("JanalaiEvent") == 1))
+        if(delete_timer < diff && !(pInstance->GetData(DATA_JANALAIEVENT) == 1))
         {
             if(!(m_creature->getVictim()))
                 m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_NORMAL, NULL, false);
Index: scripts/zone/zulaman/boss_nalorakk.cpp
===================================================================
--- scripts/zone/zulaman/boss_nalorakk.cpp	(revision 268)
+++ scripts/zone/zulaman/boss_nalorakk.cpp	(working copy)
@@ -328,4 +328,4 @@
     newscript->Name="boss_nalorakk";
     newscript->GetAI = GetAI_boss_nalorakk;
     m_scripts[nrscripts++] = newscript;
-}
\ No newline at end of file
+}
Index: scripts/zone/zulaman/def_zulaman.h
===================================================================
--- scripts/zone/zulaman/def_zulaman.h	(revision 0)
+++ scripts/zone/zulaman/def_zulaman.h	(revision 0)
@@ -0,0 +1,9 @@
+#ifndef DEF_ZULAMAN_H
+#define DEF_ZULAMAN_H
+#define DATA_JANALAI 1
+#define DATA_JANALAIEVENT 2
+#define DATA_J_EGGSLEFT 3
+#define DATA_J_EGGSRIGHT 4
+#define DATA_J_HATCHLEFT 5
+#define DATA_J_HATCHRIGHT 6
+#endif
Index: scripts/zone/zulaman/instance_zulaman.cpp
===================================================================
--- scripts/zone/zulaman/instance_zulaman.cpp	(revision 268)
+++ scripts/zone/zulaman/instance_zulaman.cpp	(working copy)
@@ -15,6 +15,7 @@
 */
 
 #include "../../sc_defines.h"
+#include "def_zulaman.h"
 
 #define ENCOUNTERS     1
 
@@ -69,18 +70,18 @@
         }
     }
 
-    uint64 GetData64(char *identifier)
+    uint64 GetData64(uint32 identifier)
     {
-        if(identifier == "Janalai" && janalai)
+        if(identifier  == DATA_JANALAI && janalai)
             return janalai;
 
 
-        return NULL;
+        return 0;
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "JanalaiEvent")
+        if(type == DATA_JANALAIEVENT)
         {
             if(data == 0)
             {
@@ -89,23 +90,23 @@
             };
             Encounters[0] = data;
         }
-        else if(type == "J_Hatchleft")
+        else if(type == DATA_J_HATCHLEFT)
         {
             janalai_eggs_l -= data;
-        }else if(type == "J_Hatchright")
+        }else if(type == DATA_J_HATCHRIGHT)
         {
             janalai_eggs_r -= data;
         };
 
     }
 
-    uint32 GetData(char *type)
+    uint32 GetData(uint32 type)
     {
-        if(type == "JanalaiEvent")
+        if(type == DATA_JANALAIEVENT)
             return Encounters[0];
-        else if(type == "J_Eggsleft")
+        else if(type == DATA_J_EGGSLEFT)
             return janalai_eggs_l;
-        else if(type == "J_Eggsright")
+        else if(type == DATA_J_EGGSRIGHT)
             return janalai_eggs_r;
 
         return 0;
Index: scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp
===================================================================
--- scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp	(revision 268)
+++ scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_scholomance.h"
 
 #define SPELL_REND              18106
 #define SPELL_CLEAVE            15584
@@ -68,9 +69,9 @@
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
         {
-            pInstance->SetData("DoctorTheolenKrastinov_Death", 0);
+            pInstance->SetData(DATA_DOCTORTHEOLENKRASTINOV_DEATH, 0);
 
-            if(pInstance->GetData("CanSpawnGandling"))
+            if(pInstance->GetData(DATA_CANSPAWNGANDLING))
                 m_creature->SummonCreature(1853, 180.73, -9.43856, 75.507, 1.61399, TEMPSUMMON_DEAD_DESPAWN, 0);
         }
     }
Index: scripts/zone/scholomance/def_scholomance.h
===================================================================
--- scripts/zone/scholomance/def_scholomance.h	(revision 0)
+++ scripts/zone/scholomance/def_scholomance.h	(revision 0)
@@ -0,0 +1,10 @@
+#ifndef DEF_SCHOLOMANCE_H
+#define DEF_SCHOLOMANCE_H
+#define DATA_CANSPAWNGANDLING 1
+#define DATA_DOCTORTHEOLENKRASTINOV_DEATH 2
+#define DATA_INSTRUCTORMALICIA_DEATH 3
+#define DATA_LADYILLUCIABAROV_DEATH 4
+#define DATA_LORDALEXEIBAROV_DEATH 5
+#define DATA_LOREKEEPERPOLKELT_DEATH 6
+#define DATA_THERAVENIAN_DEATH 7
+#endif
Index: scripts/zone/scholomance/instance_scholomance.cpp
===================================================================
--- scripts/zone/scholomance/instance_scholomance.cpp	(revision 268)
+++ scripts/zone/scholomance/instance_scholomance.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_scholomance.h"
 
 struct MANGOS_DLL_DECL instance_scholomance : public ScriptedInstance
 {
@@ -45,28 +46,28 @@
         return false;
     }
 
-    uint32 GetData(char *type)
+    uint32 GetData(uint32 type)
     {
-        if(type == "CanSpawnGandling")
+        if(type == DATA_CANSPAWNGANDLING)
             if(IsBossDied[0] && IsBossDied[1] && IsBossDied[2] && IsBossDied[3] && IsBossDied[4] && IsBossDied[5])
                 return 1;
 
         return 0;
     }
 
-    void SetData(char *type, uint32 data)
+    void SetData(uint32 type, uint32 data)
     {
-        if(type == "LordAlexeiBarov_Death")
+        if(type == DATA_LORDALEXEIBAROV_DEATH)
             IsBossDied[0] = true;
-        else if(type == "DoctorTheolenKrastinov_Death")
+        else if(type == DATA_DOCTORTHEOLENKRASTINOV_DEATH)
             IsBossDied[1] = true;
-        else if(type == "TheRavenian_Death")
+        else if(type == DATA_THERAVENIAN_DEATH)
             IsBossDied[2] = true;
-        else if(type == "LorekeeperPolkelt_Death")
+        else if(type == DATA_LOREKEEPERPOLKELT_DEATH)
             IsBossDied[3] = true;
-        else if(type == "InstructorMalicia_Death")
+        else if(type == DATA_INSTRUCTORMALICIA_DEATH)
             IsBossDied[4] = true;
-        else if(type == "LadyIlluciaBarov_Death")
+        else if(type == DATA_LADYILLUCIABAROV_DEATH)
             IsBossDied[5] = true;
     }
 };
Index: scripts/zone/scholomance/boss_illucia_barov.cpp
===================================================================
--- scripts/zone/scholomance/boss_illucia_barov.cpp	(revision 268)
+++ scripts/zone/scholomance/boss_illucia_barov.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_scholomance.h"
 
 #define SPELL_CURSEOFAGONY      18671
 #define SPELL_SHADOWSHOCK       20603
@@ -71,9 +72,9 @@
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
         {
-            pInstance->SetData("LadyIlluciaBarov_Death", 0);
+            pInstance->SetData(DATA_LADYILLUCIABAROV_DEATH, 0);
 
-            if(pInstance->GetData("CanSpawnGandling"))
+            if(pInstance->GetData(DATA_CANSPAWNGANDLING))
                 m_creature->SummonCreature(1853, 180.73, -9.43856, 75.507, 1.61399, TEMPSUMMON_DEAD_DESPAWN, 0);
         }
     }
Index: scripts/zone/scholomance/boss_instructor_malicia.cpp
===================================================================
--- scripts/zone/scholomance/boss_instructor_malicia.cpp	(revision 268)
+++ scripts/zone/scholomance/boss_instructor_malicia.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_scholomance.h"
 
 #define SPELL_CALLOFGRAVES         17831
 #define SPELL_CORRUPTION           11672
@@ -79,9 +80,9 @@
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
         {
-            pInstance->SetData("InstructorMalicia_Death", 0);
+            pInstance->SetData(DATA_INSTRUCTORMALICIA_DEATH, 0);
 
-            if(pInstance->GetData("CanSpawnGandling"))
+            if(pInstance->GetData(DATA_CANSPAWNGANDLING))
                 m_creature->SummonCreature(1853, 180.73, -9.43856, 75.507, 1.61399, TEMPSUMMON_DEAD_DESPAWN, 0);
         }
     }
Index: scripts/zone/scholomance/boss_lord_alexei_barov.cpp
===================================================================
--- scripts/zone/scholomance/boss_lord_alexei_barov.cpp	(revision 268)
+++ scripts/zone/scholomance/boss_lord_alexei_barov.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_scholomance.h"
 
 #define SPELL_IMMOLATE             20294        // Old ID  was 15570       
 #define SPELL_VEILOFSHADOW         17820
@@ -70,9 +71,9 @@
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
         {
-            pInstance->SetData("LordAlexeiBarov_Death", 0);
+            pInstance->SetData(DATA_LORDALEXEIBAROV_DEATH, 0);
 
-            if(pInstance->GetData("CanSpawnGandling"))
+            if(pInstance->GetData(DATA_CANSPAWNGANDLING))
                 m_creature->SummonCreature(1853, 180.73, -9.43856, 75.507, 1.61399, TEMPSUMMON_DEAD_DESPAWN, 0);
         }
     }
Index: scripts/zone/scholomance/boss_the_ravenian.cpp
===================================================================
--- scripts/zone/scholomance/boss_the_ravenian.cpp	(revision 268)
+++ scripts/zone/scholomance/boss_the_ravenian.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_scholomance.h"
 
 #define SPELL_TRAMPLE           15550
 #define SPELL_CLEAVE            20691
@@ -75,9 +76,9 @@
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
         {
-            pInstance->SetData("TheRavenian_Death", 0);
+            pInstance->SetData(DATA_THERAVENIAN_DEATH, 0);
 
-            if(pInstance->GetData("CanSpawnGandling"))
+            if(pInstance->GetData(DATA_CANSPAWNGANDLING))
                 m_creature->SummonCreature(1853, 180.73, -9.43856, 75.507, 1.61399, TEMPSUMMON_DEAD_DESPAWN, 0);
         }
     }
Index: scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp
===================================================================
--- scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp	(revision 268)
+++ scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp	(working copy)
@@ -21,6 +21,7 @@
 EndScriptData */
 
 #include "../../sc_defines.h"
+#include "def_scholomance.h"
 
 #define SPELL_VOLATILEINFECTION      24928
 #define SPELL_DARKPLAGUE             18270
@@ -71,9 +72,9 @@
         ScriptedInstance *pInstance = (m_creature->GetInstanceData()) ? ((ScriptedInstance*)m_creature->GetInstanceData()) : NULL;
         if(pInstance)
         {
-            pInstance->SetData("LorekeeperPolkelt_Death", 0);
+            pInstance->SetData(DATA_LOREKEEPERPOLKELT_DEATH, 0);
 
-            if(pInstance->GetData("CanSpawnGandling"))
+            if(pInstance->GetData(DATA_CANSPAWNGANDLING))
                 m_creature->SummonCreature(1853, 180.73, -9.43856, 75.507, 1.61399, TEMPSUMMON_DEAD_DESPAWN, 0);
         }
     }
Index: ScriptMgr.h
===================================================================
--- ScriptMgr.h	(revision 268)
+++ ScriptMgr.h	(working copy)
@@ -213,12 +213,12 @@
         ~ScriptedInstance() {}
 
         //All-purpose data storage 64 bit
-        virtual uint64 GetData64(char *) {return 0; }
-        virtual void SetData64(char *, uint64) { }
+        virtual uint64 GetData64(uint32) {return 0; }
+        virtual void SetData64(uint32, uint64) { }
 
         //All-purpose data storage 32 bit
-        virtual uint32 GetData(char *type) { return 0; }
-        virtual void SetData(char *type, uint32 data) {}
+        virtual uint32 GetData(uint32) { return 0; }
+        virtual void SetData(uint32, uint32 data) {}
 };
 
 //Localized text function