diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index 4d07dc41b64..5159093b96f 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -3782,9 +3782,8 @@ /area/tdome/tdomeobserve) "lm" = ( /obj/effect/forcefield, -/obj/structure/door_assembly{ +/obj/structure/door_assembly/door_assembly_uranium{ anchored = 1; - icon_state = "door_as_uranium1"; name = "Bridge" }, /turf/simulated/floor/plasteel/cult, @@ -4347,9 +4346,8 @@ /turf/simulated/floor/plating, /area/syndicate_mothership) "mQ" = ( -/obj/structure/door_assembly{ +/obj/structure/door_assembly/door_assembly_uranium{ anchored = 1; - icon_state = "door_as_uranium1"; name = "Break Room" }, /turf/simulated/floor/plasteel/cult, @@ -5032,9 +5030,8 @@ }, /area/shuttle/syndicate) "oB" = ( -/obj/structure/door_assembly{ +/obj/structure/door_assembly/door_assembly_uranium{ anchored = 1; - icon_state = "door_as_uranium1"; name = "Corridor A" }, /turf/simulated/floor/plasteel/cult, diff --git a/code/ATMOSPHERICS/components/components_base.dm b/code/ATMOSPHERICS/components/components_base.dm index 9fa02ba76a0..4429f181721 100644 --- a/code/ATMOSPHERICS/components/components_base.dm +++ b/code/ATMOSPHERICS/components/components_base.dm @@ -67,9 +67,10 @@ Pipenet stuff; housekeeping /obj/machinery/atmospherics/components/nullifyNode(I) ..() - nullifyPipenet(PARENT_I) - qdel(AIR_I) - AIR_I = null + if(NODE_I) + nullifyPipenet(PARENT_I) + qdel(AIR_I) + AIR_I = null /obj/machinery/atmospherics/components/construction() ..() diff --git a/code/ATMOSPHERICS/components/unary_devices/tank.dm b/code/ATMOSPHERICS/components/unary_devices/tank.dm index cfbaf0ad995..44ab5048460 100644 --- a/code/ATMOSPHERICS/components/unary_devices/tank.dm +++ b/code/ATMOSPHERICS/components/unary_devices/tank.dm @@ -66,5 +66,5 @@ /obj/machinery/atmospherics/components/unary/tank/air/New() ..() var/datum/gas_mixture/air_contents = AIR1 - air_contents.oxygen = AIR_CONTENTS - air_contents.nitrogen = AIR_CONTENTS \ No newline at end of file + air_contents.oxygen = AIR_CONTENTS * 0.2 + air_contents.nitrogen = AIR_CONTENTS * 0.8 \ No newline at end of file diff --git a/code/ATMOSPHERICS/pipes/heat_exchange/he_pipes.dm b/code/ATMOSPHERICS/pipes/heat_exchange/he_pipes.dm index 30c7bf9e630..8920b51e916 100644 --- a/code/ATMOSPHERICS/pipes/heat_exchange/he_pipes.dm +++ b/code/ATMOSPHERICS/pipes/heat_exchange/he_pipes.dm @@ -49,13 +49,11 @@ pipe_air.temperature = avg_temp buckled_mob.bodytemperature = avg_temp + /obj/machinery/atmospherics/pipe/heat_exchanging/process() var/datum/gas_mixture/pipe_air = return_air() - //Burn any mobs buckled to ourselves based on our temperature - if(buckled_mob) - var/heat_limit = 1000 - if(pipe_air.temperature > heat_limit + 1) - buckled_mob.apply_damage(4 * log(pipe_air.temperature - heat_limit), BURN, "chest") + if(!pipe_air) + return //machines subsystem fires before atmos is initialized so this prevents race condition runtimes //Heat causes pipe to glow if(pipe_air.temperature && (icon_temperature > 500 || pipe_air.temperature > 500)) //glow starts at 500K @@ -72,4 +70,10 @@ h_g = 64 + (h_g - 64) * scale h_b = 64 + (h_b - 64) * scale - animate(src, color = rgb(h_r, h_g, h_b), time = 20, easing = SINE_EASING) \ No newline at end of file + animate(src, color = rgb(h_r, h_g, h_b), time = 20, easing = SINE_EASING) + + //burn any mobs buckled based on temperature + if(buckled_mob) + var/heat_limit = 1000 + if(pipe_air.temperature > heat_limit + 1) + buckled_mob.apply_damage(4 * log(pipe_air.temperature - heat_limit), BURN, "chest") diff --git a/code/ATMOSPHERICS/pipes/pipes.dm b/code/ATMOSPHERICS/pipes/pipes.dm index 3930cca92d9..ca295939ceb 100644 --- a/code/ATMOSPHERICS/pipes/pipes.dm +++ b/code/ATMOSPHERICS/pipes/pipes.dm @@ -21,7 +21,8 @@ /obj/machinery/atmospherics/pipe/nullifyNode(I) var/obj/machinery/atmospherics/oldN = NODE_I ..() - oldN.build_network() + if(oldN) + oldN.build_network() /obj/machinery/atmospherics/pipe/update_icon() //overridden by manifolds if(NODE1&&NODE2) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index fadd5898320..6010a872712 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -100,7 +100,7 @@ var/list/uplink_items = list() category = "Conspicuous and Dangerous Weapons" /datum/uplink_item/dangerous/pistol - name = "Syndicate Pistol" + name = "FK-69 Pistol" desc = "A small, easily concealable handgun that uses 10mm auto rounds in 8-round magazines and is compatible with suppressors." item = /obj/item/weapon/gun/projectile/automatic/pistol cost = 9 diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index de7870fca2a..71e6512b68b 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -294,7 +294,7 @@ desc = "We turn our skin into tough chitin to protect us from damage." helptext = "Upkeep of the armor requires a low expenditure of chemicals. The armor is strong against brute force, but does not provide much protection from lasers. Retreating the armor damages our genomes. Cannot be used in lesser form." chemical_cost = 20 - dna_cost = 2 + dna_cost = 1 genetic_damage = 11 req_human = 1 max_genetic_damage = 20 @@ -311,7 +311,7 @@ icon_state = "lingarmor" flags = NODROP body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - armor = list(melee = 40, bullet = 30, laser = 30, energy = 13, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 70, bullet = 50, laser = 70, energy = 50, bomb = 10, bio = 4, rad = 0) flags_inv = HIDEJUMPSUIT cold_protection = 0 heat_protection = 0 @@ -329,7 +329,7 @@ desc = "A tough, hard covering of black chitin with transparent chitin in front." icon_state = "lingarmorhelmet" flags = BLOCKHAIR | NODROP - armor = list(melee = 40, bullet = 30, laser = 30,energy = 10, bomb = 5, bio = 2, rad = 0) + armor = list(melee = 60, bullet = 30, laser = 60, energy = 30, bomb = 10, bio = 4, rad = 0) flags_inv = HIDEEARS flags_cover = HEADCOVERSEYES diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index fa97aea7600..e485a62657d 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -224,9 +224,8 @@ for(var/mob/living/player in player_list) if(player.mind && player.mind != owner) if(player.stat != DEAD) - switch(player.type) - if(/mob/living/silicon/ai, /mob/living/silicon/pai) - continue + if(istype(player, /mob/living/silicon)) //Borgs are technically dead anyways + continue if(get_area(player) == A) if(!player.mind.special_role && !istype(get_turf(player.mind.current), /turf/simulated/floor/plasteel/shuttle/red)) return 0 @@ -248,9 +247,8 @@ for(var/mob/living/player in player_list) //Make sure nobody else is onboard if(player.mind && player.mind != owner) if(player.stat != DEAD) - switch(player.type) - if(/mob/living/silicon/ai, /mob/living/silicon/pai) - continue + if(istype(player, /mob/living/silicon)) + continue if(get_area(player) == A) if(player.real_name != owner.current.real_name && !istype(get_turf(player.mind.current), /turf/simulated/floor/plasteel/shuttle/red)) return 0 @@ -258,9 +256,8 @@ for(var/mob/living/player in player_list) //Make sure at least one of you is onboard if(player.mind && player.mind != owner) if(player.stat != DEAD) - switch(player.type) - if(/mob/living/silicon/ai, /mob/living/silicon/pai) - continue + if(istype(player, /mob/living/silicon)) + continue if(get_area(player) == A) if(player.real_name == owner.current.real_name && !istype(get_turf(player.mind.current), /turf/simulated/floor/plasteel/shuttle/red)) return 1 diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index 46798a3b64d..8d95dd4ed16 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -18,7 +18,7 @@ endWhen = rand(25, 100) for(var/obj/machinery/atmospherics/components/unary/vent_scrubber/temp_vent in machines) if(temp_vent.loc.z == ZLEVEL_STATION && !temp_vent.welded) - var/datum/pipeline/temp_vent_parent = temp_vent.parents["p1"] + var/datum/pipeline/temp_vent_parent = temp_vent.PARENT1 if(temp_vent_parent.other_atmosmch.len > 20) vents += temp_vent if(!vents.len) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 6ba4a45ef3c..7ce373846e3 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -839,7 +839,7 @@ Sorry Giacom. Please don't be mad :( else if(istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) var/obj/machinery/atmospherics/components/unary/cryo_cell/C = loc - var/datum/gas_mixture/G = C.airs["a1"] + var/datum/gas_mixture/G = C.AIR1 if(G.total_moles() < 10) loc_temp = environment.temperature diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 3c20121b19a..86ce5ad77dc 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -18,13 +18,14 @@ needs_permit = 0 /obj/item/weapon/gun/energy/laser/retro - name ="retro laser" + name ="retro laser gun" icon_state = "retro" desc = "An older model of the basic lasergun, no longer used by Nanotrasen's private security or military forces. Nevertheless, it is still quite deadly and easy to maintain, making it a favorite amongst pirates and other outlaws." ammo_x_offset = 3 /obj/item/weapon/gun/energy/laser/captain + name = "\improper QSJ 01 Premium laser pistol" icon_state = "caplaser" item_state = "caplaser" desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding." diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 3fa2f35d76c..941699010c2 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -16,6 +16,7 @@ update_icon() /obj/item/weapon/gun/energy/gun/hos + name = "\improper X-01 MultiPhase Energy Gun" desc = "This is a expensive, modern recreation of a antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time." icon_state = "hoslaser" force = 10 @@ -23,7 +24,7 @@ ammo_x_offset = 4 /obj/item/weapon/gun/energy/gun/dragnet - name = "DRAGnet" + name = "\improper DRAGnet" desc = "The \"Dynamic Rapid-Apprehension of the Guilty\" net is a revolution in law enforcement technology." icon_state = "dragnet" origin_tech = "combat=3;magnets=3;materials=4; bluespace=4" diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index cb3c942ad25..faea41888db 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -122,7 +122,7 @@ /obj/item/weapon/gun/energy/mindflayer - name = "mind flayer" + name = "\improper Mind Flayer" desc = "A prototype weapon recovered from the ruins of Research-Station Epsilon." icon_state = "xray" ammo_type = list(/obj/item/ammo_casing/energy/mindflayer) diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index dbe5f398808..c1bf9ae0254 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -9,7 +9,7 @@ action_button_name = "Toggle Firemode" /obj/item/weapon/gun/projectile/automatic/proto - name = "prototype SMG" + name = "\improper NanoTrasen Saber SMG" desc = "A prototype three-round burst 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors." icon_state = "saber" mag_type = /obj/item/ammo_box/magazine/smgm9mm @@ -80,7 +80,7 @@ return /obj/item/weapon/gun/projectile/automatic/c20r - name = "syndicate SMG" + name = "\improper C-20r SMG" desc = "A bullpup two-round burst .45 SMG, designated 'C-20r'. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp." icon_state = "c20r" item_state = "c20r" @@ -125,7 +125,7 @@ return /obj/item/weapon/gun/projectile/automatic/mini_uzi - name = "uzi" + name = "\improper 'Type U3' Uzi" desc = "A lightweight, burst-fire submachine gun, for when you really want someone dead. Uses 9mm rounds." icon_state = "mini-uzi" origin_tech = "combat=5;materials=2;syndicate=8" @@ -133,7 +133,7 @@ burst_size = 2 /obj/item/weapon/gun/projectile/automatic/l6_saw - name = "syndicate LMG" + name = "\improper L6 SAW LMG" desc = "A heavily modified 7.62 light machine gun, designated 'L6 SAW'. Has 'Aussec Armoury - 2531' engraved on the receiver below the designation." icon_state = "l6closed100" item_state = "l6closedmag" @@ -193,7 +193,7 @@ ..() /obj/item/weapon/gun/projectile/automatic/m90 - name = "syndicate carbine" + name = "\improper M-90gl Carbine" desc = "A three-round burst 5.56 toploading carbine, designated 'M-90gl'. Has an attached underbarrel grenade launcher which can be toggled on and off." icon_state = "m90" item_state = "m90" @@ -267,7 +267,7 @@ return /obj/item/weapon/gun/projectile/automatic/tommygun - name = "thompson SMG" + name = "\improper Thompson SMG" desc = "Based on the classic 'Chicago Typewriter'." icon_state = "tommygun" item_state = "shotgun" @@ -281,7 +281,7 @@ fire_delay = 1 /obj/item/weapon/gun/projectile/automatic/ar - name = "ARG" + name = "\improper NT-ARG 'Boarder'" desc = "A robust assault rile used by Nanotrasen fighting forces." icon_state = "arg" item_state = "arg" diff --git a/code/modules/projectiles/guns/projectile/launchers.dm b/code/modules/projectiles/guns/projectile/launchers.dm index 506f51e306c..a3cd08ccfaa 100644 --- a/code/modules/projectiles/guns/projectile/launchers.dm +++ b/code/modules/projectiles/guns/projectile/launchers.dm @@ -30,7 +30,7 @@ return /obj/item/weapon/gun/projectile/automatic/gyropistol - name = "gyrojet pistol" + name = "\improper Gyrojet rocket pistol" desc = "A prototype pistol designed to fire self propelled rockets." icon_state = "gyropistol" fire_sound = 'sound/weapons/grenadelaunch.ogg' diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 7e3635defc1..97fbda944f3 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -1,5 +1,5 @@ /obj/item/weapon/gun/projectile/automatic/pistol - name = "syndicate pistol" + name = "\improper FK-69 pistol" desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors." icon_state = "pistol" w_class = 2 @@ -16,7 +16,7 @@ return /obj/item/weapon/gun/projectile/automatic/pistol/m1911 - name = "M1911 pistol" + name = "\improper M1911 pistol" desc = "A classic .45 handgun with a small magazine capacity." icon_state = "m1911" w_class = 3 @@ -24,7 +24,7 @@ can_suppress = 0 /obj/item/weapon/gun/projectile/automatic/pistol/deagle - name = "desert eagle" + name = "\improper Desert Eagle pistol" desc = "A robust .50 AE handgun." icon_state = "deagle" force = 14 diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 1a9c2fdd071..86df409121b 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -1,5 +1,5 @@ /obj/item/weapon/gun/projectile/revolver - name = "revolver" + name = "\improper .357 revolver" desc = "A suspicious revolver. Uses .357 ammo." //usually used by syndicates icon_state = "revolver" mag_type = /obj/item/ammo_box/magazine/internal/cylinder @@ -57,6 +57,7 @@ user << "[get_ammo(0,0)] of those are live rounds." /obj/item/weapon/gun/projectile/revolver/detective + name = "\improper .38 Mars Special" desc = "A cheap Martian knock-off of a classic law enforcement firearm. Uses .38-special rounds." icon_state = "detective" origin_tech = "combat=2;materials=2" @@ -115,8 +116,8 @@ /obj/item/weapon/gun/projectile/revolver/mateba - name = "autorevolver" - desc = "A retro high-powered mateba autorevolver typically used by officers of the New Russia military. Uses .357 ammo." + name = "\improper Unica 6 auto-revolver" + desc = "A retro high-powered autorevolver typically used by officers of the New Russia military. Uses .357 ammo." icon_state = "mateba" origin_tech = "combat=2;materials=2" @@ -125,7 +126,7 @@ // You can spin the chamber to randomize the position of the bullet. /obj/item/weapon/gun/projectile/revolver/russian - name = "russian revolver" + name = "\improper russian revolver" desc = "A Russian-made revolver for drinking games. Uses .357 ammo, and has a mechanism requiring you to spin the chamber before each trigger pull." origin_tech = "combat=2;materials=2" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rus357 diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index cc253a9e66e..18ed36b8016 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -85,8 +85,8 @@ /////////////////////// /obj/item/weapon/gun/projectile/shotgun/boltaction - name = "bolt action rifle" - desc = "This piece of junk looks like something that could have been used 700 years ago." + name = "\improper Mosin Nagant rifle" + desc = "This piece of junk looks like something that could have been used 700 years ago. It feels slightly moist." icon_state = "moistnugget" item_state = "moistnugget" slot_flags = 0 //no SLOT_BACK sprite, alas @@ -248,7 +248,7 @@ // Bulldog shotgun // /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog - name = "syndicate shotgun" + name = "\improper MLG-12 'Bulldog' Shotgun" desc = "A semi-auto, mag-fed shotgun for combat in narrow corridors, nicknamed 'Bulldog' by boarding parties. Compatible only with specialized 8-round drum magazines." icon_state = "bulldog" item_state = "bulldog" diff --git a/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm index f763cd1f201..72b835cfb3d 100644 --- a/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Other-Reagents.dm @@ -21,13 +21,13 @@ if(istype(data)) SetViruses(src, data) -/datum/reagent/blood/on_merge(list/data) - if(src.data && data) - src.data["cloneable"] = 0 //On mix, consider the genetic sampling unviable for pod cloning, or else we won't know who's even getting cloned, etc - if(src.data["viruses"] || data["viruses"]) +/datum/reagent/blood/on_merge(list/mix_data) + if(data && mix_data) + data["cloneable"] = 0 //On mix, consider the genetic sampling unviable for pod cloning, or else we won't know who's even getting cloned, etc + if(data["viruses"] || mix_data["viruses"]) var/list/mix1 = data["viruses"] - var/list/mix2 = data["viruses"] + var/list/mix2 = mix_data["viruses"] // Stop issues with the list changing during mixing. var/list/to_mix = list() @@ -40,10 +40,10 @@ var/datum/disease/advance/AD = Advance_Mix(to_mix) if(AD) var/list/preserve = list(AD) - for(var/D in src.data["viruses"]) + for(var/D in data["viruses"]) if(!istype(D, /datum/disease/advance)) preserve += D - src.data["viruses"] = preserve + data["viruses"] = preserve return 1 /datum/reagent/blood/reaction_turf(turf/simulated/T, reac_volume)//splash the blood all over the place diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 88c008128a8..bfb0909d3ed 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -126,7 +126,7 @@ category = list("Weapons") /datum/design/smg - name = "Prototype Submachine Gun" + name = "NanoTrasen Saber SMG" desc = "A prototype weapon made using lightweight materials on a traditional frame, designed to fire standard 9mm rounds." id = "smg" req_tech = list("combat" = 4, "materials" = 3) diff --git a/html/changelog.html b/html/changelog.html index 450653912d3..5a9cfeb36e9 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,23 @@ -->