diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-08-18 18:13:14 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-08-18 18:13:14 +0200 |
| commit | f16f427c48cb7fb9a62b75066f831af541d0ca02 (patch) | |
| tree | cef1f28b26e234ad088169eb0d83132f0754af52 /src/server/scripts/EasternKingdoms | |
| parent | 74689b1d93c2150130907b6baac861bfbcc47dd3 (diff) | |
| parent | 19343ddd557fd03aecf7a19d310f46c62a8f336f (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Entities/Unit/Unit.h
src/server/game/Handlers/CharacterHandler.cpp
src/server/game/Server/WorldSocket.cpp
src/server/game/Spells/Spell.cpp
src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
src/server/scripts/Kalimdor/CMakeLists.txt
src/server/scripts/Kalimdor/zone_azshara.cpp
src/server/scripts/Kalimdor/zone_moonglade.cpp
src/server/scripts/Kalimdor/zone_orgrimmar.cpp
src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
src/server/scripts/Spells/spell_hunter.cpp
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
8 files changed, 68 insertions, 31 deletions
diff --git a/src/server/scripts/EasternKingdoms/CMakeLists.txt b/src/server/scripts/EasternKingdoms/CMakeLists.txt index 7bdcaf56523..73c8fb5cf5c 100644 --- a/src/server/scripts/EasternKingdoms/CMakeLists.txt +++ b/src/server/scripts/EasternKingdoms/CMakeLists.txt @@ -206,6 +206,7 @@ set(scripts_STAT_SRCS EasternKingdoms/Karazhan/boss_moroes.cpp EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp EasternKingdoms/Karazhan/karazhan.h + EasternKingdoms/TheStockade/instance_the_stockade.cpp ) message(" -> Prepared: Eastern Kingdoms") diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index f49432853fb..6c120d079bb 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -143,7 +143,7 @@ public: wait_timer = 5000; me->CastSpell(me, SPELL_DK_INITIATE_VISUAL, true); - if (Player* starter = Unit::GetPlayer(*me, playerGUID)) + if (Player* starter = ObjectAccessor::GetPlayer(*me, playerGUID)) sCreatureTextMgr->SendChat(me, SAY_EVENT_ATTACK, 0, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, starter); phase = PHASE_TO_ATTACK; @@ -228,8 +228,8 @@ public: me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); phase = PHASE_ATTACKING; - if (Player* target = Unit::GetPlayer(*me, playerGUID)) - me->AI()->AttackStart(target); + if (Player* target = ObjectAccessor::GetPlayer(*me, playerGUID)) + AttackStart(target); wait_timer = 0; } } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp index 44eef7602c8..ba6f0f23656 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp @@ -96,7 +96,7 @@ public: { if (speechTimer <= diff) { - Player* player = Unit::GetPlayer(*me, playerGUID); + Player* player = ObjectAccessor::GetPlayer(*me, playerGUID); if (!player) { EnterEvadeMode(); @@ -683,7 +683,7 @@ public: { if (ExecuteSpeech_Timer <= diff) { - Player* player = Unit::GetPlayer(*me, PlayerGUID); + Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID); if (!player) { diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index aa53790ee5f..c3d00ddba53 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -410,7 +410,7 @@ public: void JustSummoned(Creature* summoned) OVERRIDE { if (instance) - if (Player* Target = Unit::GetPlayer(*me, instance->GetData64(DATA_PLAYER_GUID))) + if (Player* Target = ObjectAccessor::GetPlayer(*me, instance->GetData64(DATA_PLAYER_GUID))) summoned->AI()->AttackStart(Target); Summons.Summon(summoned); diff --git a/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp b/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp new file mode 100644 index 00000000000..9550ac13208 --- /dev/null +++ b/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +/* +This placeholder for the instance is needed for dungeon finding to be able +to give credit after the boss defined in lastEncounterDungeon is killed. +Without it, the party doing random dungeon won't get satchel of spoils and +gets instead the deserter debuff. +*/ + +#include "ScriptMgr.h" +#include "InstanceScript.h" + +class instance_the_stockade : public InstanceMapScript +{ +public: + instance_the_stockade() : InstanceMapScript("instance_the_stockade", 34) { } + + InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE + { + return new instance_the_stockade_InstanceMapScript(map); + } + + struct instance_the_stockade_InstanceMapScript : public InstanceScript + { + instance_the_stockade_InstanceMapScript(Map* map) : InstanceScript(map) {} + }; +}; + +void AddSC_instance_the_stockade() +{ + new instance_the_stockade(); +} diff --git a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp index d8750a82bc4..5381b19ebf3 100644 --- a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp +++ b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp @@ -98,14 +98,14 @@ public: void JustDied(Unit* /*killer*/) OVERRIDE { if (PlayerGUID) - if (Player* player = Unit::GetPlayer(*me, PlayerGUID)) + if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID)) player->FailQuest(QUEST_UNEXPECTED_RESULT); } void UpdateAI(uint32 /*diff*/) OVERRIDE { if (KillCount >= 3 && PlayerGUID) - if (Player* player = Unit::GetPlayer(*me, PlayerGUID)) + if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID)) player->CompleteQuest(QUEST_UNEXPECTED_RESULT); if (Summon) @@ -207,7 +207,7 @@ public: void JustDied(Unit* /*killer*/) OVERRIDE { if (PlayerGUID && !Completed) - if (Player* player = Unit::GetPlayer(*me, PlayerGUID)) + if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID)) player->FailQuest(QUEST_POWERING_OUR_DEFENSES); } @@ -218,7 +218,7 @@ public: Talk(EMOTE); Completed = true; if (PlayerGUID) - if (Player* player = Unit::GetPlayer(*me, PlayerGUID)) + if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID)) player->CompleteQuest(QUEST_POWERING_OUR_DEFENSES); me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp index c5272ba01f6..8cfd3c45338 100644 --- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp +++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp @@ -112,32 +112,22 @@ public: { npc_greengill_slaveAI(Creature* creature) : ScriptedAI(creature) {} - uint64 PlayerGUID; + void EnterCombat(Unit* /*who*/) OVERRIDE { } - void EnterCombat(Unit* /*who*/)OVERRIDE {} - - void Reset() OVERRIDE - { - PlayerGUID = 0; - } - - void SpellHit(Unit* caster, const SpellInfo* spell) OVERRIDE + void SpellHit(Unit* caster, SpellInfo const* spellInfo) OVERRIDE { - if (!caster) + Player* player = caster->ToPlayer(); + if (!player) return; - if (caster->GetTypeId() == TYPEID_PLAYER && spell->Id == ORB && !me->HasAura(ENRAGE)) + if (spellInfo->Id == ORB && !me->HasAura(ENRAGE)) { - PlayerGUID = caster->GetGUID(); - if (PlayerGUID) - { - Player* player = Unit::GetPlayer(*me, PlayerGUID); - if (player && player->GetQuestStatus(QUESTG) == QUEST_STATUS_INCOMPLETE) - DoCast(player, 45110, true); - } + if (player->GetQuestStatus(QUESTG) == QUEST_STATUS_INCOMPLETE) + DoCast(player, 45110, true); + DoCast(me, ENRAGE); - Unit* Myrmidon = me->FindNearestCreature(DM, 70); - if (Myrmidon) + + if (Creature* Myrmidon = me->FindNearestCreature(DM, 70)) { me->AddThreat(Myrmidon, 100000.0f); AttackStart(Myrmidon); diff --git a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp index 903c88ad89a..f07f12710d6 100644 --- a/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp +++ b/src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp @@ -1,6 +1,5 @@ /* * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/> - * Copyright (C) 2006-2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the |
