mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
- Another batch of runtime errors fixed.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1537 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -15,9 +15,10 @@
|
|||||||
var/range = MELEE //bitflags
|
var/range = MELEE //bitflags
|
||||||
|
|
||||||
|
|
||||||
/obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown()
|
/obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown(target=1)
|
||||||
sleep(equip_cooldown)
|
sleep(equip_cooldown)
|
||||||
if(src && chassis)
|
set_ready_state(1)
|
||||||
|
if(target && chassis)
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
O.anchored = 1
|
O.anchored = 1
|
||||||
var/T = chassis.loc
|
var/T = chassis.loc
|
||||||
if(do_after_cooldown())
|
if(do_after_cooldown(target))
|
||||||
if(T == chassis.loc && src == chassis.selected)
|
if(T == chassis.loc && src == chassis.selected)
|
||||||
cargo_holder.cargo += O
|
cargo_holder.cargo += O
|
||||||
O.loc = chassis
|
O.loc = chassis
|
||||||
@@ -40,8 +40,6 @@
|
|||||||
else
|
else
|
||||||
chassis.occupant_message("<font color='red'>You must hold still while handling objects.</font>")
|
chassis.occupant_message("<font color='red'>You must hold still while handling objects.</font>")
|
||||||
O.anchored = initial(O.anchored)
|
O.anchored = initial(O.anchored)
|
||||||
set_ready_state(1)
|
|
||||||
|
|
||||||
else
|
else
|
||||||
chassis.occupant_message("<font color='red'>Not enough room in cargo compartment.</font>")
|
chassis.occupant_message("<font color='red'>Not enough room in cargo compartment.</font>")
|
||||||
else
|
else
|
||||||
@@ -62,8 +60,7 @@
|
|||||||
chassis.visible_message("[chassis] pushes [target] out of the way.")
|
chassis.visible_message("[chassis] pushes [target] out of the way.")
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/item/mecha_parts/mecha_equipment/tool/drill
|
/obj/item/mecha_parts/mecha_equipment/tool/drill
|
||||||
@@ -81,7 +78,7 @@
|
|||||||
chassis.occupant_message("<font color='red'><b>You start to drill [target]</b></font>")
|
chassis.occupant_message("<font color='red'><b>You start to drill [target]</b></font>")
|
||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
var/T = chassis.loc
|
var/T = chassis.loc
|
||||||
if(do_after_cooldown())
|
if(do_after_cooldown(target))
|
||||||
if(T == chassis.loc && src == chassis.selected)
|
if(T == chassis.loc && src == chassis.selected)
|
||||||
if(istype(target, /turf/simulated/wall/r_wall))
|
if(istype(target, /turf/simulated/wall/r_wall))
|
||||||
chassis.occupant_message("<font color='red'>[target] is too durable to drill through.</font>")
|
chassis.occupant_message("<font color='red'>[target] is too durable to drill through.</font>")
|
||||||
@@ -99,7 +96,6 @@
|
|||||||
else
|
else
|
||||||
chassis.log_message("Drilled through [target]")
|
chassis.log_message("Drilled through [target]")
|
||||||
target.ex_act(2)
|
target.ex_act(2)
|
||||||
set_ready_state(1)
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
@@ -121,8 +117,7 @@
|
|||||||
if(!action_checks(target) || get_dist(chassis, target)>3) return
|
if(!action_checks(target) || get_dist(chassis, target)>3) return
|
||||||
if(get_dist(chassis, target)>2) return
|
if(get_dist(chassis, target)>2) return
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
if(do_after_cooldown())
|
if(do_after_cooldown(target))
|
||||||
set_ready_state(1)
|
|
||||||
if(istype(target, /obj/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1)
|
if(istype(target, /obj/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1)
|
||||||
var/obj/o = target
|
var/obj/o = target
|
||||||
o.reagents.trans_to(src, 200)
|
o.reagents.trans_to(src, 200)
|
||||||
@@ -137,8 +132,8 @@
|
|||||||
var/turf/T2 = get_step(T,turn(direction, -90))
|
var/turf/T2 = get_step(T,turn(direction, -90))
|
||||||
|
|
||||||
var/list/the_targets = list(T,T1,T2)
|
var/list/the_targets = list(T,T1,T2)
|
||||||
for(var/a=0, a<5, a++)
|
|
||||||
spawn(0)
|
spawn(0)
|
||||||
|
for(var/a=0, a<5, a++)
|
||||||
var/obj/effects/water/W = new /obj/effects/water(get_turf(chassis))
|
var/obj/effects/water/W = new /obj/effects/water(get_turf(chassis))
|
||||||
if(!W)
|
if(!W)
|
||||||
return
|
return
|
||||||
@@ -191,66 +186,60 @@
|
|||||||
if (istype(target, /turf/simulated/wall))
|
if (istype(target, /turf/simulated/wall))
|
||||||
chassis.occupant_message("Deconstructing [target]...")
|
chassis.occupant_message("Deconstructing [target]...")
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
if(do_after_cooldown())
|
if(do_after_cooldown(target))
|
||||||
if(disabled) return
|
if(disabled) return
|
||||||
chassis.spark_system.start()
|
chassis.spark_system.start()
|
||||||
target:ReplaceWithFloor()
|
target:ReplaceWithFloor()
|
||||||
playsound(target, 'Deconstruct.ogg', 50, 1)
|
playsound(target, 'Deconstruct.ogg', 50, 1)
|
||||||
set_ready_state(1)
|
|
||||||
chassis.cell.give(energy_drain)
|
chassis.cell.give(energy_drain)
|
||||||
else if (istype(target, /turf/simulated/floor))
|
else if (istype(target, /turf/simulated/floor))
|
||||||
chassis.occupant_message("Deconstructing [target]...")
|
chassis.occupant_message("Deconstructing [target]...")
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
if(do_after_cooldown())
|
if(do_after_cooldown(target))
|
||||||
if(disabled) return
|
if(disabled) return
|
||||||
chassis.spark_system.start()
|
chassis.spark_system.start()
|
||||||
target:ReplaceWithSpace()
|
target:ReplaceWithSpace()
|
||||||
playsound(target, 'Deconstruct.ogg', 50, 1)
|
playsound(target, 'Deconstruct.ogg', 50, 1)
|
||||||
set_ready_state(1)
|
|
||||||
chassis.cell.give(energy_drain)
|
chassis.cell.give(energy_drain)
|
||||||
else if (istype(target, /obj/machinery/door/airlock))
|
else if (istype(target, /obj/machinery/door/airlock))
|
||||||
chassis.occupant_message("Deconstructing [target]...")
|
chassis.occupant_message("Deconstructing [target]...")
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
if(do_after_cooldown())
|
if(do_after_cooldown(target))
|
||||||
if(disabled) return
|
if(disabled) return
|
||||||
chassis.spark_system.start()
|
chassis.spark_system.start()
|
||||||
del(target)
|
del(target)
|
||||||
playsound(target, 'Deconstruct.ogg', 50, 1)
|
playsound(target, 'Deconstruct.ogg', 50, 1)
|
||||||
set_ready_state(1)
|
|
||||||
chassis.cell.give(energy_drain)
|
chassis.cell.give(energy_drain)
|
||||||
if(1)
|
if(1)
|
||||||
if(istype(target, /turf/space))
|
if(istype(target, /turf/space))
|
||||||
chassis.occupant_message("Building Floor...")
|
chassis.occupant_message("Building Floor...")
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
if(do_after_cooldown())
|
if(do_after_cooldown(target))
|
||||||
if(disabled) return
|
if(disabled) return
|
||||||
target:ReplaceWithFloor()
|
target:ReplaceWithFloor()
|
||||||
playsound(target, 'Deconstruct.ogg', 50, 1)
|
playsound(target, 'Deconstruct.ogg', 50, 1)
|
||||||
chassis.spark_system.start()
|
chassis.spark_system.start()
|
||||||
set_ready_state(1)
|
|
||||||
chassis.cell.use(energy_drain*3)
|
chassis.cell.use(energy_drain*3)
|
||||||
else if(istype(target, /turf/simulated/floor))
|
else if(istype(target, /turf/simulated/floor))
|
||||||
chassis.occupant_message("Building Wall...")
|
chassis.occupant_message("Building Wall...")
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
if(do_after_cooldown())
|
if(do_after_cooldown(target))
|
||||||
if(disabled) return
|
if(disabled) return
|
||||||
target:ReplaceWithWall()
|
target:ReplaceWithWall()
|
||||||
playsound(target, 'Deconstruct.ogg', 50, 1)
|
playsound(target, 'Deconstruct.ogg', 50, 1)
|
||||||
chassis.spark_system.start()
|
chassis.spark_system.start()
|
||||||
set_ready_state(1)
|
|
||||||
chassis.cell.use(energy_drain*3)
|
chassis.cell.use(energy_drain*3)
|
||||||
if(2)
|
if(2)
|
||||||
if(istype(target, /turf/simulated/floor))
|
if(istype(target, /turf/simulated/floor))
|
||||||
chassis.occupant_message("Building Airlock...")
|
chassis.occupant_message("Building Airlock...")
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
if(do_after_cooldown())
|
if(do_after_cooldown(target))
|
||||||
if(disabled) return
|
if(disabled) return
|
||||||
chassis.spark_system.start()
|
chassis.spark_system.start()
|
||||||
var/obj/machinery/door/airlock/T = new /obj/machinery/door/airlock(target)
|
var/obj/machinery/door/airlock/T = new /obj/machinery/door/airlock(target)
|
||||||
T.autoclose = 1
|
T.autoclose = 1
|
||||||
playsound(target, 'Deconstruct.ogg', 50, 1)
|
playsound(target, 'Deconstruct.ogg', 50, 1)
|
||||||
playsound(target, 'sparks2.ogg', 50, 1)
|
playsound(target, 'sparks2.ogg', 50, 1)
|
||||||
set_ready_state(1)
|
|
||||||
chassis.cell.use(energy_drain*3)
|
chassis.cell.use(energy_drain*3)
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -290,8 +279,7 @@
|
|||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
do_teleport(chassis, T, 4)
|
do_teleport(chassis, T, 4)
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -338,8 +326,7 @@
|
|||||||
P.failchance = 0
|
P.failchance = 0
|
||||||
P.icon_state = "anom"
|
P.icon_state = "anom"
|
||||||
P.name = "wormhole"
|
P.name = "wormhole"
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
src = null
|
src = null
|
||||||
spawn(rand(150,300))
|
spawn(rand(150,300))
|
||||||
del(P)
|
del(P)
|
||||||
@@ -374,8 +361,7 @@
|
|||||||
locked = null
|
locked = null
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
else
|
else
|
||||||
chassis.occupant_message("Lock on [locked] disengaged.")
|
chassis.occupant_message("Lock on [locked] disengaged.")
|
||||||
locked = null
|
locked = null
|
||||||
@@ -395,8 +381,7 @@
|
|||||||
sleep(2)
|
sleep(2)
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
get_equip_info()
|
get_equip_info()
|
||||||
@@ -452,8 +437,7 @@
|
|||||||
chassis.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
|
chassis.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -510,8 +494,7 @@
|
|||||||
chassis.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
|
chassis.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
proc/dynhitby(atom/movable/A)
|
proc/dynhitby(atom/movable/A)
|
||||||
@@ -531,8 +514,7 @@
|
|||||||
chassis.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
|
chassis.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -33,8 +33,7 @@
|
|||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
A.process()
|
A.process()
|
||||||
chassis.log_message("Fired from [src.name], targeting [target].")
|
chassis.log_message("Fired from [src.name], targeting [target].")
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -64,8 +63,7 @@
|
|||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
A.process()
|
A.process()
|
||||||
chassis.log_message("Fired from [src.name], targeting [target].")
|
chassis.log_message("Fired from [src.name], targeting [target].")
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -105,8 +103,7 @@
|
|||||||
spawn()
|
spawn()
|
||||||
A.process()
|
A.process()
|
||||||
chassis.log_message("Fired from [src.name], targeting [target].")
|
chassis.log_message("Fired from [src.name], targeting [target].")
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/mecha_parts/mecha_equipment/weapon/honker
|
/obj/item/mecha_parts/mecha_equipment/weapon/honker
|
||||||
@@ -162,8 +159,7 @@
|
|||||||
*/
|
*/
|
||||||
chassis.cell.use(energy_drain)
|
chassis.cell.use(energy_drain)
|
||||||
chassis.log_message("Honked from [src.name]. HONK!")
|
chassis.log_message("Honked from [src.name]. HONK!")
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic
|
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic
|
||||||
@@ -229,8 +225,7 @@
|
|||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
A.process()
|
A.process()
|
||||||
chassis.log_message("Fired from [src.name], targeting [target].")
|
chassis.log_message("Fired from [src.name], targeting [target].")
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -269,8 +264,7 @@
|
|||||||
sleep(2)
|
sleep(2)
|
||||||
set_ready_state(0)
|
set_ready_state(0)
|
||||||
chassis.log_message("Fired from [src.name], targeting [target].")
|
chassis.log_message("Fired from [src.name], targeting [target].")
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack
|
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack
|
||||||
@@ -291,8 +285,7 @@
|
|||||||
M.throw_at(target, missile_range, missile_speed)
|
M.throw_at(target, missile_range, missile_speed)
|
||||||
projectiles--
|
projectiles--
|
||||||
chassis.log_message("Fired from [src.name], targeting [target].")
|
chassis.log_message("Fired from [src.name], targeting [target].")
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -329,8 +322,7 @@
|
|||||||
chassis.log_message("Fired from [src.name], targeting [target].")
|
chassis.log_message("Fired from [src.name], targeting [target].")
|
||||||
spawn(det_time)
|
spawn(det_time)
|
||||||
F.prime()
|
F.prime()
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -358,8 +350,7 @@
|
|||||||
B.throw_at(target, missile_range, missile_speed)
|
B.throw_at(target, missile_range, missile_speed)
|
||||||
projectiles--
|
projectiles--
|
||||||
chassis.log_message("Bananed from [src.name], targeting [target]. HONK!")
|
chassis.log_message("Bananed from [src.name], targeting [target]. HONK!")
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -388,6 +379,5 @@
|
|||||||
M.throw_at(target, missile_range, missile_speed)
|
M.throw_at(target, missile_range, missile_speed)
|
||||||
projectiles--
|
projectiles--
|
||||||
chassis.log_message("Launched a mouse-trap from [src.name], targeting [target]. HONK!")
|
chassis.log_message("Launched a mouse-trap from [src.name], targeting [target]. HONK!")
|
||||||
if(do_after_cooldown())
|
do_after_cooldown()
|
||||||
set_ready_state(1)
|
|
||||||
return
|
return
|
||||||
@@ -803,6 +803,18 @@
|
|||||||
/obj/mecha/examine()
|
/obj/mecha/examine()
|
||||||
set src in view()
|
set src in view()
|
||||||
..()
|
..()
|
||||||
|
var/integrity = health/initial(health)*100
|
||||||
|
switch(integrity)
|
||||||
|
if(85 to 100)
|
||||||
|
usr << "It's fully intact."
|
||||||
|
if(65 to 85)
|
||||||
|
usr << "It's slightly damaged."
|
||||||
|
if(45 to 65)
|
||||||
|
usr << "It's badly damaged."
|
||||||
|
if(25 to 45)
|
||||||
|
usr << "It's heavily damaged."
|
||||||
|
else
|
||||||
|
usr << "It's falling apart."
|
||||||
if(equipment && equipment.len)
|
if(equipment && equipment.len)
|
||||||
usr << "It's equipped with:"
|
usr << "It's equipped with:"
|
||||||
for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
|
for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
|
||||||
|
|||||||
@@ -128,30 +128,32 @@
|
|||||||
user << "\blue You need to attach a flash to it first!"
|
user << "\blue You need to attach a flash to it first!"
|
||||||
|
|
||||||
if(istype(W, /obj/item/device/mmi))
|
if(istype(W, /obj/item/device/mmi))
|
||||||
|
var/obj/item/device/mmi/mmi = W
|
||||||
if(src.check_completion())
|
if(src.check_completion())
|
||||||
if(!istype(src.loc,/turf))
|
if(!istype(src.loc,/turf))
|
||||||
user << "\red You can't put the MMI in, the frame has to be standing on the ground to be perfectly precise."
|
user << "\red You can't put the MMI in, the frame has to be standing on the ground to be perfectly precise."
|
||||||
return
|
return
|
||||||
if(!W:brain)
|
if(!mmi.brain)
|
||||||
user << "\red Sticking an empty MMI into the frame would sort of defeat the purpose."
|
user << "\red Sticking an empty MMI into the frame would sort of defeat the purpose."
|
||||||
return
|
return
|
||||||
if(W:brain.brainmob.stat == 2)
|
if(mmi.brain.brainmob.stat == 2)
|
||||||
user << "\red Sticking a dead brain into the frame would sort of defeat the purpose."
|
user << "\red Sticking a dead brain into the frame would sort of defeat the purpose."
|
||||||
return
|
return
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
W.loc = src
|
mmi.loc = src
|
||||||
src.brain = W
|
src.brain = mmi
|
||||||
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(src.loc))
|
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(src.loc))
|
||||||
|
if(!O) return
|
||||||
//O.start = 1
|
//O.start = 1
|
||||||
O.invisibility = 0
|
O.invisibility = 0
|
||||||
O.name = src.created_name
|
O.name = src.created_name
|
||||||
O.real_name = src.created_name
|
O.real_name = src.created_name
|
||||||
|
|
||||||
if (W:brain.brainmob)
|
if (mmi.brain.brainmob && mmi.brain.brainmob.mind)
|
||||||
W:brain.brainmob.mind.transfer_to(O)
|
mmi.brain.brainmob.mind.transfer_to(O)
|
||||||
else
|
else
|
||||||
for(var/mob/dead/observer/G in world)
|
for(var/mob/dead/observer/G in world)
|
||||||
if(G.corpse == W:brain.brainmob && G.client)
|
if(G.corpse == mmi.brain.brainmob && G.client && G.corpse.mind)
|
||||||
G.corpse.mind.transfer_to(O)
|
G.corpse.mind.transfer_to(O)
|
||||||
del(G)
|
del(G)
|
||||||
break
|
break
|
||||||
@@ -169,7 +171,7 @@
|
|||||||
|
|
||||||
O.cell = src.chest.cell
|
O.cell = src.chest.cell
|
||||||
O.cell.loc = O
|
O.cell.loc = O
|
||||||
O.brain = W
|
O.brain = mmi
|
||||||
|
|
||||||
del(src)
|
del(src)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ Speaker: <A href='byond://?src=\ref[src];ch_name=[chan_name];listen=[!list]'>[li
|
|||||||
if (href_list["track"])
|
if (href_list["track"])
|
||||||
var/mob/target = locate(href_list["track"])
|
var/mob/target = locate(href_list["track"])
|
||||||
var/mob/living/silicon/ai/A = locate(href_list["track2"])
|
var/mob/living/silicon/ai/A = locate(href_list["track2"])
|
||||||
|
if(A && target)
|
||||||
A.ai_actual_track(target)
|
A.ai_actual_track(target)
|
||||||
return
|
return
|
||||||
else if (href_list["freq"])
|
else if (href_list["freq"])
|
||||||
|
|||||||
@@ -135,11 +135,17 @@
|
|||||||
src << "Connection verified. Searching for APC in power network."
|
src << "Connection verified. Searching for APC in power network."
|
||||||
sleep(50)
|
sleep(50)
|
||||||
var/obj/machinery/power/apc/theAPC = null
|
var/obj/machinery/power/apc/theAPC = null
|
||||||
|
/*
|
||||||
for (var/something in loc)
|
for (var/something in loc)
|
||||||
if (istype(something, /obj/machinery/power/apc))
|
if (istype(something, /obj/machinery/power/apc))
|
||||||
if (!(something:stat & BROKEN))
|
if (!(something:stat & BROKEN))
|
||||||
theAPC = something
|
theAPC = something
|
||||||
break
|
break
|
||||||
|
*/
|
||||||
|
for (var/obj/machinery/power/apc/APC in loc)
|
||||||
|
if (!(APC.stat & BROKEN))
|
||||||
|
theAPC = APC
|
||||||
|
break
|
||||||
if (theAPC==null)
|
if (theAPC==null)
|
||||||
src << "Unable to locate APC!"
|
src << "Unable to locate APC!"
|
||||||
src:aiRestorePowerRoutine = 2
|
src:aiRestorePowerRoutine = 2
|
||||||
@@ -152,11 +158,17 @@
|
|||||||
src << "APC located. Optimizing route to APC to avoid needless power waste."
|
src << "APC located. Optimizing route to APC to avoid needless power waste."
|
||||||
sleep(50)
|
sleep(50)
|
||||||
theAPC = null
|
theAPC = null
|
||||||
|
/*
|
||||||
for (var/something in loc)
|
for (var/something in loc)
|
||||||
if (istype(something, /obj/machinery/power/apc))
|
if (istype(something, /obj/machinery/power/apc))
|
||||||
if (!(something:stat & BROKEN))
|
if (!(something:stat & BROKEN))
|
||||||
theAPC = something
|
theAPC = something
|
||||||
break
|
break
|
||||||
|
*/
|
||||||
|
for (var/obj/machinery/power/apc/APC in loc)
|
||||||
|
if (!(APC.stat & BROKEN))
|
||||||
|
theAPC = APC
|
||||||
|
break
|
||||||
if (theAPC==null)
|
if (theAPC==null)
|
||||||
src << "APC connection lost!"
|
src << "APC connection lost!"
|
||||||
src:aiRestorePowerRoutine = 2
|
src:aiRestorePowerRoutine = 2
|
||||||
@@ -169,11 +181,17 @@
|
|||||||
src << "Best route identified. Hacking offline APC power port."
|
src << "Best route identified. Hacking offline APC power port."
|
||||||
sleep(50)
|
sleep(50)
|
||||||
theAPC = null
|
theAPC = null
|
||||||
|
/*
|
||||||
for (var/something in loc)
|
for (var/something in loc)
|
||||||
if (istype(something, /obj/machinery/power/apc))
|
if (istype(something, /obj/machinery/power/apc))
|
||||||
if (!(something:stat & BROKEN))
|
if (!(something:stat & BROKEN))
|
||||||
theAPC = something
|
theAPC = something
|
||||||
break
|
break
|
||||||
|
*/
|
||||||
|
for (var/obj/machinery/power/apc/APC in loc)
|
||||||
|
if (!(APC.stat & BROKEN))
|
||||||
|
theAPC = APC
|
||||||
|
break
|
||||||
if (theAPC==null)
|
if (theAPC==null)
|
||||||
src << "APC connection lost!"
|
src << "APC connection lost!"
|
||||||
src:aiRestorePowerRoutine = 2
|
src:aiRestorePowerRoutine = 2
|
||||||
@@ -186,11 +204,17 @@
|
|||||||
src << "Power port upload access confirmed. Loading control program into APC power port software."
|
src << "Power port upload access confirmed. Loading control program into APC power port software."
|
||||||
sleep(50)
|
sleep(50)
|
||||||
theAPC = null
|
theAPC = null
|
||||||
|
/*
|
||||||
for (var/something in loc)
|
for (var/something in loc)
|
||||||
if (istype(something, /obj/machinery/power/apc))
|
if (istype(something, /obj/machinery/power/apc))
|
||||||
if (!(something:stat & BROKEN))
|
if (!(something:stat & BROKEN))
|
||||||
theAPC = something
|
theAPC = something
|
||||||
break
|
break
|
||||||
|
*/
|
||||||
|
for (var/obj/machinery/power/apc/APC in loc)
|
||||||
|
if (!(APC.stat & BROKEN))
|
||||||
|
theAPC = APC
|
||||||
|
break
|
||||||
if (theAPC==null)
|
if (theAPC==null)
|
||||||
src << "APC connection lost!"
|
src << "APC connection lost!"
|
||||||
src:aiRestorePowerRoutine = 2
|
src:aiRestorePowerRoutine = 2
|
||||||
|
|||||||
@@ -1508,12 +1508,11 @@
|
|||||||
if(src.muted)
|
if(src.muted)
|
||||||
src << "You are muted have a nice day"
|
src << "You are muted have a nice day"
|
||||||
return
|
return
|
||||||
if (!( ismob(M) ))
|
if (!ismob(M))
|
||||||
return
|
return
|
||||||
var/t = input("Message:", text("Private message to [M.key]")) as text|null
|
var/t = input("Message:", text("Private message to [M.key]")) as text|null
|
||||||
if (!( t ))
|
if (!t || !usr || !M)
|
||||||
return
|
return
|
||||||
if (!usr) return
|
|
||||||
if (usr.client && usr.client.holder)
|
if (usr.client && usr.client.holder)
|
||||||
M << "\red Admin PM from-<b>[key_name(usr, M, 0)]</b>: [t]"
|
M << "\red Admin PM from-<b>[key_name(usr, M, 0)]</b>: [t]"
|
||||||
usr << "\blue Admin PM to-<b>[key_name(M, usr, 1)]</b>: [t]"
|
usr << "\blue Admin PM to-<b>[key_name(M, usr, 1)]</b>: [t]"
|
||||||
|
|||||||
@@ -169,6 +169,7 @@
|
|||||||
src.invisibility = 101
|
src.invisibility = 101
|
||||||
for(var/t in src.organs)
|
for(var/t in src.organs)
|
||||||
del(src.organs[text("[t]")])
|
del(src.organs[text("[t]")])
|
||||||
|
if(src.client)
|
||||||
//src.client.screen -= main_hud1.contents
|
//src.client.screen -= main_hud1.contents
|
||||||
src.client.screen -= src.hud_used.contents
|
src.client.screen -= src.hud_used.contents
|
||||||
src.client.screen -= src.hud_used.adding
|
src.client.screen -= src.hud_used.adding
|
||||||
|
|||||||
@@ -206,7 +206,7 @@
|
|||||||
src.health -= value
|
src.health -= value
|
||||||
if(src.health>0)
|
if(src.health>0)
|
||||||
src.spark_system.start()
|
src.spark_system.start()
|
||||||
world << "[src] health is [health]"
|
// world << "[src] health is [health]"
|
||||||
else
|
else
|
||||||
src.ex_act(1)
|
src.ex_act(1)
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user