diff --git a/common/ruletypes.h b/common/ruletypes.h index ed51f4474..f6c9f569b 100644 --- a/common/ruletypes.h +++ b/common/ruletypes.h @@ -234,6 +234,7 @@ RULE_INT(World, TitaniumStartZoneID, -1) //Sets the Starting Zone for Titanium C RULE_INT(World, ExpansionSettings, 16383) // Sets the expansion settings for the server, This is sent on login to world and affects client expansion settings. Defaults to all expansions enabled up to TSS. RULE_BOOL(World, UseClientBasedExpansionSettings, true) // if true it will overrule World, ExpansionSettings and set someone's expansion based on the client they're using RULE_INT(World, PVPSettings, 0) // Sets the PVP settings for the server, 1 = Rallos Zek RuleSet, 2 = Tallon/Vallon Zek Ruleset, 4 = Sullon Zek Ruleset, 6 = Discord Ruleset, anything above 6 is the Discord Ruleset without the no-drop restrictions removed. TODO: Edit IsAttackAllowed in Zone to accomodate for these rules. +RULE_INT(World, PVPMinLevel, 0) // minimum level to pvp RULE_BOOL (World, IsGMPetitionWindowEnabled, false) RULE_INT (World, FVNoDropFlag, 0) // Sets the Firiona Vie settings on the client. If set to 2, the flag will be set for GMs only, allowing trading of no-drop items. RULE_BOOL (World, IPLimitDisconnectAll, false) diff --git a/zone/client.cpp b/zone/client.cpp index a62b94c43..662c37071 100644 --- a/zone/client.cpp +++ b/zone/client.cpp @@ -254,7 +254,7 @@ Client::Client(EQStreamInterface* ieqs) mercSlot = 0; InitializeMercInfo(); SetMerc(0); - + if (RuleI(World, PVPMinLevel) > 0 && level >= RuleI(World, PVPMinLevel) && m_pp.pvp == 0) SetPVP(true, false); logging_enabled = CLIENT_DEFAULT_LOGGING_ENABLED; //for good measure: diff --git a/zone/exp.cpp b/zone/exp.cpp index be9d01c13..2902610a8 100644 --- a/zone/exp.cpp +++ b/zone/exp.cpp @@ -831,6 +831,8 @@ void Client::SetLevel(uint8 set_level, bool command) SetHP(CalcMaxHP()); // Why not, lets give them a free heal } + if (RuleI(World, PVPMinLevel) > 0 && level >= RuleI(World, PVPMinLevel) && m_pp.pvp == 0) SetPVP(true); + DoTributeUpdate(); SendHPUpdate(); SetMana(CalcMaxMana()); diff --git a/zone/questmgr.cpp b/zone/questmgr.cpp index 27e76813d..569afcd42 100644 --- a/zone/questmgr.cpp +++ b/zone/questmgr.cpp @@ -1987,8 +1987,8 @@ void QuestManager::npcfeature(char *feature, int setting) QuestManagerCurrentQuestVars(); uint16 Race = owner->GetRace(); uint8 Gender = owner->GetGender(); - uint8 Texture = 0xFF; - uint8 HelmTexture = 0xFF; + uint8 Texture = owner->GetTexture(); + uint8 HelmTexture = owner->GetHelmTexture(); uint8 HairColor = owner->GetHairColor(); uint8 BeardColor = owner->GetBeardColor(); uint8 EyeColor1 = owner->GetEyeColor1();