Conversation
TODO: Clean up & add dice rolling
TODO: Combo Moves
|
You currently have a negative Fix/Feature pull request delta of -9. Maintainers may close this PR at will. Fixing issues or improving the codebase will improve this score. |
chazzyjazzy
left a comment
There was a problem hiding this comment.
light review for now becuase i have things to do tomorrow that im stressed out about, will drop a more comprehensive review tmrw
| return | ||
|
|
||
| if (!user.combat_mode) | ||
| if (user.combat_mode) //DARKPACK EDIT CHANGE- quality of life for melee weapons, doesnt make sense you couldnt do combos in combat mode |
There was a problem hiding this comment.
this may have unintended effects. will try and think of an example
There was a problem hiding this comment.
I did some testing with it myself, it mostly came down to doing butchering instead of surgery on RMB. LMB surgery still works fine.
Technically I could revert this for a while until I finish melee properly in a later PR
| var/stun_time = SSroll.storyteller_roll((attacker.st_get_stat(STAT_STRENGTH) + attacker.st_get_stat(STAT_BRAWL)), difficulty = 6, numerical = TRUE, roller = attacker) //In THEORY this should be attacker weighted, with high stamima users shrugging it off. | ||
| var/defended_time = SSroll.storyteller_roll(defender.st_get_stat(STAT_STAMINA) * 2, difficulty = (attacker.st_get_stat(STAT_STRENGTH) + attacker.st_get_stat(STAT_BRAWL)), numerical = TRUE, roller = defender) |
There was a problem hiding this comment.
you need to datumize these rolls, storyteller_roll is soft deprecated and is now a wrapper for how to correctly make a roll
basically a roll is its own object now, /datum/storyteller_roll.
| return FALSE | ||
|
|
||
| attacker.do_attack_animation(defender) | ||
| if(defender.body_position == LYING_DOWN && !defender.IsUnconscious() && !iskindred(defender) && defender.get_stamina_loss() >= 0) //This is EXTREMELY conditional to make sure it's not abused to shit |
There was a problem hiding this comment.
iskindred and get_stamina_loss don't exist
iskindred i think was changed to get_kindred_splat
| var/stun_time = SSroll.storyteller_roll((attacker.st_get_stat(STAT_STRENGTH) + attacker.st_get_stat(STAT_BRAWL)), difficulty = 6, numerical = TRUE, roller = attacker) //In THEORY this should be attacker weighted, with high stamima users shrugging it off. | ||
| var/defended_time = SSroll.storyteller_roll(defender.st_get_stat(STAT_STAMINA) + defender.st_get_stat(STAT_ATHLETICS), difficulty = (attacker.st_get_stat(STAT_STRENGTH) + attacker.st_get_stat(STAT_BRAWL)), numerical = TRUE, roller = defender) |
| return FALSE | ||
|
|
||
| if(!HAS_TRAIT(owner, TRAIT_CURSED) && owner.stat < HARD_CRIT) | ||
| if (owner.stat < HARD_CRIT) |
There was a problem hiding this comment.
Nonmodular (not commented) removal and im not sure why it was removed in the first place.
Co-authored-by: chazzyjazzy <33268885+chazzyjazzy@users.noreply.github.com>
About The Pull Request
This has been a PR that's been getting baked for a decently long time, Chaz requested that I draft it RN for preliminary TTRPG Accuracy/Code Quality Pass
What's actually included in the Brawlening?
Customish Darkpack Martial Arts for users with 4+ dots in Brawl
Close Quarters Brawling (CQB):
Takes heavy inspiration from Krav Maga, Judo, and a nonzero amount of metal gear.
Primarily oriented around grappling + disabling
Kung-Fu:
It's self explanatory really, though this is a bastardization
Primarily oriented around evasion & knockback
Dex + Athletics are used to calculate melee attack dodge chance
Street Boxing:
A hybrid of some actual (dirty) boxing techniques
Slightly more complex combos but deals the highest damage
Dex + Athletics used to SOLEY calculate unarmed dodge chance, higher than Kung-Fu
Minor non-modular changes to butchering & beheading for quality of life
Expect a proper rewritten design doc once I've finalized everything
Why It's Good For The Game
One of the main goals of this PR is to actually increase the immersion & player options for melee combat.
You can mechanically larp as being a trained fencer using a rapier, ect
Implementing proper martial arts allows for the same thing with unarmed fighting styles
Given the live-action nature of SS13, it's unfortunately impossible to really even try and translate WOD's grappling/fistfighting mechanics. Instead, I choose to work off the existing martial arts datums from upstream and improve from there using TTRPG accurate rolling where applicable.
Nothing is final, ESPECIALLY damage/probability math.
Changelog
🆑
add: Martial Arts, Available to characters with 4+ dots in Brawl
qol: adjusted butchering location requirements
qol: Re-enabled natural decapitation on humans
/:cl: