mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 13:41:31 +00:00
Added optional avoidance cap rules. Check changelog.txt.
This commit is contained in:
parent
4e4d82857c
commit
50de63117d
@ -1,5 +1,12 @@
|
|||||||
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
== 08/13/2016 ==
|
||||||
|
Kinglykrab: Implemented optional avoidance cap rules.
|
||||||
|
- Serves to eliminate God-like characters on custom servers with high item stats
|
||||||
|
- Rule Names:
|
||||||
|
- Character:EnableAvoidanceCap (default is false)
|
||||||
|
- Character:AvoidanceCap (default is 750, beyond 1,000 seems to make characters dodge all attacks)
|
||||||
|
|
||||||
== 08/02/2016 ==
|
== 08/02/2016 ==
|
||||||
Uleat: Changed 'SendZoneSpawnsBulk' behavior to use near/far criteria (live-like) when sending packets.
|
Uleat: Changed 'SendZoneSpawnsBulk' behavior to use near/far criteria (live-like) when sending packets.
|
||||||
- Zone-to-Zone client loading will see a small decrease in time (less than 10~15%)
|
- Zone-to-Zone client loading will see a small decrease in time (less than 10~15%)
|
||||||
|
|||||||
@ -142,6 +142,8 @@ RULE_INT(Character, InvSnapshotMinRetryM, 30) // Time (in minutes) to re-attempt
|
|||||||
RULE_INT(Character, InvSnapshotHistoryD, 30) // Time (in days) to keep snapshot entries
|
RULE_INT(Character, InvSnapshotHistoryD, 30) // Time (in days) to keep snapshot entries
|
||||||
RULE_BOOL(Character, RestrictSpellScribing, false) // Restricts spell scribing to allowable races/classes of spell scroll, if true
|
RULE_BOOL(Character, RestrictSpellScribing, false) // Restricts spell scribing to allowable races/classes of spell scroll, if true
|
||||||
RULE_BOOL(Character, UseStackablePickPocketing, true) // Allows stackable pickpocketed items to stack instead of only being allowed in empty inventory slots
|
RULE_BOOL(Character, UseStackablePickPocketing, true) // Allows stackable pickpocketed items to stack instead of only being allowed in empty inventory slots
|
||||||
|
RULE_BOOL(Character, EnableAvoidanceCap, false)
|
||||||
|
RULE_INT(Character, AvoidanceCap, 750) // 750 Is a pretty good value, seen people dodge all attacks beyond 1,000 Avoidance
|
||||||
RULE_CATEGORY_END()
|
RULE_CATEGORY_END()
|
||||||
|
|
||||||
RULE_CATEGORY(Mercs)
|
RULE_CATEGORY(Mercs)
|
||||||
|
|||||||
@ -1036,6 +1036,13 @@ int32 Client::CalcAC()
|
|||||||
if (avoidance < 0) {
|
if (avoidance < 0) {
|
||||||
avoidance = 0;
|
avoidance = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (RuleB(Character, EnableAvoidanceCap)) {
|
||||||
|
if (avoidance > RuleI(Character, AvoidanceCap)) {
|
||||||
|
avoidance = RuleI(Character, AvoidanceCap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int mitigation = 0;
|
int mitigation = 0;
|
||||||
if (m_pp.class_ == WIZARD || m_pp.class_ == MAGICIAN || m_pp.class_ == NECROMANCER || m_pp.class_ == ENCHANTER) {
|
if (m_pp.class_ == WIZARD || m_pp.class_ == MAGICIAN || m_pp.class_ == NECROMANCER || m_pp.class_ == ENCHANTER) {
|
||||||
//something is wrong with this, naked casters have the wrong natural AC
|
//something is wrong with this, naked casters have the wrong natural AC
|
||||||
@ -1113,6 +1120,13 @@ int32 Client::GetACAvoid()
|
|||||||
if (avoidance < 0) {
|
if (avoidance < 0) {
|
||||||
avoidance = 0;
|
avoidance = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (RuleB(Character, EnableAvoidanceCap)) {
|
||||||
|
if ((avoidance * 1000 / 847) > RuleI(Character, AvoidanceCap)) {
|
||||||
|
return RuleI(Character, AvoidanceCap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (avoidance * 1000 / 847);
|
return (avoidance * 1000 / 847);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user