fix(Scripts/Creature): multi-raid faction leader credit (#22168)

This commit is contained in:
avarishd
2026-03-07 23:53:58 +02:00
committed by GitHub
parent 33a438a585
commit d3cd637d1f
13 changed files with 226 additions and 15 deletions
@@ -88,6 +88,7 @@ void AddSC_orgrimmar();
void AddSC_silithus();
void AddSC_stonetalon_mountains();
void AddSC_tanaris();
void AddSC_teldrassil();
void AddSC_the_barrens();
void AddSC_thousand_needles();
void AddSC_thunder_bluff();
@@ -170,6 +171,7 @@ void AddKalimdorScripts()
AddSC_silithus();
AddSC_stonetalon_mountains();
AddSC_tanaris();
AddSC_teldrassil();
AddSC_the_barrens();
AddSC_thousand_needles();
AddSC_thunder_bluff();
@@ -559,6 +559,31 @@ public:
}
};
// 7999 - Tyrande Whisperwind
/// @todo add abilities/timers
struct npc_prophet_velen : public ScriptedAI
{
npc_prophet_velen(Creature* creature) : ScriptedAI(creature) { }
void Reset() override
{
me->setActive(true);
}
void JustDied(Unit* /*killer*/) override
{
DoRewardPlayersInArea();
}
void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
DoMeleeAttackIfReady();
}
};
void AddSC_azuremyst_isle()
{
new npc_draenei_survivor();
@@ -569,4 +594,5 @@ void AddSC_azuremyst_isle()
new npc_stillpine_capitive();
new go_bristlelimb_cage();
RegisterSpellScript(spell_inoculate_nestlewood_owlkin);
RegisterCreatureAI(npc_prophet_velen);
}
@@ -234,6 +234,11 @@ public:
void JustEngagedWith(Unit* /*who*/) override { }
void JustDied(Unit* /*killer*/) override
{
DoRewardPlayersInArea();
}
void DoAction(int32 action) override
{
if (action == ACTION_START_TALKING)
@@ -0,0 +1,44 @@
/*
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by the
* Free Software Foundation; either version 3 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 Affero 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/>.
*/
#include "CreatureScript.h"
#include "ScriptedCreature.h"
// 7999 - Tyrande Whisperwind
/// @todo add abilities/timers
struct npc_tyrande_whisperwind : public ScriptedAI
{
npc_tyrande_whisperwind(Creature* creature) : ScriptedAI(creature) { }
void JustDied(Unit* /*killer*/) override
{
DoRewardPlayersInArea();
}
void UpdateAI(uint32 /*diff*/) override
{
if (!UpdateVictim())
return;
DoMeleeAttackIfReady();
}
};
void AddSC_teldrassil()
{
RegisterCreatureAI(npc_tyrande_whisperwind);
}
@@ -19,10 +19,6 @@
#include "Player.h"
#include "ScriptedCreature.h"
/*#####
# Support for Quest 925: Cairne's Hoofprint
######*/
// NPC 3057: Cairne Bloodhoof <High Chieftain>
enum CairneBloodhoof
{
@@ -34,7 +30,7 @@ enum CairneBloodhoof
SPELL_CAIRNES_HOOFPRINT = 23123
};
// @todo verify abilities/timers
/// @todo verify abilities/timers
class npc_cairne_bloodhoof : public CreatureScript
{
public:
@@ -61,12 +57,15 @@ public:
}
}
void JustDied(Unit* /*killer*/) override
{
DoRewardPlayersInArea();
}
void UpdateAI(uint32 diff) override
{
if (!UpdateVictim())
{
return;
}
if (_berserkerChargeTimer <= diff)
{