diff options
-rw-r--r-- | CHANGELOG.md | 13 | ||||
-rw-r--r-- | app/models/character.rb | 20 |
2 files changed, 19 insertions, 14 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 45e8df9..ef753db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,17 @@ # Changelog All notable changes to this project will be documented in this file. -## [Unreleased] +## [0.1.13.3] - 2021-07-08 ### Skills -- Beastslay: Power has been changed so that it can no longer more than double the rolled damage of each damage type. - Power is applied to random damage types until either the resulting damage of each type has been maxed out by this - max-double rule, or until there is no more power left to apply. +- Beastslay + - Power has been changed so that it can no longer more than double the rolled damage of each damage type. + Power is applied to random damage types until either the resulting damage of each type has been maxed out by this + max-double rule, or until there is no more power left to apply. + - Stances have been changed. A character's stance modifier is now equal to their beastslay level divided by 8, rounded + up. Neutral stances provide this modifier to both related stats. Biased stances now provide twice this modifier to + one stat, and no modifier to the other stat. This means that stats can no longer go negative as a result of a + character's beastslay stance. ### Hearth - Aetherloom level 2 now increases aetherweave speed by 4, similar to other level 2 amenities. diff --git a/app/models/character.rb b/app/models/character.rb index 4237d50..f6ddb92 100644 --- a/app/models/character.rb +++ b/app/models/character.rb @@ -396,7 +396,7 @@ class Character < ApplicationRecord end def beastslay_stance_modifier - (beastslay_level / 4).ceil + (beastslay_level / 8).ceil end def resistance(damage_type) @@ -412,8 +412,8 @@ class Character < ApplicationRecord res += resistance("energy") end - res -= beastslay_stance_modifier if elusive? && !%w[physical energy].include?(damage_type) - res += beastslay_stance_modifier if protective? && !%w[physical energy].include?(damage_type) + res += beastslay_stance_modifier if centered? && !%w[physical energy].include?(damage_type) + res += beastslay_stance_modifier * 2 if protective? && !%w[physical energy].include?(damage_type) res end @@ -432,19 +432,19 @@ class Character < ApplicationRecord def accuracy(with_combat_style: false) base = beastslay_stat_modifier + total_stat_change("accuracy") if with_combat_style && self.precise? + base += beastslay_stance_modifier * 2 + elsif with_combat_style && self.balanced? base += beastslay_stance_modifier - elsif with_combat_style && self.brutal? - base -= beastslay_stance_modifier end base end def power(with_combat_style: false) base = beastslay_stat_modifier + total_stat_change("power") - if with_combat_style && self.precise? - base -= beastslay_stance_modifier - elsif with_combat_style && self.brutal? + if with_combat_style && self.balanced? base += beastslay_stance_modifier + elsif with_combat_style && self.brutal? + base += beastslay_stance_modifier * 2 end base end @@ -452,9 +452,9 @@ class Character < ApplicationRecord def evasion(with_combat_style: false) base = beastslay_stat_modifier + total_stat_change("evasion") if with_combat_style && self.elusive? + base += beastslay_stance_modifier * 2 + elsif with_combat_style && self.centered? base += beastslay_stance_modifier - elsif with_combat_style && self.protective? - base -= beastslay_stance_modifier end base end |