2025-11-13 17:46:30 -08:00
|
|
|
#include "ScriptMgr.h"
|
|
|
|
|
#include "Player.h"
|
|
|
|
|
#include "Unit.h"
|
2025-11-13 18:16:48 -08:00
|
|
|
#include "SharedDefines.h"
|
2025-11-13 19:17:33 -08:00
|
|
|
#include "WorldSession.h"
|
2025-11-13 17:46:30 -08:00
|
|
|
|
|
|
|
|
class SwiftTravelForm_UnitScript : public UnitScript
|
|
|
|
|
{
|
|
|
|
|
public:
|
2025-11-13 19:09:09 -08:00
|
|
|
SwiftTravelForm_UnitScript()
|
|
|
|
|
: UnitScript("SwiftTravelForm_UnitScript", true, { UNITHOOK_ON_UNIT_SET_SHAPESHIFT_FORM })
|
|
|
|
|
{
|
|
|
|
|
}
|
2025-11-13 17:46:30 -08:00
|
|
|
|
2025-11-13 18:21:13 -08:00
|
|
|
void OnUnitSetShapeshiftForm(Unit* unit, uint8 form) override
|
2025-11-13 17:46:30 -08:00
|
|
|
{
|
2025-11-13 19:09:09 -08:00
|
|
|
if (!unit || unit->GetTypeId() != TYPEID_PLAYER)
|
|
|
|
|
return;
|
2025-11-13 17:46:30 -08:00
|
|
|
|
2025-11-13 19:02:14 -08:00
|
|
|
Player* player = unit->ToPlayer();
|
2025-11-13 19:14:15 -08:00
|
|
|
if (!player)
|
2025-11-13 19:09:09 -08:00
|
|
|
return;
|
2025-11-13 17:46:30 -08:00
|
|
|
|
2025-11-13 19:17:33 -08:00
|
|
|
player->GetSession()->SendAreaTriggerMessage("Shapeshift form changed.");
|
2025-11-13 17:46:30 -08:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void AddSC_swift_travel_form()
|
|
|
|
|
{
|
|
|
|
|
new SwiftTravelForm_UnitScript();
|
|
|
|
|
}
|