From 2fece529afe38948421338379c37ed9de583cd61 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Tue, 13 Nov 2012 22:46:43 -0700 Subject: [PATCH] Fixed a compile warning, reverted my grenade changes as requested by mangled, readded unsecuring-of-the-AI-with-a-wrench and the associated traitor objective checks, tweaked my previous commit re:adminhelps. --- code/game/gamemodes/objective.dm | 13 + .../items/weapons/grenades/chem_grenade.dm | 429 ++++++------------ code/modules/admin/verbs/adminhelp.dm | 3 +- code/modules/assembly/assembly.dm | 2 - code/modules/assembly/holder.dm | 3 + code/modules/assembly/proximity.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 24 +- code/modules/mob/living/silicon/ai/life.dm | 2 +- code/modules/mob/mob_movement.dm | 2 +- 9 files changed, 189 insertions(+), 291 deletions(-) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 1d65b141cc7..40acaf36c90 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -474,6 +474,19 @@ datum/objective/steal for(var/mob/living/silicon/ai/M in C) if(istype(M, /mob/living/silicon/ai) && M.stat != 2) //See if any AI's are alive inside that card. return 1 + for(var/mob/living/silicon/ai/ai in world) + if(istype(ai.loc, /turf)) + var/area/check_area = get_area(ai) + if(istype(check_area, /area/shuttle/escape/centcom)) + return 1 + if(istype(check_area, /area/shuttle/escape_pod1/centcom)) + return 1 + if(istype(check_area, /area/shuttle/escape_pod2/centcom)) + return 1 + if(istype(check_area, /area/shuttle/escape_pod3/centcom)) + return 1 + if(istype(check_area, /area/shuttle/escape_pod5/centcom)) + return 1 else for(var/obj/I in all_items) //Check for items diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index f053e0f4f4a..ce4e4f2ce63 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -1,269 +1,148 @@ /obj/item/weapon/grenade/chem_grenade name = "Grenade Casing" icon_state = "chemg" - icon = 'chemical.dmi' item_state = "flashbang" + desc = "A hand made chemical grenade." w_class = 2.0 force = 2.0 - var/list/beakers = list() - var/obj/item/device/assembly/attached_device - var/exploding = 0 + var/stage = 0 var/state = 0 var/path = 0 - var/motion = 0 - var/direct = "SOUTH" - var/obj/item/weapon/circuitboard/circuit = null - var/list/allowed_containers = list("/obj/item/weapon/reagent_containers/glass/beaker", "/obj/item/weapon/reagent_containers/glass/dispenser", "/obj/item/weapon/reagent_containers/glass/bottle") + var/obj/item/device/assembly_holder/detonator = null + var/list/beakers = new/list() + var/list/allowed_containers = list(/obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/glass/bottle) var/affected_area = 3 - var/mob/attacher = "Unknown" - throw_speed = 4 - throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY - slot_flags = SLOT_BELT - - attackby(var/obj/item/weapon/W, var/mob/user) - if(path || !active) - switch(active) - if(0) - if(istype(W, /obj/item/device/assembly/igniter)) - active = 1 - icon_state = initial(icon_state) +"_ass" - name = "unsecured grenade" - path = 1 - del(W) - if(1) - if(istype(W, /obj/item/weapon/reagent_containers/glass)) - if(beakers.len == 2) - user << "\red There are already two beakers inside, remove one first!" - return - - beakers |= W - user.drop_item() - W.loc = src - user << "\blue You insert the beaker into the casing." - - else if(istype(W, /obj/item/device/assembly/signaler) || istype(W, /obj/item/device/assembly/timer) || istype(W, /obj/item/device/assembly/infra) || istype(W, /obj/item/device/assembly/prox_sensor)) - if(attached_device) - user << "\red There is already an device attached to the controls, remove it first!" - return - - attached_device = W - user.drop_item() - W.loc = src - user << "\blue You attach the [W] to the grenade controls!" - W.master = src - bombers += "[key_name(user)] attached a [W] to a grenade casing." - message_admins("[key_name_admin(user)] attached a [W] to a grenade casing.") - log_game("[key_name_admin(user)] attached a [W] to a grenade casing.") - attacher = key_name(user) - - else if(istype(W, /obj/item/weapon/screwdriver)) - if(beakers.len == 2 && attached_device) - user << "\blue You lock the assembly." - playsound(src.loc, 'Screwdriver.ogg', 25, -3) - name = "grenade" - icon_state = initial(icon_state) + "_locked" - active = 2 - path = 1 - else - user << "\red You need to add all components before locking the assembly." - if(2) - if(istype(W, /obj/item/weapon/screwdriver)) - user << "\blue You disarm the [src]!" - playsound(src.loc, 'Screwdriver.ogg', 25, -3) - name = "grenade casing" - icon_state = initial(icon_state) +"_ass" - active = 1 - path = 1 - - if(path != 1) - if(!istype(src.loc,/turf)) - user << "\red You need to put the canister on the ground to do that!" - else - switch(state) - if(0) - if(istype(W, /obj/item/weapon/wrench)) - playsound(src.loc, 'Ratchet.ogg', 50, 1) - if(do_after(user, 20)) - user << "\blue You wrench the canister in place." - src.name = "Camera Assembly" - src.anchored = 1 - src.state = 1 - path = 2 - if(1) - if(istype(W, /obj/item/weapon/wrench)) - playsound(src.loc, 'Ratchet.ogg', 50, 1) - if(do_after(user, 20)) - user << "\blue You unfasten the canister." - src.name = "Grenade Casing" - src.anchored = 0 - src.state = 0 - path = 0 - if(istype(W, /obj/item/device/multitool)) - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - user << "\blue You place the electronics inside the canister." - src.circuit = W - user.drop_item() - W.loc = src - if(istype(W, /obj/item/weapon/screwdriver) && circuit) - playsound(src.loc, 'Screwdriver.ogg', 50, 1) - user << "\blue You screw the circuitry into place." - src.state = 2 - if(istype(W, /obj/item/weapon/crowbar) && circuit) - playsound(src.loc, 'Crowbar.ogg', 50, 1) - user << "\blue You remove the circuitry." - src.state = 1 - circuit.loc = src.loc - src.circuit = null - if(2) - if(istype(W, /obj/item/weapon/screwdriver) && circuit) - playsound(src.loc, 'Screwdriver.ogg', 50, 1) - user << "\blue You unfasten the circuitry." - src.state = 1 - if(istype(W, /obj/item/weapon/cable_coil)) - if(W:amount >= 1) - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - if(do_after(user, 20)) - W:amount -= 1 - if(!W:amount) del(W) - user << "\blue You add cabling to the canister." - src.state = 3 - if(3) - if(istype(W, /obj/item/weapon/wirecutters)) - playsound(src.loc, 'wirecutter.ogg', 50, 1) - user << "\blue You remove the cabling." - src.state = 2 - var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc ) - A.amount = 1 - if(issignaler(W)) - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - user << "\blue You attach the wireless signaller unit to the circutry." - user.drop_item() - W.loc = src - src.state = 4 - if(4) - if(istype(W, /obj/item/weapon/crowbar) && !motion) - playsound(src.loc, 'Crowbar.ogg', 50, 1) - user << "\blue You remove the remote signalling device." - src.state = 3 - var/obj/item/device/assembly/signaler/S = locate() in src - if(S) - S.loc = src.loc - else - new /obj/item/device/assembly/signaler( src.loc, 1 ) - if(isprox(W) && motion == 0) -// if(W:amount >= 1) - playsound(src.loc, 'Deconstruct.ogg', 50, 1) -// W:use(1) - user << "\blue You attach the proximity sensor." - user.drop_item() - W.loc = src - motion = 1 - if(istype(W, /obj/item/weapon/crowbar) && motion) - playsound(src.loc, 'Crowbar.ogg', 50, 1) - user << "\blue You remove the proximity sensor." - var/obj/item/device/assembly/prox_sensor/S = locate() in src - if(S) - S.loc = src.loc - else - new /obj/item/device/assembly/prox_sensor( src.loc, 1 ) - motion = 0 - if(istype(W, /obj/item/stack/sheet/glass)) - if(W:amount >= 1) - playsound(src.loc, 'Deconstruct.ogg', 50, 1) - if(do_after(user, 20)) - if(W) - W:use(1) - user << "\blue You put in the glass lens." - src.state = 5 - if(5) - if(istype(W, /obj/item/weapon/crowbar)) - playsound(src.loc, 'Crowbar.ogg', 50, 1) - user << "\blue You remove the glass lens." - src.state = 4 - new /obj/item/stack/sheet/glass( src.loc, 2 ) - if(istype(W, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'Screwdriver.ogg', 50, 1) - user << "\blue You connect the lense." - var/B - if(motion == 1) - B = new /obj/machinery/camera/motion( src.loc ) - else - B = new /obj/machinery/camera( src.loc ) - B:network = "SS13" - B:network = input(usr, "Which network would you like to connect this camera to?", "Set Network", "SS13") - direct = input(user, "Direction?", "Assembling Camera", null) in list( "NORTH", "EAST", "SOUTH", "WEST" ) - B:dir = text2dir(direct) - del(src) - return + New() + var/datum/reagents/R = new/datum/reagents(1000) + reagents = R + R.my_atom = src attack_self(mob/user as mob) - if(active == 2) - attached_device.attack_self(user) - return - user.machine = src - var/dat = {" Grenade properties: -
Beaker one: [beakers[1]] [beakers[1] ? "Remove" : ""] -
Beaker two: [beakers[2]] [beakers[2] ? "Remove" : ""] -
Control attachment: [attached_device ? "[attached_device]" : "None"] [attached_device ? "Remove" : ""]"} + if(!stage || stage==1) + if(detonator) +// detonator.loc=src.loc + detonator.detached() + usr.put_in_hands(detonator) + detonator=null + stage=0 + icon_state = initial(icon_state) + else if(beakers.len) + for(var/obj/B in beakers) + if(istype(B)) + beakers -= B + user.put_in_hands(B) + name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]" + if(stage > 1 && !active && clown_check(user)) + user << "You prime \the [name]!" + + log_attack("[user.name] ([user.ckey]) primed \a [src].") + log_admin("ATTACK: [user] ([user.ckey]) primed \a [src].") + message_admins("ATTACK: [user] ([user.ckey]) primed \a [src].") + + activate() + add_fingerprint(user) + if(iscarbon(user)) + var/mob/living/carbon/C = user + C.throw_mode_on() + + attackby(obj/item/weapon/W as obj, mob/user as mob) + + if(istype(W,/obj/item/device/assembly_holder) && (!stage || stage==1) && path != 2) + var/obj/item/device/assembly_holder/det = W + if(istype(det.a_left,det.a_right.type) || (!isigniter(det.a_left) && !isigniter(det.a_right))) + user << "\red Assembly must contain one igniter." + return + if(!det.secured) + user << "\red Assembly must be secured with screwdriver." + return + path = 1 + user << "\blue You add [W] to the metal casing." + playsound(src.loc, 'sound/items/Screwdriver2.ogg', 25, -3) + user.remove_from_mob(det) + det.loc = src + detonator = det + icon_state = initial(icon_state) +"_ass" + name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]" + stage = 1 + else if(istype(W,/obj/item/weapon/screwdriver) && path != 2) + if(stage == 1) + path = 1 + if(beakers.len) + user << "\blue You lock the assembly." + name = "grenade" + else +// user << "\red You need to add at least one beaker before locking the assembly." + user << "\blue You lock the empty assembly." + name = "fake grenade" + playsound(src.loc, 'sound/items/Screwdriver.ogg', 25, -3) + icon_state = initial(icon_state) +"_locked" + stage = 2 + else if(stage == 2) + if(active && prob(95)) + user << "\red You trigger the assembly!" + prime() + return + else + user << "\blue You unlock the assembly." + playsound(src.loc, 'sound/items/Screwdriver.ogg', 25, -3) + name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]" + icon_state = initial(icon_state) + (detonator?"_ass":"") + stage = 1 + active = 0 + else if(is_type_in_list(W, allowed_containers) && (!stage || stage==1) && path != 2) + path = 1 + if(beakers.len == 2) + user << "\red The grenade can not hold more containers." + return + else + if(W.reagents.total_volume) + user << "\blue You add \the [W] to the assembly." + user.drop_item() + W.loc = src + beakers += W + stage = 1 + name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]" + else + user << "\red \the [W] is empty." + + examine() + set src in usr + usr << desc + if(detonator) + usr << "With attached [detonator.name]" + + activate(mob/user as mob) + if(active) return + + if(detonator) + if(!isigniter(detonator.a_left)) + detonator.a_left.activate() + active = 1 + if(!isigniter(detonator.a_right)) + detonator.a_right.activate() + active = 1 + if(active) + icon_state = initial(icon_state) + "_active" + + if(user) + log_attack("[user.name] ([user.ckey]) primed \a [src]") + log_admin("ATTACK: [user] ([user.ckey]) primed \a [src]") + message_admins("ATTACK: [user] ([user.ckey]) primed \a [src]") - user << browse(dat, "window=trans_valve;size=600x300") - onclose(user, "trans_valve") return + proc/primed(var/primed = 1) + if(active) + icon_state = initial(icon_state) + (primed?"_primed":"_active") - Topic(href, href_list) - ..() - if (usr.stat || usr.restrained()) - return - if (src.loc == usr) - if(href_list["beakerone"]) - if(beakers.len < 1) - return - var/obj/b1 = beakers[1] - b1.loc = get_turf(src) - beakers.Remove(b1) - if(href_list["beakertwo"]) - if(beakers.len < 2) - return - var/obj/b2 = beakers[2] - b2.loc = get_turf(src) - beakers.Remove(b2) - if(href_list["rem_device"]) - attached_device.loc = get_turf(src) - attached_device = null - if(href_list["device"]) - attached_device.attack_self(usr) - src.attack_self(usr) - src.add_fingerprint(usr) - return - - receive_signal(signal) - if(!(active == 2)) - return //cant go off before it gets primed - explode() - - - HasProximity(atom/movable/AM as mob|obj) - if(istype(attached_device, /obj/item/device/assembly/prox_sensor)) - var/obj/item/device/assembly/prox_sensor/D = attached_device - if (istype(AM, /obj/effect/beam)) - return - if (AM.move_speed < 12) - D.sense() - - - proc/explode() - if(exploding) return - exploding = 1 + prime() + if(!stage || stage<2) return //if(prob(reliability)) var/has_reagents = 0 for(var/obj/item/weapon/reagent_containers/glass/G in beakers) - if(G.reagents.total_volume) - has_reagents = 1 - break + if(G.reagents.total_volume) has_reagents = 1 active = 0 if(!has_reagents) @@ -271,18 +150,11 @@ playsound(src.loc, 'sound/items/Screwdriver2.ogg', 50, 1) return - var/datum/reagents/R = new/datum/reagents(1000) - reagents = R - R.my_atom = src - playsound(src.loc, 'sound/effects/bamf.ogg', 50, 1) for(var/obj/item/weapon/reagent_containers/glass/G in beakers) G.reagents.trans_to(src, G.reagents.total_volume) - var/obj/item/weapon/reagent_containers/glass/G = locate() in beakers - reagents.trans_to(G, reagents.total_volume/2) - if(src.reagents.total_volume) //The possible reactions didnt use up all reagents. var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread() steam.set_up(10, 0, get_turf(src)) @@ -293,10 +165,6 @@ if( A == src ) continue src.reagents.reaction(A, 1, 10) - for(var/atom/A in view(affected_area, src.loc)) - if( A == src ) continue - G.reagents.reaction(A, 1, 10) - invisibility = INVISIBILITY_MAXIMUM //Why am i doing this? spawn(50) //To make sure all reagents can work @@ -307,19 +175,12 @@ for(var/obj/item/weapon/reagent_containers/glass/G in beakers) G.loc = get_turf(src.loc)*/ - proc/c_state(var/i = 0) - if(i) - icon_state = initial(icon_state) + "_armed" - else - icon_state = initial(icon_state) + "_locked" - return - /obj/item/weapon/grenade/chem_grenade/large name = "Large Chem Grenade" desc = "An oversized grenade that affects a larger area." icon_state = "large_grenade" - allowed_containers = list("/obj/item/weapon/reagent_containers/glass") + allowed_containers = list(/obj/item/weapon/reagent_containers/glass) origin_tech = "combat=3;materials=3" affected_area = 4 @@ -327,13 +188,10 @@ name = "Metal-Foam Grenade" desc = "Used for emergency sealing of air breaches." path = 1 - active = 2 + stage = 2 New() ..() - attached_device = new /obj/item/device/assembly/timer(src) - attached_device.master = src - attached_device.toggle_secure() var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src) @@ -341,41 +199,41 @@ B2.reagents.add_reagent("foaming_agent", 10) B2.reagents.add_reagent("pacid", 10) - beakers.Add(B1, B2) - icon_state = "chemg_locked" + detonator = new/obj/item/device/assembly_holder/timer_igniter(src) + + beakers += B1 + beakers += B2 + icon_state = initial(icon_state) +"_locked" /obj/item/weapon/grenade/chem_grenade/incendiary name = "Incendiary Grenade" desc = "Used for clearing rooms of living things." path = 1 - active = 2 + stage = 2 New() ..() - attached_device = new /obj/item/device/assembly/timer(src) - attached_device.master = src - attached_device.toggle_secure() var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src) B1.reagents.add_reagent("aluminum", 25) B2.reagents.add_reagent("plasma", 25) - B2.reagents.add_reagent("acid", 25) + B2.reagents.add_reagent("sacid", 25) - beakers.Add(B1, B2) - icon_state = "chemg_locked" + detonator = new/obj/item/device/assembly_holder/timer_igniter(src) + + beakers += B1 + beakers += B2 + icon_state = initial(icon_state) +"_locked" /obj/item/weapon/grenade/chem_grenade/cleaner name = "Cleaner Grenade" desc = "BLAM!-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas." - active = 2 + stage = 2 path = 1 New() ..() - attached_device = new /obj/item/device/assembly/timer(src) - attached_device.master = src - attached_device.toggle_secure() var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src) var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src) @@ -383,5 +241,8 @@ B2.reagents.add_reagent("water", 40) B2.reagents.add_reagent("cleaner", 10) - beakers.Add(B1, B2) - icon_state = "chemg_locked" \ No newline at end of file + detonator = new/obj/item/device/assembly_holder/timer_igniter(src) + + beakers += B1 + beakers += B2 + icon_state = initial(icon_state) +"_locked" diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 0579188a253..8b22dbdce24 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -129,7 +129,8 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an", "monkey", "ali send2irc(ckey, "[original_msg] - No admins online") else send2irc(ckey, "[original_msg] - All admins AFK ([admin_number_afk])") - send2irc(ckey, original_msg) + else + send2irc(ckey, original_msg) feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 68789879a1e..61773960fb0 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -71,8 +71,6 @@ holder.process_activation(src, 1, 0) if(holder && (wires & WIRE_PULSE_SPECIAL)) holder.process_activation(src, 0, 1) - if(master && (wires & WIRE_PULSE)) - master.receive_signal("activate") // if(radio && (wires & WIRE_RADIO_PULSE)) //Not sure what goes here quite yet send signal? return 1 diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 710e9564c3f..b8fd9107195 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -231,6 +231,9 @@ if ( !(usr.stat || usr.restrained()) ) var/obj/item/device/assembly_holder/holder + if(istype(src,/obj/item/weapon/grenade/chem_grenade)) + var/obj/item/weapon/grenade/chem_grenade/gren = src + holder=gren.detonator var/obj/item/device/assembly/timer/tmr = holder.a_left if(!istype(tmr,/obj/item/device/assembly/timer)) tmr = holder.a_right diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 7d35d6f70fb..c54afdc0c67 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -104,7 +104,7 @@ holder.update_icon() if(holder && istype(holder.loc,/obj/item/weapon/grenade/chem_grenade)) var/obj/item/weapon/grenade/chem_grenade/grenade = holder.loc - grenade.c_state(scanning) + grenade.primed(scanning) return diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index bb2f591ed9d..9c8fc5d3eab 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -117,7 +117,7 @@ return //if(icon_state == initial(icon_state)) - var/icontype = "" + var/icontype = "" var/list/icons = list("Monochrome", "Blue", "Inverted", "Firewall", "Green", "Red", "Static") if (src.name == "B.A.N.N.E.D." && src.ckey == "spaceman96") icons += "B.A.N.N.E.D." @@ -708,3 +708,25 @@ src.current = camera src.current.SetLuminosity(AI_CAMERA_LUMINOSITY) camera_light_on = world.timeofday + 1 * 20 // Update the light every 2 seconds. + + +/mob/living/silicon/ai/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/wrench)) + if(anchored) + user.visible_message("\blue \The [user] starts to unbolt \the [src] from the plating...") + if(!do_after(user,40)) + user.visible_message("\blue \The [user] decides not to unbolt \the [src].") + return + user.visible_message("\blue \The [user] finishes unfastening \the [src]!") + anchored = 0 + return + else + user.visible_message("\blue \The [user] starts to bolt \the [src] to the plating...") + if(!do_after(user,40)) + user.visible_message("\blue \The [user] decides not to bolt \the [src].") + return + user.visible_message("\blue \The [user] finishes fastening down \the [src]!") + anchored = 1 + return + else + return ..() \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index d1ae1c05b77..1726440053c 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -90,7 +90,7 @@ src.see_in_dark = 0 src.see_invisible = SEE_INVISIBLE_LIVING - if (((!loc.master.power_equip) || istype(T, /turf/space)) && !istype(src.loc,/obj/item)) + if (((!loc.master.power_equip) || istype(T, /turf/space)) && !istype(src.loc,/obj/item) && !istype(get_area(src), /area/shuttle)) if (src:aiRestorePowerRoutine==0) src:aiRestorePowerRoutine = 1 diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 068241967d3..983d7fbbcaf 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -293,7 +293,7 @@ if(config.Tickcomp) move_delay -= 1.3 - var/tickcomp = ((1/(world.tick_lag))*1.3) +// var/tickcomp = ((1/(world.tick_lag))*1.3) //We are now going to move moving = 1