mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 18:13:34 +01:00
Gives the bartender their own version of judo (#21886)
This commit is contained in:
@@ -63,3 +63,33 @@
|
||||
|
||||
/datum/martial_art/cqc/explaination_footer(user)
|
||||
to_chat(user, "<b>Your unarmed strikes hit about twice as hard as your peers, on average.</b>")
|
||||
|
||||
/datum/martial_art/judo/under_siege
|
||||
name = "Professional Bodyguarding"
|
||||
var/static/list/areas_under_siege = typecacheof(list(/area/crew_quarters/kitchen, /area/crew_quarters/bar))
|
||||
|
||||
/datum/martial_art/judo/under_siege/teach(mob/living/carbon/human/H, make_temporary)
|
||||
RegisterSignal(H, COMSIG_AREA_ENTERED, PROC_REF(bar_check))
|
||||
return ..()
|
||||
|
||||
/datum/martial_art/judo/under_siege/remove(mob/living/carbon/human/H)
|
||||
UnregisterSignal(H, COMSIG_AREA_ENTERED)
|
||||
return ..()
|
||||
|
||||
/datum/martial_art/judo/under_siege/proc/bar_check(mob/living/carbon/human/H, area/entered_area)
|
||||
SIGNAL_HANDLER
|
||||
if(!is_type_in_typecache(entered_area, areas_under_siege))
|
||||
var/list/held_items = list(H.get_active_hand(), H.get_inactive_hand())
|
||||
for(var/obj/item/slapper/parry/smacking_hand in held_items)
|
||||
qdel(smacking_hand)
|
||||
can_parry = FALSE
|
||||
weight = 0
|
||||
else
|
||||
can_parry = TRUE
|
||||
weight = 5
|
||||
|
||||
/datum/martial_art/judo/under_siege/can_use(mob/living/carbon/human/H)
|
||||
var/area/A = get_area(H)
|
||||
if(!(is_type_in_typecache(A, areas_under_siege)))
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
Reference in New Issue
Block a user