mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 00:46:46 +00:00
[Feature] Adds rules to control level requirements for Double Backstab, Assassinate, and Double Bowshot (#29) (#4159)
Co-authored-by: mute <natanx@gmail.com>
This commit is contained in:
+1
-1
@@ -6209,7 +6209,7 @@ void Mob::CommonOutgoingHitSuccess(Mob* defender, DamageHitInfo &hit, ExtraAttac
|
||||
if (headshot > 0) {
|
||||
hit.damage_done = headshot;
|
||||
}
|
||||
else if (GetClass() == Class::Ranger && GetLevel() > 50) { // no double dmg on headshot
|
||||
else if (GetClass() == Class::Ranger && GetLevel() >= RuleI(Combat, ArcheryBonusLevelRequirement)) { // no double dmg on headshot
|
||||
if ((defender->IsNPC() && !defender->IsMoving() && !defender->IsRooted()) || !RuleB(Combat, ArcheryBonusRequiresStationary)) {
|
||||
hit.damage_done *= 2;
|
||||
MessageString(Chat::MeleeCrit, BOW_DOUBLE_DAMAGE);
|
||||
|
||||
@@ -707,7 +707,7 @@ void Mob::TryBackstab(Mob *other, int ReuseTime) {
|
||||
CastToClient()->Message(Chat::White,"Your fierce attack is executed with such grace, your target did not see it coming!");
|
||||
|
||||
RogueBackstab(other,false,ReuseTime);
|
||||
if (level > 54) {
|
||||
if (level >= RuleI(Combat, DoubleBackstabLevelRequirement)) {
|
||||
// TODO: 55-59 doesn't appear to match just checking double attack, 60+ does though
|
||||
if(IsClient() && CastToClient()->CheckDoubleAttack())
|
||||
{
|
||||
@@ -2402,7 +2402,7 @@ int Mob::TryAssassinate(Mob *defender, EQ::skills::SkillType skillInUse)
|
||||
if (
|
||||
defender &&
|
||||
!defender->IsClient() &&
|
||||
GetLevel() >= 60 &&
|
||||
GetLevel() >= RuleI(Combat, AssassinateLevelRequirement) &&
|
||||
(skillInUse == EQ::skills::SkillBackstab || skillInUse == EQ::skills::SkillThrowing) &&
|
||||
(defender->GetBodyType() == BT_Humanoid || !RuleB(Combat, AssassinateOnlyHumanoids)) &&
|
||||
!defender->GetSpecialAbility(IMMUNE_ASSASSINATE)
|
||||
|
||||
Reference in New Issue
Block a user