diff options
| author | runningnak3d <runningnak3d@gmail.com> | 2011-05-06 00:33:22 -0400 |
|---|---|---|
| committer | runningnak3d <runningnak3d@gmail.com> | 2011-05-06 00:33:22 -0400 |
| commit | 49602752a6522bb864abc4de735c68b147735ad7 (patch) | |
| tree | 94c7dc0b0d52166c57f102e056bf027f91c47504 /src/server/scripts | |
| parent | 3acbd2aaf68c739e0365656dce70af0bef263c98 (diff) | |
| parent | 99959e8cd786a961fe392a01ade53618c0c44f0a (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore
Diffstat (limited to 'src/server/scripts')
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 |
