diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/craft/options.txt | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/npc/craft/options.txt b/npc/craft/options.txt index 22b7f8a71..5ffefe0a1 100644 --- a/npc/craft/options.txt +++ b/npc/craft/options.txt @@ -429,6 +429,14 @@ function script csys_ArmorFix { // Save for csys_BonusCalc @csysArmor=CSYS_ARMOR; + // Shields + if (getiteminfo(getarg(0), ITEMINFO_LOC) == EQP_HAND_L) + @csysArmor=@csysArmor|CSYS_SHIELD; + + // Aegis Shield is special and is not classified as armor + if (compare("aegis shield", strtolower(getitemname(getarg(0))))) + @csysArmor=@csysArmor^CSYS_ARMOR; + // Special sets if (compare("savior", strtolower(getitemname(getarg(0))))) @csysArmor=@csysArmor|CSYS_SAVIOR; @@ -513,6 +521,12 @@ function script csys_BonusCalc { if (@csysArmor & CSYS_ARMOR) .@base=max(1, .@base/4); + // HP/MP/DEF/MDEF for shields? Revert the cap and round it + if (.@var == VAR_ITEMDEFPOWER || .@var == VAR_MAXHPAMOUNT || + .@var == VAR_MDEFPOWER || .@var == VAR_MAXSPAMOUNT) { + if (@csysArmor & CSYS_SHIELD) + .@base*=4; + } return .@base; } |