mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 02:34:00 +00:00
@@ -44,11 +44,8 @@ avoid code duplication. This includes items that may sometimes act as a standard
|
|||||||
/mob/living/attackby(obj/item/I, mob/user, var/attack_modifier)
|
/mob/living/attackby(obj/item/I, mob/user, var/attack_modifier)
|
||||||
if(!ismob(user))
|
if(!ismob(user))
|
||||||
return 0
|
return 0
|
||||||
if(can_operate(src) && I.can_do_surgery(src,user))
|
if(can_operate(src) && I.do_surgery(src,user))
|
||||||
if(I.do_surgery(src,user))
|
return 1
|
||||||
return 1
|
|
||||||
else
|
|
||||||
return 0
|
|
||||||
if(attempt_vr(src,"vore_attackby",args)) return //VOREStation Add - The vore, of course.
|
if(attempt_vr(src,"vore_attackby",args)) return //VOREStation Add - The vore, of course.
|
||||||
return I.attack(src, user, user.zone_sel.selecting, attack_modifier)
|
return I.attack(src, user, user.zone_sel.selecting, attack_modifier)
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,9 @@
|
|||||||
// TODO: make it based on area coverage rather than just forbid spacesuits?
|
// TODO: make it based on area coverage rather than just forbid spacesuits?
|
||||||
// Returns true if target organ is covered
|
// Returns true if target organ is covered
|
||||||
/datum/surgery_step/proc/coverage_check(mob/living/user, mob/living/carbon/human/target, obj/item/organ/external/affected, obj/item/tool)
|
/datum/surgery_step/proc/coverage_check(mob/living/user, mob/living/carbon/human/target, obj/item/organ/external/affected, obj/item/tool)
|
||||||
|
if(!affected)
|
||||||
|
return FALSE
|
||||||
|
|
||||||
if(affected.organ_tag == BP_HEAD)
|
if(affected.organ_tag == BP_HEAD)
|
||||||
if(target.head && istype(target.head,/obj/item/clothing/head/helmet/space))
|
if(target.head && istype(target.head,/obj/item/clothing/head/helmet/space))
|
||||||
return TRUE
|
return TRUE
|
||||||
@@ -122,17 +125,12 @@
|
|||||||
return 0
|
return 0
|
||||||
if(!ishuman(M))
|
if(!ishuman(M))
|
||||||
return 1
|
return 1
|
||||||
var/mob/living/carbon/human/H = M
|
|
||||||
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
|
return 1
|
||||||
if(affected)
|
|
||||||
for(var/datum/surgery_step/S in surgery_steps)
|
|
||||||
if(!affected.open && S.req_open)
|
|
||||||
continue
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
return 0
|
|
||||||
|
|
||||||
/obj/item/proc/do_surgery(mob/living/carbon/M, mob/living/user)
|
/obj/item/proc/do_surgery(mob/living/carbon/M, mob/living/user)
|
||||||
|
if(!can_do_surgery(M, user))
|
||||||
|
return 0
|
||||||
if(!istype(M))
|
if(!istype(M))
|
||||||
return 0
|
return 0
|
||||||
if (user.a_intent == I_HURT) //check for Hippocratic Oath
|
if (user.a_intent == I_HURT) //check for Hippocratic Oath
|
||||||
|
|||||||
Reference in New Issue
Block a user