diff --git a/code/game/dna.dm b/code/game/dna.dm index 59ebdfd69d3..1ede0cf37e9 100644 --- a/code/game/dna.dm +++ b/code/game/dna.dm @@ -902,7 +902,7 @@ return if(!istype(usr.loc, /turf)) return - if(!src || !src.connected || !src.connected.occupant || !src.connected.occupant.dna) + if(!src || !src.connected) return if ((usr.contents.Find(src) || in_range(src, usr) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon))) usr.machine = src @@ -911,6 +911,10 @@ src.connected.locked = !( src.connected.locked ) //////////////////////////////////////////////////////// if (href_list["genpulse"]) + if(!src.connected.occupant || !src.connected.occupant.dna)//Makes sure someone is in there (And valid) before trying anything + src.temphtml = text("No viable occupant detected.")//More than anything, this just acts as a sanity check in case the option DOES appear for whatever reason + usr << browse(temphtml, "window=scannernew;size=550x650") + onclose(usr, "scannernew") src.delete = 1 src.temphtml = text("Working ... Please wait ([] Seconds)", src.radduration) usr << browse(temphtml, "window=scannernew;size=550x650") @@ -943,11 +947,19 @@ src.temphtml += text("-- Intesity ++
", src, src) src.delete = 0 if (href_list["radleplus"]) + if(!src.connected.occupant || !src.connected.occupant.dna) + src.temphtml = text("No viable occupant detected.") + usr << browse(temphtml, "window=scannernew;size=550x650") + onclose(usr, "scannernew") if (src.radduration < 20) src.radduration++ src.radduration++ dopage(src,"radset") if (href_list["radleminus"]) + if(!src.connected.occupant || !src.connected.occupant.dna) + src.temphtml = text("No viable occupant detected.") + usr << browse(temphtml, "window=scannernew;size=550x650") + onclose(usr, "scannernew") if (src.radduration > 2) src.radduration-- src.radduration-- @@ -962,6 +974,10 @@ dopage(src,"radset") //////////////////////////////////////////////////////// if (href_list["unimenu"]) + if(!src.connected.occupant || !src.connected.occupant.dna) + src.temphtml = text("No viable occupant detected.") + usr << browse(temphtml, "window=scannernew;size=550x650") + onclose(usr, "scannernew") //src.temphtml = text("Unique Identifier: []

", src.connected.occupant.dna.uni_identity) //src.temphtml = text("Unique Identifier: [getleftblocks(src.connected.occupant.dna.uni_identity,uniblock,3)][src.subblock == 1 ? ""+getblock(getblock(src.connected.occupant.dna.uni_identity,src.uniblock,3),1,1)+"" : getblock(getblock(src.connected.occupant.dna.uni_identity,src.uniblock,3),1,1)][src.subblock == 2 ? ""+getblock(getblock(src.connected.occupant.dna.uni_identity,src.uniblock,3),2,1)+"" : getblock(getblock(src.connected.occupant.dna.uni_identity,src.uniblock,3),2,1)][src.subblock == 3 ? ""+getblock(getblock(src.connected.occupant.dna.uni_identity,src.uniblock,3),3,1)+"" : getblock(getblock(src.connected.occupant.dna.uni_identity,src.uniblock,3),3,1)][getrightblocks(src.connected.occupant.dna.uni_identity,uniblock,3)]

") @@ -1090,6 +1106,10 @@ src.delete = 0 //////////////////////////////////////////////////////// if (href_list["rejuv"]) + if(!src.connected.occupant || !src.connected.occupant.dna) + src.temphtml = text("No viable occupant detected.") + usr << browse(temphtml, "window=scannernew;size=550x650") + onclose(usr, "scannernew") var/mob/living/carbon/human/H = src.connected.occupant if(H) if (H.reagents.get_reagent_amount("inaprovaline") < 60) diff --git a/code/game/mecha/combat/honker.dm b/code/game/mecha/combat/honker.dm index a874ec9805a..bf7aac9c92f 100644 --- a/code/game/mecha/combat/honker.dm +++ b/code/game/mecha/combat/honker.dm @@ -35,29 +35,39 @@ return /obj/mecha/combat/honker/get_stats_part() + var/integrity = health/initial(health)*100 var/cell_charge = get_charge() - var/output = {"[internal_damage&MECHA_INT_FIRE?"INTERNAL FIRE
":null] + var/tank_pressure = internal_tank ? round(internal_tank.return_pressure(),0.01) : "None" + var/tank_temperature = internal_tank ? internal_tank.return_temperature() : "Unknown" + var/cabin_pressure = round(return_pressure(),0.01) + var/output = {"[report_internal_damage()] + [integrity<30?"DAMAGE LEVEL CRITICAL
":null] [internal_damage&MECHA_INT_TEMP_CONTROL?"CLOWN SUPPORT SYSTEM MALFUNCTION
":null] [internal_damage&MECHA_INT_TANK_BREACH?"GAS TANK HONK
":null] [internal_damage&MECHA_INT_CONTROL_LOST?"HONK-A-DOODLE - Recalibrate
":null] - IntegriHONK: [health/initial(health)*100] %)
- PowerHONK charge: [isnull(cell_charge)?"Someone HONKed powerHonk!!!":"[cell.percent()]%"])
- Air source: [use_internal_tank?"Internal AirHONK":"EnvironHONK"]
- AirHONK pressure: [src.return_pressure()]HoNKs
- Internal HONKature: [src.return_temperature()]°honK|[src.return_temperature() - T0C]°honCk
+ IntegriHONK: [integrity]%
+ PowerHONK charge: [isnull(cell_charge)?"No powercell installed":"[cell.percent()]%"]
+ Air source: [use_internal_tank?"Internal Airtank":"Environment"]
+ AirHONK pressure: [tank_pressure]kPa
+ AirHONK temperature: [tank_temperature]°K|[tank_temperature - T0C]°C
+ HONK pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure]": cabin_pressure]kPa
+ HONK temperature: [return_temperature()]°K|[return_temperature() - T0C]°C
Lights: [lights?"on":"off"]
+ [src.dna?"DNA-locked:
[src.dna] \[Reset\]
":null] "} return output - /obj/mecha/combat/honker/get_stats_html() var/output = {" [src.name] data @@ -68,8 +78,7 @@ setInterval(function(){ window.location='byond://?src=\ref[src]&update_content=1'; document.body.style.color = get_rand_color_string(); - document.body.style.background = get_rand_color_string(); - + document.body.style.background = get_rand_color_string(); }, 1000); } @@ -87,7 +96,7 @@ } - +
[src.get_stats_part()]
@@ -95,7 +104,9 @@ [src.get_equipment_list()]
+
[src.get_commands()] +
"} diff --git a/code/game/objects/storage/belt.dm b/code/game/objects/storage/belt.dm index 68bd8dc33cf..bc403b705be 100644 --- a/code/game/objects/storage/belt.dm +++ b/code/game/objects/storage/belt.dm @@ -105,7 +105,7 @@ storage_slots = 4 can_hold = list( "/obj/item/weapon/grenade/flashbang", - "/obj/item/weapon/pepperspray", + "/obj/item/weapon/reagent_containers/spray/pepper", "/obj/item/weapon/handcuffs", "/obj/item/device/flash", "/obj/item/clothing/glasses", diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 2a0357a7ab9..816a07d22c0 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -10,7 +10,12 @@ charge_cost = 100 projectile_type = "/obj/item/projectile/ion" - +/obj/item/weapon/gun/energy/ionrifle/emp_act(severity) + if(severity <= 2) + power_supply.use(round(power_supply.maxcharge / severity)) + update_icon() + else + return /obj/item/weapon/gun/energy/decloner name = "biological demolecularisor" diff --git a/html/changelog.html b/html/changelog.html index f517da49e47..d077584d6a7 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -47,6 +47,16 @@ should be listed in the changelog upon commit tho. Thanks. --> +
+

August 14, 2012

+

Sieve updated:

+ +
+

August 11, 2012

Sieve updated: