aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorrunningnak3d <runningnak3d@gmail.com>2011-05-06 00:33:22 -0400
committerrunningnak3d <runningnak3d@gmail.com>2011-05-06 00:33:22 -0400
commit49602752a6522bb864abc4de735c68b147735ad7 (patch)
tree94c7dc0b0d52166c57f102e056bf027f91c47504 /src/server/scripts
parent3acbd2aaf68c739e0365656dce70af0bef263c98 (diff)
parent99959e8cd786a961fe392a01ade53618c0c44f0a (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Commands/cs_learn.cpp10
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp25
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp3
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp29
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/oculus.h4
5 files changed, 49 insertions, 22 deletions
diff --git a/src/server/scripts/Commands/cs_learn.cpp b/src/server/scripts/Commands/cs_learn.cpp
index 347a527bead..e9746611818 100644
--- a/src/server/scripts/Commands/cs_learn.cpp
+++ b/src/server/scripts/Commands/cs_learn.cpp
@@ -148,9 +148,13 @@ public:
return true;
uint32 family = clsEntry->spellfamily;
- for (uint32 i = 0; i < sSpellStore.GetNumRows(); ++i)
+ for (uint32 i = 0; i < sSkillLineAbilityStore.GetNumRows(); ++i)
{
- SpellEntry const *spellInfo = sSpellStore.LookupEntry(i);
+ SkillLineAbilityEntry const *entry = sSkillLineAbilityStore.LookupEntry(i);
+ if (!entry)
+ continue;
+
+ SpellEntry const *spellInfo = sSpellStore.LookupEntry(entry->spellId);
if (!spellInfo)
continue;
@@ -175,7 +179,7 @@ public:
if (!SpellMgr::IsSpellValid(spellInfo, handler->GetSession()->GetPlayer(), false))
continue;
- handler->GetSession()->GetPlayer()->learnSpell(i, false);
+ handler->GetSession()->GetPlayer()->learnSpell(spellInfo->Id, false);
}
handler->SendSysMessage(LANG_COMMAND_LEARN_CLASS_SPELLS);
diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp
index 697129f2135..9e3851ccc8a 100644
--- a/src/server/scripts/Commands/cs_modify.cpp
+++ b/src/server/scripts/Commands/cs_modify.cpp
@@ -676,7 +676,7 @@ public:
return true;
}
- //Edit Player Scale
+ //Edit Player or Creature Scale
static bool HandleModifyScaleCommand(ChatHandler* handler, const char* args)
{
if (!*args)
@@ -690,21 +690,24 @@ public:
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Unit* target = handler->getSelectedUnit();
if (!target)
{
- handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
+ handler->SendSysMessage(LANG_SELECT_CHAR_OR_CREATURE);
handler->SetSentErrorMessage(true);
return false;
}
-
- // check online security
- if (handler->HasLowerSecurity(target, 0))
- return false;
-
- handler->PSendSysMessage(LANG_YOU_CHANGE_SIZE, Scale, handler->GetNameLink(target).c_str());
- if (handler->needReportToTarget(target))
- (ChatHandler(target)).PSendSysMessage(LANG_YOURS_SIZE_CHANGED, handler->GetNameLink().c_str(), Scale);
+
+ if (target->GetTypeId()==TYPEID_PLAYER)
+ {
+ // check online security
+ if (handler->HasLowerSecurity((Player*)target, 0))
+ return false;
+
+ handler->PSendSysMessage(LANG_YOU_CHANGE_SIZE, Scale, handler->GetNameLink((Player*)target).c_str());
+ if (handler->needReportToTarget((Player*)target))
+ (ChatHandler((Player*)target)).PSendSysMessage(LANG_YOURS_SIZE_CHANGED, handler->GetNameLink().c_str(), Scale);
+ }
target->SetFloatValue(OBJECT_FIELD_SCALE_X, Scale);
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
index d7f20de04d9..bc24f70f702 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -157,7 +157,10 @@ class boss_garfrost : public CreatureScript
if (events.GetPhaseMask() & PHASE_TWO_MASK)
DoCast(me, SPELL_FORGE_BLADE);
if (events.GetPhaseMask() & PHASE_THREE_MASK)
+ {
+ me->RemoveAurasDueToSpell(SPELL_FORGE_BLADE);
DoCast(me, SPELL_FORGE_MACE);
+ }
events.ScheduleEvent(EVENT_RESUME_ATTACK, 5000);
}
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
index 41aa988583d..412a30abb3b 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
@@ -52,6 +52,8 @@ public:
platformUrom = 0;
centrifugueConstructCounter = 0;
+ eregosCacheGUID = 0;
+
azureDragonsList.clear();
gameObjectList.clear();
}
@@ -124,14 +126,21 @@ public:
void OnGameObjectCreate(GameObject* go)
{
- if (go->GetEntry() == GO_DRAGON_CAGE_DOOR)
+ switch (go->GetEntry())
{
- if (GetBossState(DATA_DRAKOS_EVENT) == DONE)
- go->SetGoState(GO_STATE_ACTIVE);
- else
- go->SetGoState(GO_STATE_READY);
-
- gameObjectList.push_back(go->GetGUID());
+ case GO_DRAGON_CAGE_DOOR:
+ if (GetBossState(DATA_DRAKOS_EVENT) == DONE)
+ go->SetGoState(GO_STATE_ACTIVE);
+ else
+ go->SetGoState(GO_STATE_READY);
+ gameObjectList.push_back(go->GetGUID());
+ break;
+ case GO_EREGOS_CACHE_N:
+ case GO_EREGOS_CACHE_H:
+ eregosCacheGUID = go->GetGUID();
+ break;
+ default:
+ break;
}
}
@@ -154,6 +163,10 @@ public:
if (state == DONE)
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0);
break;
+ case DATA_EREGOS_EVENT:
+ if (state == DONE)
+ DoRespawnGameObject(eregosCacheGUID, 7*DAY);
+ break;
}
return true;
@@ -257,6 +270,8 @@ public:
uint8 platformUrom;
uint8 centrifugueConstructCounter;
+ uint64 eregosCacheGUID;
+
std::string str_data;
std::list<uint64> gameObjectList;
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.h b/src/server/scripts/Northrend/Nexus/Oculus/oculus.h
index 8c669b91917..e04f2c8aab9 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.h
+++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.h
@@ -48,7 +48,9 @@ enum Bosses
enum GameObjects
{
- GO_DRAGON_CAGE_DOOR = 193995
+ GO_DRAGON_CAGE_DOOR = 193995,
+ GO_EREGOS_CACHE_N = 191349,
+ GO_EREGOS_CACHE_H = 193603
};
enum SpellEvents