Merge branch 'azerothcore:master' into Playerbot

This commit is contained in:
ZhengPeiRu21
2023-04-04 08:16:34 -06:00
committed by GitHub
10 changed files with 135 additions and 3 deletions

View File

@@ -373,6 +373,7 @@ public:
if (me->isDead())
return;
instance->SetBossState(DATA_SINDRAGOSA, IN_PROGRESS);
me->setActive(true);
me->SetDisableGravity(true);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
@@ -1704,7 +1705,7 @@ public:
if (Creature* rimefang = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_RIMEFANG)))
rimefang->AI()->DoAction(ACTION_START_FROSTWYRM);
if (!instance->GetData(DATA_SINDRAGOSA_FROSTWYRMS))
if (!instance->GetData(DATA_SINDRAGOSA_FROSTWYRMS) && instance->GetBossState(DATA_SINDRAGOSA) != IN_PROGRESS)
{
player->GetMap()->LoadGrid(SindragosaSpawnPos.GetPositionX(), SindragosaSpawnPos.GetPositionY());
if (Creature* sindragosa = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_SINDRAGOSA)))

View File

@@ -28,6 +28,11 @@
#include "ScriptMgr.h"
#include "the_slave_pens.h"
ObjectData const creatureData[] =
{
{ NPC_QUAGMIRRAN, DATA_QUAGMIRRAN }
};
class instance_the_slave_pens : public InstanceMapScript
{
public:
@@ -38,6 +43,7 @@ public:
instance_the_slave_pens_InstanceMapScript(Map* map) : InstanceScript(map)
{
SetHeaders(DataHeader);
LoadObjectData(creatureData, nullptr);
counter = DATA_FLAMECALLER_000;
}
@@ -82,6 +88,8 @@ public:
default:
break;
}
InstanceScript::OnCreatureCreate(creature);
}
void SetGuidData(uint32 data, ObjectGuid guid) override

View File

@@ -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 "the_slave_pens.h"
#include "Player.h"
#include "ScriptMgr.h"
class at_quagmirran_lair : public AreaTriggerScript
{
public:
at_quagmirran_lair() : AreaTriggerScript("at_quagmirran_lair") {}
bool OnTrigger(Player* player, AreaTrigger const* /*trigger*/) override
{
if (InstanceScript* instance = player->GetInstanceScript())
{
if (Creature* quagmirran = instance->GetCreature(DATA_QUAGMIRRAN))
{
quagmirran->GetMotionMaster()->MovePath(quagmirran->GetEntry() * 100, true);
}
}
return true;
}
};
void AddSC_the_slave_pens()
{
new at_quagmirran_lair();
}

View File

@@ -64,7 +64,8 @@ enum SPCreaturesIds
NPC_SHAMAN_BEAM_BUNNY_001 = 25965,
NPC_SHAMAN_BEAM_BUNNY_002 = 25966,
NPC_WHISP_DEST_BUNNY = 26120,
NPC_WHISP_SOURCE_BUNNY = 26121
NPC_WHISP_SOURCE_BUNNY = 26121,
NPC_QUAGMIRRAN = 17942
};
enum SPGameObjectIds

View File

@@ -56,6 +56,7 @@ void AddSC_boss_hungarfen();
void AddSC_boss_ghazan();
void AddSC_boss_the_black_stalker();
void AddSC_instance_the_underbog();
void AddSC_the_slave_pens(); // The Slave Pens
void AddSC_boss_ahune();
void AddSC_instance_the_slave_pens();
void AddSC_boss_gruul(); //Gruul's Lair
@@ -153,6 +154,7 @@ void AddOutlandScripts()
AddSC_boss_ghazan();
AddSC_boss_the_black_stalker();
AddSC_instance_the_underbog();
AddSC_the_slave_pens(); // The Slave Pens
AddSC_boss_ahune();
AddSC_instance_the_slave_pens();
AddSC_boss_gruul(); //Gruul's Lair

View File

@@ -169,7 +169,7 @@ public:
{
case GOSSIP_ACTION_INFO_DEF + 1:
CloseGossipMenuFor(player);
player->ActivateTaxiPathTo(627); //TaxiPath 627 (possibly 627+628(152->153->154->155))
player->CastSpell(player, 35731, true); //TaxiPath 628
break;
case GOSSIP_ACTION_INFO_DEF + 3:
CloseGossipMenuFor(player);