diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index aed268e15c..6045316625 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -83,6 +83,7 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. var/safe = 1 normalspeed = 1 var/obj/item/weapon/airlock_electronics/electronics = null + var/hasShocked = 0 //Prevents multiple shocks from happening /obj/machinery/door/airlock/command name = "Airlock" @@ -575,12 +576,17 @@ About the new airlock wires panel: /obj/machinery/door/airlock/proc/shock(mob/user, prb) if((stat & (NOPOWER)) || !src.arePowerSystemsOn()) // unpowered, no shock return 0 + if(hasShocked) + return 0 //Already shocked someone recently? if(!prob(prb)) return 0 //you lucked out, no shock for you var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(5, 1, src) s.start() //sparks always. if(electrocute_mob(user, get_area(src), src)) + hasShocked = 1 + sleep(10) + hasShocked = 0 return 1 else return 0 diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index a6760ae608..1030aaa4a7 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -52,8 +52,8 @@ M.take_overall_damage(dam_force) M.adjustOxyLoss(round(dam_force/2)) M.updatehealth() - occupant_message("\red You squeese [target] with [src.name]. Something cracks.") - chassis.visible_message("\red [chassis] squeeses [target].") + occupant_message("\red You squeeze [target] with [src.name]. Something cracks.") + chassis.visible_message("\red [chassis] squeezes [target].") else step_away(M,chassis) occupant_message("You push [target] out of the way.") diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 9dc9298fa7..c184b770cb 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -556,6 +556,14 @@ loc.Exited(src) loc = null if(T) + if(istype(src, /obj/mecha/working/ripley/)) + var/obj/mecha/working/ripley/R = src + if(R.cargo) + for(var/obj/O in R.cargo) //Dump contents of stored cargo + O.loc = T + R.cargo -= O + T.Entered(O) + if(prob(30)) explosion(T, 0, 0, 1, 3) spawn(0) diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 8530ad0993..669d638cc4 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -66,7 +66,6 @@ return 0 return ..() - /obj/mecha/working/ripley/Topic(href, href_list) ..() if(href_list["drop_from_cargo"])