mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Airlocks should no longer shock you multiple times for bumping/wirecuttering into it once.
Destroyed mechs now drop the contents of the cargo collected with the hydrolic clamp - This should fix yet another way to permenantly removing the nuke disk from the game. Fixed a typo in hydrolic clamp git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3871 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -83,6 +83,7 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }.
|
|||||||
var/safe = 1
|
var/safe = 1
|
||||||
normalspeed = 1
|
normalspeed = 1
|
||||||
var/obj/item/weapon/airlock_electronics/electronics = null
|
var/obj/item/weapon/airlock_electronics/electronics = null
|
||||||
|
var/hasShocked = 0 //Prevents multiple shocks from happening
|
||||||
|
|
||||||
/obj/machinery/door/airlock/command
|
/obj/machinery/door/airlock/command
|
||||||
name = "Airlock"
|
name = "Airlock"
|
||||||
@@ -575,12 +576,17 @@ About the new airlock wires panel:
|
|||||||
/obj/machinery/door/airlock/proc/shock(mob/user, prb)
|
/obj/machinery/door/airlock/proc/shock(mob/user, prb)
|
||||||
if((stat & (NOPOWER)) || !src.arePowerSystemsOn()) // unpowered, no shock
|
if((stat & (NOPOWER)) || !src.arePowerSystemsOn()) // unpowered, no shock
|
||||||
return 0
|
return 0
|
||||||
|
if(hasShocked)
|
||||||
|
return 0 //Already shocked someone recently?
|
||||||
if(!prob(prb))
|
if(!prob(prb))
|
||||||
return 0 //you lucked out, no shock for you
|
return 0 //you lucked out, no shock for you
|
||||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||||
s.set_up(5, 1, src)
|
s.set_up(5, 1, src)
|
||||||
s.start() //sparks always.
|
s.start() //sparks always.
|
||||||
if(electrocute_mob(user, get_area(src), src))
|
if(electrocute_mob(user, get_area(src), src))
|
||||||
|
hasShocked = 1
|
||||||
|
sleep(10)
|
||||||
|
hasShocked = 0
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -52,8 +52,8 @@
|
|||||||
M.take_overall_damage(dam_force)
|
M.take_overall_damage(dam_force)
|
||||||
M.adjustOxyLoss(round(dam_force/2))
|
M.adjustOxyLoss(round(dam_force/2))
|
||||||
M.updatehealth()
|
M.updatehealth()
|
||||||
occupant_message("\red You squeese [target] with [src.name]. Something cracks.")
|
occupant_message("\red You squeeze [target] with [src.name]. Something cracks.")
|
||||||
chassis.visible_message("\red [chassis] squeeses [target].")
|
chassis.visible_message("\red [chassis] squeezes [target].")
|
||||||
else
|
else
|
||||||
step_away(M,chassis)
|
step_away(M,chassis)
|
||||||
occupant_message("You push [target] out of the way.")
|
occupant_message("You push [target] out of the way.")
|
||||||
|
|||||||
@@ -556,6 +556,14 @@
|
|||||||
loc.Exited(src)
|
loc.Exited(src)
|
||||||
loc = null
|
loc = null
|
||||||
if(T)
|
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))
|
if(prob(30))
|
||||||
explosion(T, 0, 0, 1, 3)
|
explosion(T, 0, 0, 1, 3)
|
||||||
spawn(0)
|
spawn(0)
|
||||||
|
|||||||
@@ -66,7 +66,6 @@
|
|||||||
return 0
|
return 0
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
|
||||||
/obj/mecha/working/ripley/Topic(href, href_list)
|
/obj/mecha/working/ripley/Topic(href, href_list)
|
||||||
..()
|
..()
|
||||||
if(href_list["drop_from_cargo"])
|
if(href_list["drop_from_cargo"])
|
||||||
|
|||||||
Reference in New Issue
Block a user