mod-swift-travel-form/src/mod_swift_travel_form.cpp

32 lines
719 B
C++
Raw Normal View History

2025-11-13 17:46:30 -08:00
#include "ScriptMgr.h"
#include "Player.h"
#include "Unit.h"
#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();
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();
}