-
Notifications
You must be signed in to change notification settings - Fork 72
Reworks Melee to use rolls and stats #1015
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
f45054f
98e7314
786a290
9c14af2
c256d47
cec7bb5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -302,12 +302,15 @@ | |
| return ATTACK_FAILED | ||
|
|
||
| var/final_force = CALCULATE_FORCE(attacking_item, attack_modifiers) | ||
| // DARKPACK EDIT ADD START | ||
| if(isliving(user)) | ||
| var/mob/living/living_user = user | ||
| var/stat_multiplier = living_user.st_get_stat(STAT_MELEE) * 0.4 | ||
| final_force *= stat_multiplier | ||
| // DARKPACK EDIT ADD END | ||
| // 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)) | ||
| 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 TTRPG_DAMAGE | ||
| // DARKPACK EDIT ADD END | ||
| if(final_force <= 0) | ||
| return 0 | ||
|
|
||
|
|
@@ -348,8 +351,24 @@ | |
| if(mob_biotypes & (MOB_ROBOTIC|MOB_MINERAL|MOB_SKELETAL)) // this should probably check hit bodypart for humanoids | ||
| final_force *= attacking_item.get_demolition_modifier(src) | ||
|
|
||
| // DARKPACK EDIT ADD START - (Makes Melee do Something) | ||
| final_force += final_force * (user.st_get_stat(STAT_MELEE) * 0.1) | ||
| // DARKPACK EDIT ADD START - STORYTELLER_ROLLS/STORYTELLER_STATS | ||
| var/datum/storyteller_roll/attack/attack_roll = new() | ||
| attack_roll.applicable_stats = list(attacking_item.st_attack_ability, attacking_item.st_attack_attribute) | ||
| 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.. | ||
|
chazzyjazzy marked this conversation as resolved.
|
||
| 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) | ||
|
Comment on lines
+361
to
+369
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 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
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. my idea is so that i can use the old force varible without to much hastle and still get mostly accurate numbers. This lets me use force as a representation of the + # that weapons have. VTM and WTA.
So if i set the weilded axe damage to (as in the ttrpg) it means that the bonuses of weapons scales alot harder when you have shitty stats but high stat characters can kinda john-wick most weapons. Its interesting for sure.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it is interesting - and what youre doing is smart even without an audit of damage numbers or whatever, but again i feel like this would make melee weapons far stronger on characters who are built for it, not that i have a problem with that per se, i just feel like perhaps that was not intended? |
||
| else | ||
| final_force = 1 TTRPG_DAMAGE // "SOME damage" in question | ||
| // DARKPACK EDIT ADD END | ||
|
|
||
| var/wounding = attacking_item.wound_bonus | ||
|
|
||


Uh oh!
There was an error while loading. Please reload this page.