July 5th TG sync (#1883)

July 5th TG sync
This commit is contained in:
Poojawa
2017-07-05 22:14:19 -05:00
committed by GitHub
parent 454b9c3d68
commit b1b4826c0c
1264 changed files with 149689 additions and 570309 deletions
+34 -14
View File
@@ -2,13 +2,12 @@
var/name = "Martial Art"
var/streak = ""
var/max_streak_length = 6
var/current_target = null
var/temporary = 0
var/datum/martial_art/base = null // The permanent style
var/current_target
var/datum/martial_art/base // The permanent style. This will be null unless the martial art is temporary
var/deflection_chance = 0 //Chance to deflect projectiles
var/block_chance = 0 //Chance to block melee attacks using items while on throw mode.
var/restraining = 0 //used in cqc's disarm_act to check if the disarmed is being restrained and so whether they should be put in a chokehold or not
var/help_verb = null
var/help_verb
var/no_guns = FALSE
var/allow_temp_override = TRUE //if this martial art can be overridden by temporary martial arts
@@ -68,28 +67,49 @@
add_logs(A, D, "punched")
if((D.stat != DEAD) && damage >= A.dna.species.punchstunthreshold)
D.visible_message("<span class='danger'>[A] has weakened [D]!!</span>", \
"<span class='userdanger'>[A] has weakened [D]!</span>")
D.apply_effect(4, WEAKEN, armor_block)
D.visible_message("<span class='danger'>[A] has knocked [D] down!!</span>", \
"<span class='userdanger'>[A] has knocked [D] down!</span>")
D.apply_effect(40, KNOCKDOWN, armor_block)
D.forcesay(GLOB.hit_appends)
else if(D.lying)
D.forcesay(GLOB.hit_appends)
return 1
/datum/martial_art/proc/teach(mob/living/carbon/human/H,make_temporary=0)
if(make_temporary)
temporary = 1
if(temporary && H.mind.martial_art)
if(!H.mind.martial_art.allow_temp_override)
return
base = H.mind.martial_art
if(H.mind.martial_art)
if(make_temporary)
if(!H.mind.martial_art.allow_temp_override)
return FALSE
store(H.mind.martial_art,H)
else
H.mind.martial_art.on_remove(H)
if(H.mind.martial_art != H.mind.default_martial_art && !H.mind.martial_art.base)
QDEL_NULL(H.mind.martial_art)
else if(make_temporary)
base = H.mind.default_martial_art
if(help_verb)
H.verbs += help_verb
H.mind.martial_art = src
return TRUE
/datum/martial_art/proc/store(datum/martial_art/M,mob/living/carbon/human/H)
if(H.mind && base)
if(H.mind.default_martial_art != base && !base.base)
QDEL_NULL(base)
M.on_remove(H)
base = M
/datum/martial_art/proc/remove(mob/living/carbon/human/H)
if(H.mind.martial_art != src)
return
H.mind.martial_art = base
on_remove(H)
if(base)
base.teach(H)
else
var/datum/martial_art/X = H.mind.default_martial_art
X.teach(H)
/datum/martial_art/proc/on_remove(mob/living/carbon/human/H)
if(help_verb)
H.verbs -= help_verb
return