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:
johnsonmt88@gmail.com
2012-06-19 17:50:16 +00:00
parent 54601ac24b
commit c70698e5e7
4 changed files with 16 additions and 3 deletions

View File

@@ -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

View File

@@ -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.")

View File

@@ -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)

View File

@@ -66,7 +66,6 @@
return 0
return ..()
/obj/mecha/working/ripley/Topic(href, href_list)
..()
if(href_list["drop_from_cargo"])