[12655m] Added some MOP enums etc. Thanks R2/TC

This commit is contained in:
Antz 2020-02-17 19:22:54 +00:00
parent 6cf7616857
commit c8194124df
No known key found for this signature in database
GPG key ID: 0DF907270598C85F
11 changed files with 3451 additions and 3258 deletions

View file

@ -1054,6 +1054,7 @@ bool Creature::IsTrainerOf(Player* pPlayer, bool msg) const
case CLASS_PALADIN: pPlayer->PlayerTalkClass->SendGossipMenu(1635, GetObjectGuid()); break; case CLASS_PALADIN: pPlayer->PlayerTalkClass->SendGossipMenu(1635, GetObjectGuid()); break;
case CLASS_PRIEST: pPlayer->PlayerTalkClass->SendGossipMenu(4436, GetObjectGuid()); break; case CLASS_PRIEST: pPlayer->PlayerTalkClass->SendGossipMenu(4436, GetObjectGuid()); break;
case CLASS_ROGUE: pPlayer->PlayerTalkClass->SendGossipMenu(4797, GetObjectGuid()); break; case CLASS_ROGUE: pPlayer->PlayerTalkClass->SendGossipMenu(4797, GetObjectGuid()); break;
case CLASS_MONK: pPlayer->PlayerTalkClass->SendGossipMenu(4797, GetObjectGuid()); break;
case CLASS_SHAMAN: pPlayer->PlayerTalkClass->SendGossipMenu(5003, GetObjectGuid()); break; case CLASS_SHAMAN: pPlayer->PlayerTalkClass->SendGossipMenu(5003, GetObjectGuid()); break;
case CLASS_WARLOCK: pPlayer->PlayerTalkClass->SendGossipMenu(5836, GetObjectGuid()); break; case CLASS_WARLOCK: pPlayer->PlayerTalkClass->SendGossipMenu(5836, GetObjectGuid()); break;
case CLASS_WARRIOR: pPlayer->PlayerTalkClass->SendGossipMenu(4985, GetObjectGuid()); break; case CLASS_WARRIOR: pPlayer->PlayerTalkClass->SendGossipMenu(4985, GetObjectGuid()); break;

View file

@ -144,6 +144,7 @@ namespace MaNGOS
case CONTENT_61_70: nBaseExp = 235; break; case CONTENT_61_70: nBaseExp = 235; break;
case CONTENT_71_80: nBaseExp = 580; break; case CONTENT_71_80: nBaseExp = 580; break;
case CONTENT_81_85: nBaseExp = 1878; break; case CONTENT_81_85: nBaseExp = 1878; break;
case CONTENT_86_90: nBaseExp = 7194; break;
default: default:
sLog.outError("BaseGain: Unsupported content level %u", content); sLog.outError("BaseGain: Unsupported content level %u", content);
nBaseExp = 45; break; nBaseExp = 45; break;

View file

@ -1497,6 +1497,20 @@ void GameObject::Use(Unit* user)
case 37639: spellId = 36326; break; case 37639: spellId = 36326; break;
case 45367: spellId = 45371; break; case 45367: spellId = 45371; break;
case 45370: spellId = 45368; break; case 45370: spellId = 45368; break;
// custom taxi flights
case 32059: // south
((Player*)user)->ActivateTaxiPathTo(520,0);
break;
case 32068: // west
((Player*)user)->ActivateTaxiPathTo(523,0);
break;
case 32075: // north
((Player*)user)->ActivateTaxiPathTo(522,0);
break;
case 32081: // east
((Player*)user)->ActivateTaxiPathTo(524,0);
break;
} }
break; break;
@ -1773,6 +1787,12 @@ void GameObject::Use(Unit* user)
spellId = info->spellcaster.spellId; spellId = info->spellcaster.spellId;
// dismount players
if (user && user->IsMounted())
{
user->RemoveSpellsCausingAura(SPELL_AURA_MOUNTED);
}
AddUse(); AddUse();
break; break;
} }

View file

@ -253,10 +253,11 @@ enum ItemClass
ITEM_CLASS_KEY = 13, ITEM_CLASS_KEY = 13,
ITEM_CLASS_PERMANENT = 14, ITEM_CLASS_PERMANENT = 14,
ITEM_CLASS_MISC = 15, ITEM_CLASS_MISC = 15,
ITEM_CLASS_GLYPH = 16 ITEM_CLASS_GLYPH = 16,
ITEM_CLASS_BATTLE_PET = 17
}; };
#define MAX_ITEM_CLASS 17 #define MAX_ITEM_CLASS 18
enum ItemSubclassConsumable enum ItemSubclassConsumable
{ {
@ -481,11 +482,28 @@ enum ItemSubclassGlyph
ITEM_SUBCLASS_GLYPH_SHAMAN = 7, ITEM_SUBCLASS_GLYPH_SHAMAN = 7,
ITEM_SUBCLASS_GLYPH_MAGE = 8, ITEM_SUBCLASS_GLYPH_MAGE = 8,
ITEM_SUBCLASS_GLYPH_WARLOCK = 9, ITEM_SUBCLASS_GLYPH_WARLOCK = 9,
ITEM_SUBCLASS_GLYPH_MONK = 10,
ITEM_SUBCLASS_GLYPH_DRUID = 11 ITEM_SUBCLASS_GLYPH_DRUID = 11
}; };
#define MAX_ITEM_SUBCLASS_GLYPH 12 #define MAX_ITEM_SUBCLASS_GLYPH 12
enum ItemSubclassBattlePet
{
ITEM_SUBCLASS_BATTLE_PET_AQUATIC = 1,
ITEM_SUBCLASS_BATTLE_PET_BEAST = 2,
ITEM_SUBCLASS_BATTLE_PET_CRITTER = 3,
ITEM_SUBCLASS_BATTLE_PET_DRAGONKIN = 4,
ITEM_SUBCLASS_BATTLE_PET_ELEMENTAL = 5,
ITEM_SUBCLASS_BATTLE_PET_FLYING = 6,
ITEM_SUBCLASS_BATTLE_PET_HUMANOID = 7,
ITEM_SUBCLASS_BATTLE_PET_MAGICAL = 8,
ITEM_SUBCLASS_BATTLE_PET_MECHANICAL = 9,
ITEM_SUBCLASS_BATTLE_PET_UNDEAD = 10
};
#define MAX_ITEM_SUBCLASS_BATTLE_PET 11
const uint32 MaxItemSubclassValues[MAX_ITEM_CLASS] = const uint32 MaxItemSubclassValues[MAX_ITEM_CLASS] =
{ {
MAX_ITEM_SUBCLASS_CONSUMABLE, MAX_ITEM_SUBCLASS_CONSUMABLE,
@ -504,7 +522,8 @@ const uint32 MaxItemSubclassValues[MAX_ITEM_CLASS] =
MAX_ITEM_SUBCLASS_KEY, MAX_ITEM_SUBCLASS_KEY,
MAX_ITEM_SUBCLASS_PERMANENT, MAX_ITEM_SUBCLASS_PERMANENT,
MAX_ITEM_SUBCLASS_JUNK, MAX_ITEM_SUBCLASS_JUNK,
MAX_ITEM_SUBCLASS_GLYPH MAX_ITEM_SUBCLASS_GLYPH,
MAX_ITEM_SUBCLASS_BATTLE_PET
}; };
inline uint8 ItemSubClassToDurabilityMultiplierId(uint32 ItemClass, uint32 ItemSubClass) inline uint8 ItemSubClassToDurabilityMultiplierId(uint32 ItemClass, uint32 ItemSubClass)

View file

@ -2245,6 +2245,9 @@ void Player::RegenerateAll(uint32 diff)
if (getClass() == CLASS_DEATH_KNIGHT) if (getClass() == CLASS_DEATH_KNIGHT)
Regenerate(POWER_RUNE, diff); Regenerate(POWER_RUNE, diff);
if (getClass() == CLASS_MONK)
Regenerate(POWER_CHI, diff);
if (getClass() == CLASS_HUNTER) if (getClass() == CLASS_HUNTER)
Regenerate(POWER_FOCUS, diff); Regenerate(POWER_FOCUS, diff);

View file

@ -393,6 +393,7 @@ enum UnitMods
UNIT_MOD_ECLIPSE, UNIT_MOD_ECLIPSE,
UNIT_MOD_HOLY_POWER, UNIT_MOD_HOLY_POWER,
UNIT_MOD_ALTERNATIVE, UNIT_MOD_ALTERNATIVE,
UNIT_MOD_CHI,
UNIT_MOD_ARMOR, // UNIT_MOD_ARMOR..UNIT_MOD_RESISTANCE_ARCANE must be in existing order, it's accessed by index values of SpellSchools enum. UNIT_MOD_ARMOR, // UNIT_MOD_ARMOR..UNIT_MOD_RESISTANCE_ARCANE must be in existing order, it's accessed by index values of SpellSchools enum.
UNIT_MOD_RESISTANCE_HOLY, UNIT_MOD_RESISTANCE_HOLY,
UNIT_MOD_RESISTANCE_FIRE, UNIT_MOD_RESISTANCE_FIRE,
@ -412,7 +413,7 @@ enum UnitMods
UNIT_MOD_RESISTANCE_START = UNIT_MOD_ARMOR, UNIT_MOD_RESISTANCE_START = UNIT_MOD_ARMOR,
UNIT_MOD_RESISTANCE_END = UNIT_MOD_RESISTANCE_ARCANE + 1, UNIT_MOD_RESISTANCE_END = UNIT_MOD_RESISTANCE_ARCANE + 1,
UNIT_MOD_POWER_START = UNIT_MOD_MANA, UNIT_MOD_POWER_START = UNIT_MOD_MANA,
UNIT_MOD_POWER_END = UNIT_MOD_ALTERNATIVE + 1 UNIT_MOD_POWER_END = UNIT_MOD_CHI + 1
}; };
enum BaseModGroup enum BaseModGroup

View file

@ -570,10 +570,11 @@ enum SpellFamily
SPELLFAMILY_SHAMAN = 11, SPELLFAMILY_SHAMAN = 11,
SPELLFAMILY_UNK2 = 12, // 2 spells (silence resistance) SPELLFAMILY_UNK2 = 12, // 2 spells (silence resistance)
SPELLFAMILY_POTION = 13, SPELLFAMILY_POTION = 13,
// 14 - unused SPELLFAMILY_MONK = 14,
SPELLFAMILY_DEATHKNIGHT = 15, SPELLFAMILY_DEATHKNIGHT = 15,
// 16 - unused // 16 - unused
SPELLFAMILY_PET = 17 SPELLFAMILY_PET = 17,
SPELLFAMILY_MINIGAME = 50,
}; };
enum VehicleFlags enum VehicleFlags

View file

@ -1414,16 +1414,19 @@ struct MapEntry
MapID == 509 || MapID == 534 || MapID == 560 || // AhnQiraj, HyjalPast, HillsbradPast MapID == 509 || MapID == 534 || MapID == 560 || // AhnQiraj, HyjalPast, HillsbradPast
MapID == 568 || MapID == 580 || MapID == 595 || // ZulAman, Sunwell Plateau, Culling of Stratholme MapID == 568 || MapID == 580 || MapID == 595 || // ZulAman, Sunwell Plateau, Culling of Stratholme
MapID == 603 || MapID == 615 || MapID == 616 || // Ulduar, The Obsidian Sanctum, The Eye Of Eternity MapID == 603 || MapID == 615 || MapID == 616 || // Ulduar, The Obsidian Sanctum, The Eye Of Eternity
MapID == 631 || MapID == 658 || MapID == 724 || // Icecrown Citadel, Pit of Saron, Ruby Sanctum MapID == 631 || // Icecrown Citadel,
MapID == 644 || MapID == 720 || MapID == 721 || // Halls of Origination, Firelands MapID == 654 || MapID == 655 || MapID == 656 || // Gilneas, Gilneas Phase 1, Gilneas Phase 2
MapID == 734 || MapID == 755 || MapID == 859 || // Ahn'Qiraj Terrace, Lost City of Tol'Vir, Zul'Gurub MapID == 658 || MapID == 720 || MapID == 724 || // Pit of Saron, Firelands, Ruby Sanctum
MapID == 938 || MapID == 939 || MapID == 940 || // End Time, Well of Eternity, Hour of Twilight MapID == 644 || MapID == 721 || MapID == 734 || // Halls of Origination, Firelands, ?????????
MapID == 967; // Dragon Soul MapID == 754 || MapID == 755 || MapID == 859 || // Throne of Four Winds, Lost City of Tol'Vir, Zul'Gurub
MapID == 861 || MapID == 938 || MapID == 939 || // Firelands Dailies, End Time, Well of Eternity
MapID == 940 || MapID == 962 || MapID == 967 || // Hour of Twilight, Gate of Setting Sun, Dragon Soul
MapID == 996 || MapID == 1007 || MapID == 1011; // Endless Spring, New Scholomance, Niuzao Temple
} }
bool IsContinent() const bool IsContinent() const
{ {
return MapID == 0 || MapID == 1 || MapID == 530 || MapID == 571; return MapID == 0 || MapID == 1 || MapID == 530 || MapID == 571 || MapID == 870;
} }
}; };

File diff suppressed because it is too large Load diff

View file

@ -7250,6 +7250,15 @@ void Aura::HandleShapeshiftBoosts(bool apply)
HotWSpellId = 24899; HotWSpellId = 24899;
MasterShaperSpellId = 48418; MasterShaperSpellId = 48418;
break; break;
case FORM_SERPENTSTANCE:
spellId1 = 115070;
break;
case FORM_OXSTANCE:
spellId1 = 115069;
break;
case FORM_TIGERSTANCE:
spellId1 = 103985;
break;
case FORM_BATTLESTANCE: case FORM_BATTLESTANCE:
spellId1 = 21156; spellId1 = 21156;
break; break;
@ -7299,11 +7308,11 @@ void Aura::HandleShapeshiftBoosts(bool apply)
case FORM_TEST_OF_STRENGTH: case FORM_TEST_OF_STRENGTH:
case FORM_BLB_PLAYER: case FORM_BLB_PLAYER:
case FORM_SHADOW_DANCE: case FORM_SHADOW_DANCE:
case FORM_TEST:
case FORM_ZOMBIE: case FORM_ZOMBIE:
case FORM_UNDEAD: case FORM_UNDEAD:
case FORM_FRENZY: case FORM_FRENZY:
case FORM_NONE: case FORM_NONE:
default:
break; break;
} }
@ -7311,10 +7320,14 @@ void Aura::HandleShapeshiftBoosts(bool apply)
{ {
if (spellId1) if (spellId1)
{ {
target->CastSpell(target, spellId1, true, NULL, this); if(target->GetTypeId() == TYPEID_PLAYER)
((Player*)target)->RemoveSpellCooldown(spellId1);
target->CastSpell(target, spellId1, true, NULL, this );
} }
if (spellId2) if (spellId2)
{ {
if(target->GetTypeId() == TYPEID_PLAYER)
((Player*)target)->RemoveSpellCooldown(spellId2);
target->CastSpell(target, spellId2, true, NULL, this); target->CastSpell(target, spellId2, true, NULL, this);
} }

View file

@ -26,7 +26,7 @@
#define MANGOS_SYSTEMCONFIG_H #define MANGOS_SYSTEMCONFIG_H
#ifndef MANGOS_PACKAGENAME #ifndef MANGOS_PACKAGENAME
#define MANGOS_PACKAGENAME "MaNGOS Three" #define MANGOS_PACKAGENAME "MaNGOS Four"
#endif #endif
#include "Platform/Define.h" #include "Platform/Define.h"