Fix PVP arenas

This commit is contained in:
Michael Cook (mackal) 2018-02-12 19:41:48 -05:00
parent de4782368d
commit b5e9c0f996
2 changed files with 10 additions and 7 deletions

View File

@ -336,6 +336,8 @@ Client::Client(EQStreamInterface* ieqs)
for (int i = 0; i < InnateSkillMax; ++i)
m_pp.InnateSkills[i] = InnateDisabled;
temp_pvp = false;
AI_Init();
}
@ -462,8 +464,8 @@ void Client::SendZoneInPackets()
if (!GetHideMe()) entity_list.QueueClients(this, outapp, true);
safe_delete(outapp);
SetSpawned();
if (GetPVP()) //force a PVP update until we fix the spawn struct
SendAppearancePacket(AT_PVP, GetPVP(), true, false);
if (GetPVP(false)) //force a PVP update until we fix the spawn struct
SendAppearancePacket(AT_PVP, GetPVP(false), true, false);
//Send AA Exp packet:
if (GetLevel() >= 51)
@ -1955,7 +1957,7 @@ void Client::FillSpawnStruct(NewSpawn_Struct* ns, Mob* ForWho)
ns->spawn.gm = GetGM() ? 1 : 0;
ns->spawn.guildID = GuildID();
// ns->spawn.linkdead = IsLD() ? 1 : 0;
// ns->spawn.pvp = GetPVP() ? 1 : 0;
// ns->spawn.pvp = GetPVP(false) ? 1 : 0;
ns->spawn.show_name = true;
@ -8889,9 +8891,9 @@ void Client::CheckRegionTypeChanges()
return;
if (last_region_type == RegionTypePVP)
SetPVP(true, false);
else if (GetPVP())
SetPVP(false, false);
temp_pvp = true;
else if (temp_pvp)
temp_pvp = false;
}
void Client::ProcessAggroMeter()

View File

@ -395,7 +395,7 @@ public:
void SetGM(bool toggle);
void SetPVP(bool toggle, bool message = true);
inline bool GetPVP() const { return m_pp.pvp != 0; }
inline bool GetPVP(bool inc_temp = true) const { return m_pp.pvp != 0 || (inc_temp && temp_pvp); }
inline bool GetGM() const { return m_pp.gm != 0; }
inline void SetBaseClass(uint32 i) { m_pp.class_=i; }
@ -1466,6 +1466,7 @@ private:
PetInfo m_suspendedminion; // pet data for our suspended minion.
MercInfo m_mercinfo[MAXMERCS]; // current mercenary
InspectMessage_Struct m_inspect_message;
bool temp_pvp;
void NPCSpawn(const Seperator* sep);
uint32 GetEXPForLevel(uint16 level);