Reworks Melee to use rolls and stats#1015
Conversation
|
This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~7 days. Please address any outstanding review items and ensure your PR is finished - if both are true, and you have auto-staled anyway, you need to actively ask maintainers (by pinging them in the /tg/station Discord) to (re)review or merge your PR. If no maintainer responds to your request, you may wish to close this PR yourself while you seek maintainer comment, as you will later be able to reopen the PR yourself. |
| // DARKPACK EDIT ADD START - STORYTELLER_ROLLS/STORYTELLER_STATS | ||
| // This is pretty evil, but we are gonna convert all the tg force into the +# that melee weapons have listed. | ||
| // This means we can do stuff like set force of a baseball bat to 2 TTRPG_DAM and it just works. | ||
| var/bonus_dice = round(final_force / (1 TTRPG_DAMAGE)) |
There was a problem hiding this comment.
small nit - doesn't round() always round down? i noticed this in testing for something a bit back. i can imagine people getting antsy about this
| var/datum/storyteller_roll/damage/damage_roll = new() | ||
| damage_roll.applicable_stats = list(attacking_item.st_damage_stat) | ||
| var/damage_roll_result = damage_roll.st_roll(user, src, bonus_dice) | ||
| final_force = damage_roll_result |
There was a problem hiding this comment.
don't you mean damage_roll_result TTRPG_DAMAGE?
i forget if this is already handled by the storyteller roll subtype
| attack_roll.difficulty = attacking_item.attack_difficulty | ||
| var/attack_roll_result = attack_roll.st_roll(user, src) | ||
|
|
||
| // What i want to do is acctually have it return if not success. But that creates bad visual feedback as all the FX still play. just give them them SOME damage.. |
There was a problem hiding this comment.
good idea since the rng-ification of combat would probably be ferociously hated
| if(attack_roll_result == ROLL_SUCCESS) | ||
| // This is pretty evil, but we are gonna convert all the tg force into the +# that melee weapons have listed. | ||
| // This means we can do stuff like set force of a baseball bat to 2 TTRPG_DAM and it just works. | ||
| var/bonus_dice = round(final_force / (1 TTRPG_DAMAGE)) | ||
| var/datum/storyteller_roll/damage/damage_roll = new() | ||
| damage_roll.applicable_stats = list(attacking_item.st_damage_stat) | ||
| var/damage_roll_result = damage_roll.st_roll(user, src, bonus_dice) | ||
|
|
||
| final_force = max(damage_roll_result TTRPG_DAMAGE, 1 TTRPG_DAMAGE) |
There was a problem hiding this comment.
so i don't get it - say a baseball bat has original force = 40. this makes bonus dice = 4. so if i have 0 strength, then the roll becomes 4 dice rolled for damage, giving me 10-40 damage which seems good. but then if i have 4 strength, then i have 8 potential dice, no? meaning strength, the stat which affects the damage roll, is actually additive to the force, not the foundation of the damage, as now my range is 10-80.
what i'm trying to say here is that this (the usage of ttrpg accurate rolls in melee) is an additive buff to the calculation of melee force, rather than a reworking of how the damage is created in the first place (which may be the intent of the pr?)
i don't exactly have an issue with this moreso than i feel like it may unintentionally up-end the balance - i see what you were trying to do, and it is smart
then again if the point is to have a better bandaid than my 'makes melee do something' pr, then this definitely does that, i think, if a bit stronger
About The Pull Request
Mostly reproduces the same code as brawl.
This needs a followup pr with a ton of balance tweaks for the weapons, we have some varibles that lets us replicate ttrpg stuff. (like attack difficulty)
Why It's Good For The Game
This has alot of balance effects but TTRPG accuraecy and parody with brawl is good.
Changelog
🆑
balance: Reworks melee to roll damage based off two rolls (to parody the TTRPG and brawl)
balance: Protean claws use brawl
refactor: Removes snowflake protean claws damage buff in favor of generic melee code
/:cl: