Adds a new martial arts style- Drunk Brawling

This adds a new martial arts datum, labeled as Drunken Brawling. This
style is automatically added and removed to people via ethanol,
specifically, 10 life ticks after they start slurring their words.

The style is mostly debuffs, as there is a flat 50% chance to miss any
harm-intent hit, a 70% chance to fail to grab, and disarm is unaffected.

The actual 'features' of this style can be summarized as such:
 - Custom attack verbs
   - "jab","uppercut","overhand punch",
   "drunken right hook","drunken left hook"
   - Uppercut has a 5% chance to do 14 damage

 - Limit's combat abilities
   - 70% chance to fail to passively grab
   - 50% chance to miss any harm intent
   - Disarm intent is untouched.

 - Added by ethanol when someone has had it into their system
   for a while
   - Removed as soon as the ethanol becomes lower than 3 units
This commit is contained in:
Tigercat2000
2015-04-16 14:19:52 -07:00
parent d250e38067
commit 1f69a5ecaa
2 changed files with 71 additions and 0 deletions
@@ -2384,10 +2384,12 @@ datum
reagent_state = LIQUID
nutriment_factor = 0 //So alcohol can fill you up! If they want to.
color = "#404030" // rgb: 64, 64, 48
var/datum/martial_art/drunk_brawling/F = new
var/dizzy_adj = 3
var/slurr_adj = 3
var/confused_adj = 2
var/slur_start = 65 //amount absorbed after which mob starts slurring
var/brawl_start = 75 //amount absorbed after which mob switches to drunken brawling as a fighting style
var/confused_start = 130 //amount absorbed after which mob starts confusing directions
var/vomit_start = 180 //amount absorbed after which mob starts vomitting
var/blur_start = 260 //amount absorbed after which mob starts getting blurred vision
@@ -2417,6 +2419,12 @@ datum
if(d >= slur_start && d < pass_out)
if (!M:slurring) M:slurring = 1
M:slurring += slurr_adj/sober_str
if(d >= brawl_start && ishuman(M))
var/mob/living/carbon/human/H = M
F.teach(H,1)
if(src.volume < 3)
if(H.martial_art == F)
F.remove(H)
if(d >= confused_start && prob(33))
if (!M:confused) M:confused = 1
M.confused = max(M:confused+(confused_adj/sober_str),0)
@@ -2490,6 +2498,7 @@ datum
description = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything."
color = "#664300" // rgb: 102, 67, 0
slur_start = 30 //amount absorbed after which mob starts slurring
brawl_start = 40
gin
name = "Gin"
@@ -2506,6 +2515,7 @@ datum
overdose_threshold = 30
dizzy_adj = 5
slur_start = 25
brawl_start = 40
confused_start = 100
//copy paste from LSD... shoot me
@@ -2583,6 +2593,7 @@ datum
slurr_adj = 20
confused_adj = 3
slur_start = 15
brawl_start = 25
confused_start = 40
blur_start = 60
pass_out = 80