mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 12:07:27 +01:00
Make it possible to get out of abductors experimentation machine (#24842)
* Make it possible to get out of abductors experimentation machine * Better roll of result * Better message of escape attempt * Apply suggestions from code review * Remove unnecessary check * Slightly tweak values
This commit is contained in:
@@ -216,6 +216,35 @@
|
||||
occupant = null
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
|
||||
/obj/machinery/abductor/experiment/relaymove()
|
||||
if(!occupant)
|
||||
return
|
||||
to_chat(occupant, "<span class='warning'>You start trying to break free!</span>")
|
||||
if(!do_after(occupant, 20 SECONDS, FALSE, src))
|
||||
return
|
||||
var/list/possible_results = list(
|
||||
CALLBACK(src, PROC_REF(electrocute_abductee)) = 1,
|
||||
CALLBACK(src, PROC_REF(sedate_abductee)) = 1,
|
||||
CALLBACK(src, PROC_REF(eject_abductee)) = 2
|
||||
)
|
||||
var/datum/callback/result = pickweight(possible_results)
|
||||
result.Invoke()
|
||||
|
||||
/obj/machinery/abductor/experiment/proc/electrocute_abductee()
|
||||
if(!occupant)
|
||||
return
|
||||
to_chat(occupant, "<span class='warning'>Something is electrifying you!</span>")
|
||||
sleep(1 SECONDS)
|
||||
occupant.electrocute_act(10, src)
|
||||
do_sparks(5, TRUE, src)
|
||||
|
||||
/obj/machinery/abductor/experiment/proc/sedate_abductee()
|
||||
if(!occupant)
|
||||
return
|
||||
to_chat(occupant, "<span class='warning'>Something is stabbing you in the back!</span>")
|
||||
occupant.apply_damage(5, BRUTE, BODY_ZONE_CHEST)
|
||||
occupant.reagents.add_reagent("ether", 5)
|
||||
|
||||
/obj/machinery/abductor/experiment/force_eject_occupant(mob/target)
|
||||
eject_abductee()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user