diff --git a/code/datums/disease.dm b/code/datums/disease.dm index 977f0b605c1..ba2fa63f4f2 100644 --- a/code/datums/disease.dm +++ b/code/datums/disease.dm @@ -337,7 +337,7 @@ to null does not delete the object itself. Thank you. // world << "Setting res to [src]" var/saved_type = "[type]"//copy the value, not create the reference to it, so when the object is deleted, the value remains. affected_mob.resistances += text2path(saved_type) - if(istype(src, /datum/disease/alien_embryo))//Get rid of the flag. + if((affected_mob) && (istype(src, /datum/disease/alien_embryo)))//Get rid of the flag. affected_mob.alien_egg_flag = 0 // world << "Removing [src]" spawn(0) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 62471a68eed..dff5835d8cf 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -522,13 +522,6 @@ Neutralize All Unidentified Life Signs: []
"}, if(!emagged) use_power(600) else use_power(1200) - else if(istype(E, /obj/item/weapon/gun/energy/heavylasercannon)) - A = new /obj/item/projectile/deathlaser( loc ) - A.original = target.loc - icon_state = "orange_target_prism" - if(!emagged) use_power(800) - else use_power(1600) - else if(istype(E, /obj/item/weapon/gun/energy/shockgun)) A = new /obj/item/projectile/fireball( loc ) A.original = target.loc diff --git a/code/game/objects/items/weapons/guns_new.dm b/code/game/objects/items/weapons/guns_new.dm index ec28415e430..2d6142e139c 100644 --- a/code/game/objects/items/weapons/guns_new.dm +++ b/code/game/objects/items/weapons/guns_new.dm @@ -1111,42 +1111,6 @@ power_supply.give(power_supply.maxcharge) update_icon() - heavylasercannon - name = "heavy laser cannon" - desc = "A deathly heavy-duty laser cannon." - icon_state = "laser" - force = 20 - fire_sound = 'pulse.ogg' - origin_tech = "combat=4;materials=4;powerstorage=4" - load_into_chamber() - if(in_chamber) - return 1 - if(power_supply.charge < charge_cost) - return 0 - switch(mode) - if(0) - in_chamber = new /obj/item/projectile/heavylaser(src) - if(1) - in_chamber = new /obj/item/projectile/beam(src) - power_supply.use(charge_cost) - return 1 - - attack_self(mob/living/user as mob) - mode = !mode - switch(mode) - if(0) - user << "\red [src.name] is now set to heavy laser cannon." - fire_sound = 'pulse.ogg' - charge_cost = 150 - if(1) - user << "\red [src.name] is now set to laser." - fire_sound = 'Laser.ogg' - charge_cost = 50 - New() - power_supply = new /obj/item/weapon/cell(src) - power_supply.give(power_supply.maxcharge) - update_icon() - shockgun name = "shock gun" desc = "A high tech energy weapon that stuns and burns a target." diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index c3b0889d723..fc320fcd7ee 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -483,9 +483,9 @@ var/ordernum=0 src.temp = "Current approved orders:

" for(var/S in supply_shuttle_shoppinglist) var/datum/supply_order/SO = S - src.temp += "[SO.object.name] approved by [SO.orderedby][SO.comment ? " ([SO.comment])":""] (Cancel)
" + src.temp += "[SO.object.name] approved by [SO.orderedby][SO.comment ? " ([SO.comment])":""]
"// (Cancel)
" src.temp += "
OK" - +/* else if (href_list["cancelorder"]) var/datum/supply_order/remove_supply = href_list["cancelorder"] supply_shuttle_shoppinglist -= remove_supply @@ -496,7 +496,7 @@ var/ordernum=0 var/datum/supply_order/SO = S src.temp += "[SO.object.name] approved by [SO.orderedby][SO.comment ? " ([SO.comment])":""] (Cancel)
" src.temp += "
OK" - +*/ else if (href_list["viewrequests"]) src.temp = "Current requests:

" for(var/S in supply_shuttle_requestlist) diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm index 26b1cd8f770..38714f246ad 100644 --- a/code/modules/chemical/Chemistry-Reagents.dm +++ b/code/modules/chemical/Chemistry-Reagents.dm @@ -634,6 +634,8 @@ datum ..() return reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) + if(!istype(M, /mob/living)) + return //wooo more runtime fixin if(method == TOUCH) if(istype(M, /mob/living/carbon/human)) if(M:wear_mask) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 55ba7512e65..09ccd89f92c 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -215,9 +215,10 @@ if(ticker.mode.name == "AI malfunction") var/datum/game_mode/malfunction/malf = ticker.mode for (var/datum/mind/malfai in malf.malf_ai) - if (connected_ai.mind == malfai) - if (malf.apcs >= 3) - stat(null, "Time until station control secured: [max(malf.AI_win_timeleft/(malf.apcs/3), 0)] seconds") + if(connected_ai) + if(connected_ai.mind == malfai) + if(malf.apcs >= 3) + stat(null, "Time until station control secured: [max(malf.AI_win_timeleft/(malf.apcs/3), 0)] seconds") else if(ticker.mode:malf_mode_declared) stat(null, "Time left: [max(ticker.mode:AI_win_timeleft/(ticker.mode:apcs/3), 0)]") @@ -226,9 +227,11 @@ else stat(null, text("No Cell Inserted!")) + /mob/living/silicon/robot/restrained() return 0 + /mob/living/silicon/robot/ex_act(severity) flick("flash", flash) @@ -260,6 +263,7 @@ fireloss = f_loss updatehealth() + /mob/living/silicon/robot/meteorhit(obj/O as obj) for(var/mob/M in viewers(src, null)) M.show_message(text("\red [src] has been hit by [O]"), 1) @@ -271,6 +275,7 @@ updatehealth() return + /mob/living/silicon/robot/bullet_act(var/obj/item/projectile/Proj) if(!Proj.nodamage) bruteloss += Proj.damage updatehealth() @@ -278,7 +283,6 @@ return - /mob/living/silicon/robot/Bump(atom/movable/AM as mob|obj, yes) spawn( 0 ) if ((!( yes ) || now_pushing)) @@ -311,15 +315,8 @@ now_pushing = null return return -/* -/mob/living/silicon/robot/proc/firecheck(turf/T as turf) - if (T.firelevel < 900000.0) - return 0 - var/total = 0 - total += 0.25 - return total -*/ + /mob/living/silicon/robot/triggerAlarm(var/class, area/A, var/O, var/alarmsource) if (stat == 2) return 1 @@ -344,6 +341,7 @@ if (viewalerts) robot_alerts() return 1 + /mob/living/silicon/robot/cancelAlarm(var/class, area/A as area, obj/origin) var/list/L = alarms[class] var/cleared = 0 @@ -361,6 +359,7 @@ if (viewalerts) robot_alerts() return !cleared + /mob/living/silicon/robot/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/weldingtool) && W:welding) if (W:remove_fuel(0)) @@ -374,7 +373,6 @@ user << "Need more welding fuel!" return - else if(istype(W, /obj/item/weapon/cable_coil) && wiresexposed) var/obj/item/weapon/cable_coil/coil = W fireloss -= 30 diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 368fb9a7579..fc7cd4fe71c 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -394,11 +394,12 @@ datum/preferences dat += "Play admin midis: [midis == 1 ? "Yes" : "No"]
" dat += "Show chat bubbles: [bubbles == 1 ? "Yes" : "No"]
" - if(user.client.holder) - if(user.client.holder.rank) - if(user.client.holder.rank == "Game Master") - dat += "
OOC
" - dat += "Change colour
__
" + if(user.client) + if(user.client.holder) + if(user.client.holder.rank) + if(user.client.holder.rank == "Game Master") + dat += "
OOC
" + dat += "Change colour
__
" dat += "
Occupation Choices
" if (destructive.Find(occupation[1])) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index b84f50aab16..382d62ee0b3 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1016,18 +1016,9 @@ datum id = "lasercannon" req_tech = list("combat" = 4, "materials" = 3, "powerstorage" = 3) build_type = PROTOLATHE - materials = list("$metal" = 10000) + materials = list("$metal" = 10000, "$glass" = 1000, "$diamond" = 2000) build_path = "/obj/item/weapon/gun/energy/lasercannon" - heavylasercannon - name = "Heavy Laser Cannon" - desc = "A heavy duty laser cannon." - id = "lasercannon" - req_tech = list("combat" = 5, "materials" = 5, "powerstorage" = 5) - build_type = PROTOLATHE - materials = list("$metal" = 10000) - build_path = "/obj/item/weapon/gun/energy/heavy lasercannon" - shockgun name = "Shock Gun" desc = "Your opponent has just lost THE GAME."