WoTMUD Archives

A player-run forum for the Wheel of Time MUD
It is currently Sun Oct 21, 2018 8:31 am

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Mon Feb 02, 2015 11:18 am 
Offline

Joined: Tue May 08, 2012 11:08 am
Posts: 49
Most of the following information can be found by viewing the source coding for the Equipment Trainer. This post is designed to present the information in a somewhat more user-friendly form, so that all who wish may have a better understanding of how these things work.

April 1, 2016: As promised, status ailments and Position effects (standing/sitting/resting/sleeping) have now been incorporated.

Terms
Code:
Race = Human or Trolloc
Ride = Ride Level (0-7)
Lvl = Character's Level (1-30)
Str = Strength stat
Dex = Dexterity stat
Con = Constitution stat
Weight = Total worn and carried weight
MaxW = Max weight allowance = ((8.5 * Str) + (3.5 * Con))
Wper = Weapon practice %        (IF Wper < 5%, Wper = 5%)       <-This is why wielding a weapon with no pracs still gives OB and PB->
Dper = Dodge practice %
Sper = Shield parry practice %  (IF Sper < 5%, Sper = 5%)       <-This is why wearing a shield with no pracs still gives PB->
Wpn_ob = Weapon's base OB value
Wpn_pb = Weapon's base PB value
Shield_db = Shield's DB malus
Shield_pb = Shield's base PB value
Eq_DB = Net total value of DB provided by all worn equipment and trinkets
Eq_PB = Net total value of PB provided by all worn equipment and trinkets

Lvl_ob_mood = Mood values used to modify Lvl
  Wimpy   = 7/3
  Normal  = 77/30
  Brave   = 161/60
  Berserk = 35/12
W_ob_mood = Mood values used to modify Ride and weapon OB
  Wimpy   = 1
  Normal  = 11/10
  Brave   = 23/20
  Berserk = 5/4
PB_mood = Mood values used for various PB modifications
  Wimpy   = 71/50
  Normal  = 13/10
  Brave   = 23/20
  Berserk = 1
Posture_ob = Added offensive bonus based on Master posture
  Non-master = 0
  Defensive  = 0
  Normal     = 5
  Offensive  = 10
Posture_pb = Added parry bonus based on Master posture
  Non-master = 0
  Defensive  = 15
  Normal     = 10
  Offensive  = 0
Position_ob = Position does not modify OB except when sleeping - handled during OB calcs
Position_db = Position values used to modify DB
  Standing = 1
  Sitting  = 1/4
  Resting  = 1/4
  Sleeping = handled during DB calcs
Position_pb = Position values used to modify PB
  Standing = 1
  Sitting  = 3/4
  Resting  = 3/4
  Sleeping = 1/2


Offensive Bonus
Code:
IF (Hardened weapon) THEN
  Wpn_ob = Wpn_ob + 5                                         <- Honing adds damage but no OB. Hardening adds 5 OB directly to the weapon's base OB ->
OB = Lvl * Lvl_ob_mood
OB = OB + ((Wper / 100) * (Str / 19) * (Wpn_ob * W_ob_mood))
IF (Race = Human and Ride > 0) THEN
  OB = OB + ((Ride + 4) * W_ob_mood)
OB = OB * (1 - ((5 * Weight) / (25 * MaxW)))                  <- OB is affected the least by total weight ->
OB = OB + Posture_ob                                          <- Add master posture bonus, if any ->
IF (Blind Status) THEN
  OB = OB / 2                                                 <- Blind status reduces OB by 50% ->
IF (Race = Human and Blind = 0)                               <- Darkness only affects humans, but not if blind ->
  OB = OB * 3 / 4                                             <- Darkness reduces OB by 25% ->
IF (Chill Status) THEN
  OB = OB * 9 / 10                                            <- Chill status reduces OB by 10% ->
IF (Contagion Status) THEN
  OB = OB / 2                                                 <- Contagion status reduces OB by 50% ->
IF (Position = Sleeping) THEN
  OB = 1                                                      <- Sleeping position reduces OB to 1 ->
OB = OB + 1                                                   <- All races get a +1 to OB ->
IF (Race = Trolloc) THEN
  OB = OB + 4                                                 <- Trollocs get a +4 OB boost ->
OB = Round(OB)


Dodge Bonus
Code:
DB = (Lvl * 2 / 3)
DB = DB + ((Dper / 99) * (Dex / 19) * 70)
DB = DB + Shield_DB                                           <- All shields impose a DB malus before weight effects and rounding. ->
                                                              <- This is assigned and not a function of shield weight.->
IF (Race = Human and Ride > 0) THEN
  DB = DB + Ride - 11
DB = DB * (1 - ((5 * Weight) / (8 * MaxW)))                   <- DB is the most sensitive to total weight->
DB = DB + Eq_DB
IF (Blind Status) THEN
  DB = DB * 4 / 5                                             <- Blind status reduces DB by 20% ->
IF (Race = Human and Blind = 0)                               <- Darkness only affects humans, but not if blind ->
  DB = DB * 9 / 10                                            <- Darkness reduces DB by 10% ->
IF (Armor_Weave) THEN
  DB = DB + 10                                                <- Armor status adds 10 to DB ->
IF (Chill Status) THEN
  DB = DB * 9 / 10                                            <- Chill status reduces DB by 10% ->
IF (Contagion Status) THEN
  DB = DB * 4 / 5                                             <- Contagion status reduces DB by 20% ->
DB = DB * Position_DB                                         <- Position calcs ->
IF (Position = Sleeping) THEN
  DB = 1                                                      <- Sleeping position reduces DB to 1 ->
DB = Round(DB)


Parry Bonus
Code:
IF (Lvl > 20) THEN
  Lvl = 20                                                    <- Naked PB does not increase after level 20 ->
PB = Lvl * PB_mood
PB = PB + ((Wper / 100) * (Str / 19) * (Wpn_pb * PB_mood))    <- PB from weapons is modified by Str only, and is the same whether 1 or 2-handed ->
PB = PB + ((Sper / 100) * (Dex / 19) * (Shield_pb * PB_mood)) <- PB from shields is modified by Dex only ->
PB = PB * (1 - ((5 * Weight) / (16 * MaxW)))                  <- PB is more sensitive to weight than OB, but less than DB ->
PB = PB + (Eq_PB * PB_mood)                                   <- PB from equipment is subject to mood modifiers. ->
                                                              <- This is why some items seem to have fractional PB values in moods other than Berserk ->
PB = PB + Posture_pb                                          <- Add master posture bonus, if any ->
IF (Blind Status) THEN
  PB = PB / 2                                                 <- Blind status reduces PB by 50% ->
IF (Race = Human and Blind = 0)                               <- Darkness only affects humans, but not if blind ->
  PB = PB * 3 / 4                                             <- Darkness reduces PB by 25% ->
IF (Chill Status) THEN
  PB = PB * 9 / 10                                            <- Chill status reduces PB by 10% ->
IF (Contagion Status) THEN
  PB = PB / 2                                                 <- Contagion status reduces PB by 50% ->
PB = PB * Position_PB                                         <- Position calcs ->
PB = Round(PB)


Top
 Profile  
 
PostPosted: Fri Apr 01, 2016 9:43 pm 
Offline

Joined: Tue May 08, 2012 11:08 am
Posts: 49
Updated to show effects of Status ailments and Position on OB/DB/PB.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group