Crusader
Master
Posts: 254
Likes Given: 7
Likes Received: 19 in 12 posts
Joined: Apr 2012
Reputation: 6
Erehwon New Hera
|
RE: Combat & damage
yes but, flag 080 says that the damage is calculated EXACTLY as OSI, in fact in the revision changelog we have:
Quote:05-10-2006, Nazghul
- Added: INI flag OF_OSIDamageMod (0x04)
Modifying weapon damage OSI style, according to this formulas (originally provided by ClouD_Br):
Tactics Damage Bonus% = Tactics : 1.6 (Add 6.25% if Tactics >= 100)
Anatomy Damage Bonus% = (Anatomy : 2) + 5
Lumberjack Damage Bonus% = Lumberjack : 2 (Add 10% if Lumberjacking >= 100) // besides, this is wrong, is lumberjacking :5 not :2
Strength Damage Bonus% = Strength * 0.3 (Add 5% if Strength >= 100)
Final Damage Bonus% = Tactics Bonus + Anatomy Bonus + Lumber Bonus + Strangth Bonus + Damage Increase Items*
Final Damage = Base Damage + (Base Damage * Final Damage Bonus%)
* Damage Increase is capped at 100%.
PLUS, i'm adding my Damage function calculation that should be correct (at least i double checked with http://uo.stratics.com/content/arms-armo...php#damage and it works)
Code:
[FUNCTION FINDDAMAGE]
//Tactics Damage Bonus% = Tactics /1.6 (Add 6.25% if Tactics >= 100)
//Anatomy Damage Bonus% = (Anatomy / 2) + 5
//Lumberjack Damage Bonus% = Lumberjack /5 (Add 10% if Lumberjacking >= 100)
//Strength Damage Bonus% = Strength * 0.3 (Add 5% if Strength >= 100)
//Final Damage Bonus% = Tactics Bonus + Anatomy Bonus + Lumber Bonus + Strangth Bonus + Damage Increase Items*
// Final Damage = Base Damage + (Base Damage * Final Damage Bonus%)
LOCAL.TACTICSBONUS=<FLOATVAL <TACTICS>/1.6>
IF (<EVAL <TACTICS>> > 999)
LOCAL.TACTICSBONUS = <FLOATVAL <LOCAL.TACTICSBONUS>+6,25>
ENDIF
//SERV.LOG TACT: <FLOATVAL <LOCAL.TACTICSBONUS>>
LOCAL.ANATOMYBONUS=<FVAL (<ANATOMY>/2)+5.0>
//SERV.LOG ANAT: <FLOATVAL <LOCAL.ANATOMYBONUS>>
LOCAL.STRBONUS=<FVAL <STR>*0.3>
IF (<STR> > 99)
LOCAL.STRBONUS += 5.0
ENDIF
//SERV.LOG STR: <FVAL <LOCAL.STRBONUS>>
IF (<FINDLAYER.1.TYPE>==T_WEAPON_AXE) || (<FINDLAYER.2.TYPE>==T_WEAPON_AXE)
LOCAL.LUMBERBONUS=<FVAL <LUMBERJACKING>/5>
IF (<EVAL <LUMBERJACKING>> > 999)
LOCAL.LUMBERBONUS += 10.0
ENDIF
ENDIF
//SERV.LOG LUMB: <FVAL <LOCAL.LUMBERBONUS>>
LOCAL.FINALDMGXCENT=<FLOATVAL <LOCAL.TACTICSBONUS>+<FVAL <LOCAL.STRBONUS>>+<FVAL <LOCAL.ANATOMYBONUS>>+<FVAL <LOCAL.LUMBERBONUS>>>
//serv.log <FLOATVAL <LOCAL.FINALDMGXCENT>>%
LOCAL.BASEDMG =<FLOATVAL (<STR>/10)+1>
//serv.log <FLOATVAL <LOCAL.BASEDMG>>
IF (<FINDLAYER.1.TYPE>==t_weapon_bow) || (<FINDLAYER.1.TYPE>==t_weapon_sword) || (<FINDLAYER.1.TYPE>==t_weapon_fence) || (<FINDLAYER.1.TYPE>==t_weapon_mace_smith) || (<FINDLAYER.1.TYPE>==t_weapon_mace_sharp) || (<FINDLAYER.1.TYPE>==t_weapon_mace_staff) || (<FINDLAYER.1.TYPE>==t_weapon_mace_crook) || (<FINDLAYER.1.TYPE>==t_weapon_mace_pick) || (<FINDLAYER.1.TYPE>==t_weapon_axe) || (<FINDLAYER.1.TYPE>==t_weapon_xbow)
LOCAL.MAXDMG=<FLOATVAL ((<FINDLAYER.1.DAM.HI>*<LOCAL.FINALDMGXCENT>)/100) +<FINDLAYER.1.DAM.HI>>
LOCAL.MINDMG=<FLOATVAL ((<FINDLAYER.1.DAM.LO>*<LOCAL.FINALDMGXCENT>)/100) +<FINDLAYER.1.DAM.LO>>
ELIF (<FINDLAYER.2.TYPE>==t_weapon_bow) || (<FINDLAYER.2.TYPE>==t_weapon_sword) || (<FINDLAYER.2.TYPE>==t_weapon_fence) || (<FINDLAYER.2.TYPE>==t_weapon_mace_smith) || (<FINDLAYER.2.TYPE>==t_weapon_mace_sharp) || (<FINDLAYER.2.TYPE>==t_weapon_mace_staff) || (<FINDLAYER.2.TYPE>==t_weapon_mace_crook) || (<FINDLAYER.2.TYPE>==t_weapon_mace_pick) || (<FINDLAYER.2.TYPE>==t_weapon_axe) || (<FINDLAYER.2.TYPE>==t_weapon_xbow)
LOCAL.MAXDMG=<FLOATVAL ((<FINDLAYER.2.DAM.HI>*<LOCAL.FINALDMGXCENT>)/100) +<FINDLAYER.2.DAM.HI>>
LOCAL.MINDMG=<FLOATVAL ((<FINDLAYER.2.DAM.LO>*<LOCAL.FINALDMGXCENT>)/100) +<FINDLAYER.2.DAM.LO>>
ELSE
LOCAL.MINDMG=0.0000000
LOCAL.MAXDMG=<FLOATVAL ((<LOCAL.BASEDMG>*<LOCAL.FINALDMGXCENT>)/100) +<LOCAL.BASEDMG>>
ENDIF
LOCAL.NMIN=<STRPOS 0 . <LOCAL.MINDMG>>
LOCAL.NMAX=<STRPOS 0 . <LOCAL.MAXDMG>>
LOCAL.MINFDMG=<STRSUB 0 <LOCAL.NMIN> <LOCAL.MINDMG>>
LOCAL.MAXFDMG=<STRSUB 0 <LOCAL.NMAX> <LOCAL.MAXDMG>>
RETURN <DLOCAL.MAXFDMG>,<DLOCAL.MINFDMG>
I made the following try:
i tried to attack the same zombie with same stats and same armor, with and without that 080 combat flag. Damage is totally the same; no changes at all
(This post was last modified: 03-04-2013 06:15 AM by Crusader.)
|
|
03-03-2013 08:58 PM |
|
|