Merge pull request #11164 from untaught/master

Fix quest Redeeming the Dead (9685) and remove the core script
This commit is contained in:
Aokromes
2013-11-03 01:20:06 -08:00
4 changed files with 12 additions and 117 deletions

View File

@@ -0,0 +1,12 @@
UPDATE `creature_template` SET `ainame`='SmartAI',`scriptname`='' WHERE `entry`=17768;
DELETE FROM `smart_scripts` WHERE `entryorguid`=17768 AND `source_type`=0;
DELETE FROM `smart_scripts` WHERE `entryorguid`=1776800 AND `source_type`=9;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(17768,0,0,0,8,0,100,0,31225,0,0,0,80,1776800,0,0,0,0,0,1,0,0,0,0,0,0,0,'Blood Knight Stillblade - On Spell Hit - Call Timed Action List'),
(1776800,9,0,0,0,0,100,0,0,0,0,0,33,17768,0,0,0,0,0,7,0,0,0,0,0,0,0,'Action 0 - Give Quest Credit'),
(1776800,9,1,0,0,0,100,0,0,0,0,0,11,32343,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 1 - Cast Revive Self'),
(1776800,9,2,0,0,0,100,0,0,0,0,0,91,7,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 2 - Remove Unit Field Bytes 1'),
(1776800,9,3,0,0,0,100,0,0,0,0,0,96,40,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 3 - Remove Dynamic Flags'),
(1776800,9,4,0,0,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 4 - Talk'),
(1776800,9,5,0,0,0,100,0,120000,120000,0,0,94,40,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 5 - Restore Dynamic Flags'),
(1776800,9,6,0,0,0,100,0,0,0,0,0,90,7,0,0,0,0,0,1,0,0,0,0,0,0,0,'Action 6 - Restore Unit Field Bytes 1');

View File

@@ -272,7 +272,6 @@ void AddSC_ironforge();
void AddSC_isle_of_queldanas();
void AddSC_loch_modan();
void AddSC_redridge_mountains();
void AddSC_silvermoon_city();
void AddSC_silverpine_forest();
void AddSC_stormwind_city();
void AddSC_stranglethorn_vale();

View File

@@ -172,7 +172,6 @@ set(scripts_STAT_SRCS
EasternKingdoms/ScarletMonastery/boss_herod.cpp
EasternKingdoms/ScarletMonastery/boss_scorn.cpp
EasternKingdoms/zone_undercity.cpp
EasternKingdoms/zone_silvermoon_city.cpp
EasternKingdoms/zone_loch_modan.cpp
EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp

View File

@@ -1,115 +0,0 @@
/*
* 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
* 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/>.
*/
/* ScriptData
SDName: Silvermoon_City
SD%Complete: 100
SDComment: Quest support: 9685
SDCategory: Silvermoon City
EndScriptData */
/* ContentData
npc_blood_knight_stillblade
EndContentData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "Player.h"
#include "SpellInfo.h"
/*#######
# npc_blood_knight_stillblade
#######*/
enum StillbladeData
{
SAY_HEAL = 0,
QUEST_REDEEMING_THE_DEAD = 9685,
SPELL_SHIMMERING_VESSEL = 31225,
SPELL_REVIVE_SELF = 32343,
};
class npc_blood_knight_stillblade : public CreatureScript
{
public:
npc_blood_knight_stillblade() : CreatureScript("npc_blood_knight_stillblade") { }
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_blood_knight_stillbladeAI(creature);
}
struct npc_blood_knight_stillbladeAI : public ScriptedAI
{
npc_blood_knight_stillbladeAI(Creature* creature) : ScriptedAI(creature) { }
uint32 lifeTimer;
bool spellHit;
void Reset() OVERRIDE
{
lifeTimer = 120000;
me->SetStandState(UNIT_STAND_STATE_DEAD);
me->SetUInt32Value(UNIT_FIELD_BYTES_1, 7); // lay down
spellHit = false;
}
void EnterCombat(Unit* /*who*/) OVERRIDE
{
}
void MoveInLineOfSight(Unit* /*who*/) OVERRIDE
{
}
void UpdateAI(uint32 diff) OVERRIDE
{
if (me->IsStandState())
{
if (lifeTimer <= diff)
me->AI()->EnterEvadeMode();
else
lifeTimer -= diff;
}
}
void SpellHit(Unit* caster, const SpellInfo* Spellkind) OVERRIDE
{
if (Spellkind->Id != SPELL_SHIMMERING_VESSEL || spellHit)
return;
Player* player = caster->ToPlayer();
if (!player || !player->IsActiveQuest(QUEST_REDEEMING_THE_DEAD))
return;
player->AreaExploredOrEventHappens(QUEST_REDEEMING_THE_DEAD);
DoCast(me, SPELL_REVIVE_SELF);
me->SetStandState(UNIT_STAND_STATE_STAND);
me->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
//me->RemoveAllAuras();
Talk(SAY_HEAL);
spellHit = true;
}
};
};
void AddSC_silvermoon_city()
{
new npc_blood_knight_stillblade();
}