diff --git a/hooks/CreatureHooks.cpp b/hooks/CreatureHooks.cpp index 7a1d3b9..a9ca9c7 100644 --- a/hooks/CreatureHooks.cpp +++ b/hooks/CreatureHooks.cpp @@ -287,6 +287,8 @@ bool Eluna::SpellHit(Creature* me, WorldObject* caster, SpellInfo const* spell) HookPush(caster); #if defined(ELUNA_MANGOS) && (ELUNA_EXPANSION == EXP_CLASSIC || ELUNA_EXPANSION == EXP_TBC || ELUNA_EXPANSION == EXP_WOTLK || ELUNA_EXPANSION == EXP_MISTS) HookPush(spell->ID); // Pass spell object? +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + HookPush(spell->ID); // Pass spell object? #else HookPush(spell->Id); // Pass spell object? #endif @@ -301,6 +303,8 @@ bool Eluna::SpellHitTarget(Creature* me, WorldObject* target, SpellInfo const* s HookPush(target); #if defined(ELUNA_MANGOS) && (ELUNA_EXPANSION == EXP_CLASSIC || ELUNA_EXPANSION == EXP_TBC || ELUNA_EXPANSION == EXP_WOTLK || ELUNA_EXPANSION == EXP_MISTS) HookPush(spell->ID); // Pass spell object? +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + HookPush(spell->ID); // Pass spell object? #else HookPush(spell->Id); // Pass spell object? #endif diff --git a/hooks/ServerHooks.cpp b/hooks/ServerHooks.cpp index 47bbe28..8845f5d 100644 --- a/hooks/ServerHooks.cpp +++ b/hooks/ServerHooks.cpp @@ -119,6 +119,8 @@ bool Eluna::OnAreaTrigger(Player* pPlayer, AreaTriggerEntry const* pTrigger) HookPush(pTrigger->entry); #elif defined(ELUNA_MANGOS) && (ELUNA_EXPANSION == EXP_CLASSIC || ELUNA_EXPANSION == EXP_WOTLK) HookPush(pTrigger->ID); +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + HookPush(pTrigger->ID); #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS HookPush(pTrigger->ID); #else diff --git a/methods/Mangos/GlobalMethods.h b/methods/Mangos/GlobalMethods.h index 14e6b49..a403fd2 100644 --- a/methods/Mangos/GlobalMethods.h +++ b/methods/Mangos/GlobalMethods.h @@ -470,6 +470,8 @@ namespace LuaGlobalFunctions #if ELUNA_EXPANSION == EXP_CLASSIC || (defined(ELUNA_MANGOS) && (ELUNA_EXPANSION == EXP_TBC || ELUNA_EXPANSION == EXP_WOTLK)) E->Push(areaEntry->AreaName_lang[locale]); +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + E->Push(areaEntry->AreaName_lang[locale]); #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS E->Push(areaEntry->AreaName_lang[locale]); #else @@ -2094,6 +2096,11 @@ namespace LuaGlobalFunctions entry.LocX = E->CHECKVAL(start + 1); entry.LocY = E->CHECKVAL(start + 2); entry.LocZ = E->CHECKVAL(start + 3); +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + entry.ContinentID = E->CHECKVAL(start); + entry.Loc_0 = E->CHECKVAL(start + 1); + entry.Loc_1 = E->CHECKVAL(start + 2); + entry.Loc_2 = E->CHECKVAL(start + 3); #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS entry.ContinentID = E->CHECKVAL(start); entry.x = E->CHECKVAL(start + 1); @@ -2109,6 +2116,9 @@ namespace LuaGlobalFunctions #if ELUNA_EXPANSION == EXP_CLASSIC || (defined(ELUNA_MANGOS) && (ELUNA_EXPANSION == EXP_TBC || ELUNA_EXPANSION == EXP_WOTLK)) entry.Flags = E->CHECKVAL(start + 4, 0); entry.Delay = E->CHECKVAL(start + 5, 0); +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + entry.Flags = E->CHECKVAL(start + 4, 0); + entry.Delay = E->CHECKVAL(start + 5, 0); #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS entry.Flags = E->CHECKVAL(start + 4, 0); entry.Delay = E->CHECKVAL(start + 5, 0); @@ -2159,6 +2169,14 @@ namespace LuaGlobalFunctions nodeEntry->x = entry.LocX; nodeEntry->y = entry.LocY; nodeEntry->z = entry.LocZ; +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + entry.PathID = pathId; + entry.NodeIndex = nodeId; + nodeEntry->ID = index; + nodeEntry->ContinentID = entry.ContinentID; + nodeEntry->Pos_0 = entry.Loc_0; + nodeEntry->Pos_1 = entry.Loc_1; + nodeEntry->Pos_2 = entry.Loc_2; #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS entry.PathID = pathId; entry.NodeIndex = nodeId; @@ -2191,6 +2209,10 @@ namespace LuaGlobalFunctions pathEntry->FromTaxiNode = startNode; pathEntry->ToTaxiNode = nodeId - 1; pathEntry->Cost = price; +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + pathEntry->FromTaxiNode = startNode; + pathEntry->ToTaxiNode = nodeId - 1; + pathEntry->Cost = price; #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS pathEntry->FromTaxiNode = startNode; pathEntry->ToTaxiNode = nodeId - 1; diff --git a/methods/Mangos/ItemMethods.h b/methods/Mangos/ItemMethods.h index bc913d9..8d77662 100644 --- a/methods/Mangos/ItemMethods.h +++ b/methods/Mangos/ItemMethods.h @@ -273,6 +273,8 @@ namespace LuaItem if (itemRandEntry) #if defined(ELUNA_MANGOS) && (ELUNA_EXPANSION == EXP_TBC || ELUNA_EXPANSION == EXP_WOTLK) suffix = itemRandEntry->Name_lang; +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + suffix = itemRandEntry->Name_lang; #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS suffix = itemRandEntry->Name_lang; #else @@ -285,6 +287,8 @@ namespace LuaItem if (itemRandEntry) #if defined(ELUNA_MANGOS) && (ELUNA_EXPANSION == EXP_TBC || ELUNA_EXPANSION == EXP_WOTLK) suffix = itemRandEntry->Name_lang; +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + suffix = itemRandEntry->Name_lang; #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS suffix = itemRandEntry->Name_lang; #else diff --git a/methods/Mangos/PlayerMethods.h b/methods/Mangos/PlayerMethods.h index b842cb7..97acc6a 100644 --- a/methods/Mangos/PlayerMethods.h +++ b/methods/Mangos/PlayerMethods.h @@ -2080,6 +2080,8 @@ namespace LuaPlayer data << unit->GET_GUID(); #if defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_TBC data << uint32(ahEntry->ID); +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + data << uint32(ahEntry->ID); #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS data << uint32(ahEntry->ID); #else @@ -2988,6 +2990,12 @@ namespace LuaPlayer if (entry->CategoryID == SKILL_CATEGORY_LANGUAGES || entry->CategoryID == SKILL_CATEGORY_GENERIC) continue; + if (player->HasSkill(entry->ID)) + player->UpdateSkill(entry->ID, step); +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + if (entry->CategoryID == SKILL_CATEGORY_LANGUAGES || entry->CategoryID == SKILL_CATEGORY_GENERIC) + continue; + if (player->HasSkill(entry->ID)) player->UpdateSkill(entry->ID, step); #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS diff --git a/methods/Mangos/SpellMethods.h b/methods/Mangos/SpellMethods.h index 1ee4a88..72e8640 100644 --- a/methods/Mangos/SpellMethods.h +++ b/methods/Mangos/SpellMethods.h @@ -56,6 +56,8 @@ namespace LuaSpell { #if ELUNA_EXPANSION == EXP_CLASSIC || (defined(ELUNA_MANGOS) && (ELUNA_EXPANSION == EXP_TBC || ELUNA_EXPANSION == EXP_WOTLK)) E->Push(spell->m_spellInfo->ID); +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + E->Push(spell->m_spellInfo->ID); #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS E->Push(spell->m_spellInfo->ID); #else diff --git a/methods/Mangos/UnitMethods.h b/methods/Mangos/UnitMethods.h index 4a8f284..2cd1a22 100644 --- a/methods/Mangos/UnitMethods.h +++ b/methods/Mangos/UnitMethods.h @@ -950,6 +950,8 @@ namespace LuaUnit #if ELUNA_EXPANSION == EXP_CLASSIC || (defined(ELUNA_MANGOS) && (ELUNA_EXPANSION == EXP_TBC || ELUNA_EXPANSION == EXP_WOTLK)) E->Push(entry->Name_lang[locale]); +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + E->Push(entry->Name_lang[locale]); #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS E->Push(entry->Name_lang[locale]); #else @@ -991,6 +993,8 @@ namespace LuaUnit #if ELUNA_EXPANSION == EXP_CLASSIC || (defined(ELUNA_MANGOS) && (ELUNA_EXPANSION == EXP_TBC || ELUNA_EXPANSION == EXP_WOTLK)) E->Push(entry->Name_lang[locale]); +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + E->Push(entry->Name_lang[locale]); #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS E->Push(entry->Name_lang[locale]); #else diff --git a/methods/Mangos/VehicleMethods.h b/methods/Mangos/VehicleMethods.h index d73090d..7bc286c 100644 --- a/methods/Mangos/VehicleMethods.h +++ b/methods/Mangos/VehicleMethods.h @@ -48,6 +48,8 @@ namespace LuaVehicle { #if defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_WOTLK E->Push(vehicle->GetVehicleEntry()->ID); +#elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_CATA + E->Push(vehicle->GetVehicleEntry()->ID); #elif defined(ELUNA_MANGOS) && ELUNA_EXPANSION == EXP_MISTS E->Push(vehicle->GetVehicleEntry()->ID); #else