diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm
index 08b9e0d7f39..8036fa4dd29 100644
--- a/code/game/machinery/computer/station_alert.dm
+++ b/code/game/machinery/computer/station_alert.dm
@@ -50,5 +50,5 @@
. = ..()
if(machine_stat & (NOPOWER|BROKEN))
return
- if(length(listener.alarms))
+ if(listener && length(listener.alarms)) //skyrat edit: fix createanddestroy
. += "alert:2"
diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm
index 50e39af42a3..fbcd5b2539a 100644
--- a/code/game/objects/effects/decals/cleanable/humans.dm
+++ b/code/game/objects/effects/decals/cleanable/humans.dm
@@ -112,7 +112,7 @@
. = ..()
if(!.)
return
- AddComponent(/datum/component/rot, 0, 5 MINUTES, 0.7)
+ //AddComponent(/datum/component/rot, 0, 5 MINUTES, 0.7) skyrat edit
/obj/effect/decal/cleanable/blood/gibs/ex_act(severity, target)
return FALSE
diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm
index 180d75d51f0..0af5356d0b6 100644
--- a/code/game/objects/items/devices/multitool.dm
+++ b/code/game/objects/items/devices/multitool.dm
@@ -174,6 +174,6 @@
/obj/item/multitool/cyborg//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE
name = "electronic multitool"
desc = "Optimised version of a regular multitool. Streamlines processes handled by its internal microchip."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "multitool_cyborg"
toolspeed = 0.5
diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm
index 25ecab5b2bd..c9b86f96483 100644
--- a/code/game/objects/items/kitchen.dm
+++ b/code/game/objects/items/kitchen.dm
@@ -232,7 +232,7 @@
/obj/item/kitchen/knife/combat/cyborg
name = "cyborg knife"
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "knife_cyborg"
desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable."
diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm
index 626658cb8b4..c68be42f8df 100644
--- a/code/game/objects/items/tools/crowbar.dm
+++ b/code/game/objects/items/tools/crowbar.dm
@@ -201,7 +201,7 @@
/obj/item/crowbar/cyborg//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE
name = "hydraulic crowbar"
desc = "A hydraulic prying tool, simple but powerful."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "crowbar_cyborg"
worn_icon_state = "crowbar"
usesound = 'sound/items/jaws_pry.ogg'
diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm
index e384991f3b9..188b0e2d386 100644
--- a/code/game/objects/items/tools/screwdriver.dm
+++ b/code/game/objects/items/tools/screwdriver.dm
@@ -172,7 +172,7 @@
/obj/item/screwdriver/cyborg//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE
name = "automated screwdriver"
desc = "A powerful automated screwdriver, designed to be both precise and quick."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "screwdriver_cyborg"
hitsound = 'sound/items/drill_hit.ogg'
usesound = 'sound/items/drill_use.ogg'
diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm
index 064b2029b37..cbd4884f964 100644
--- a/code/game/objects/items/tools/weldingtool.dm
+++ b/code/game/objects/items/tools/weldingtool.dm
@@ -324,7 +324,7 @@
/obj/item/weldingtool/largetank/cyborg//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE
name = "integrated welding tool"
desc = "An advanced welder designed to be used in robotic systems. Custom framework doubles the speed of welding."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "indwelder_cyborg"
toolspeed = 0.5
diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm
index ef6d8109517..f39dbae898e 100644
--- a/code/game/objects/items/tools/wirecutters.dm
+++ b/code/game/objects/items/tools/wirecutters.dm
@@ -76,7 +76,7 @@
/obj/item/wirecutters/cyborg//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE
name = "powered wirecutters"
desc = "Cuts wires with the power of ELECTRICITY. Faster than normal wirecutters."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "wirecutters_cyborg"
worn_icon_state = "cutters"
toolspeed = 0.5
diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm
index c4c7c620ce7..fa3bc6913de 100644
--- a/code/game/objects/items/tools/wrench.dm
+++ b/code/game/objects/items/tools/wrench.dm
@@ -74,7 +74,7 @@
/obj/item/wrench/cyborg//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE
name = "hydraulic wrench"
desc = "An advanced robotic wrench, powered by internal hydraulics. Twice as fast as the handheld version."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "wrench_cyborg"
toolspeed = 0.5
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 1f83f6253f9..423d38f26fb 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -244,7 +244,7 @@
/obj/item/toy/gun
name = "cap gun"
desc = "Looks almost like the real thing! Ages 8 and up. Please recycle in an autolathe when you're out of caps."
- icon = 'icons/obj/guns/ballistic.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
icon_state = "revolver"
inhand_icon_state = "gun"
worn_icon_state = "gun"
@@ -1570,7 +1570,7 @@
/obj/item/toy/foamfinger
name = "foam finger"
desc = "root for the home team! wait, does this station even have a sports team?"
- icon = 'icons/obj/guns/ballistic.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
icon_state = "foamfinger"
inhand_icon_state = "foamfinger_inhand"
lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi'
diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm
index 3a0cd977e9f..fe5eaa92f03 100644
--- a/code/game/objects/items/weaponry.dm
+++ b/code/game/objects/items/weaponry.dm
@@ -230,7 +230,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
playsound(user, 'sound/items/screwdriver2.ogg', 50, TRUE)
/obj/item/claymore/highlander/robot //BLOODTHIRSTY BORGS NOW COME IN PLAID
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "claymore_cyborg"
var/mob/living/silicon/robot/robot
diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm
index f1479ddc04d..0d158b2bf9d 100644
--- a/code/game/objects/obj_defense.dm
+++ b/code/game/objects/obj_defense.dm
@@ -191,7 +191,8 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
. = ..()
if((resistance_flags & UNACIDABLE) || (acid_volume <= 0) || acidpwr <= 0)
return FALSE
-
+ if(QDELETED(src)) //skyrat edit: fix createanddestroy
+ return FALSE
AddComponent(/datum/component/acid, acidpwr, acid_volume)
return TRUE
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 20f4b8ba48c..39d8447ffd5 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -537,7 +537,8 @@ GLOBAL_LIST_EMPTY(station_turfs)
. = ..()
if((acidpwr <= 0) || (acid_volume <= 0))
return FALSE
-
+ if(QDELETED(src)) //skyrat edit: fix createanddestroy
+ return FALSE
AddComponent(/datum/component/acid, acidpwr, acid_volume)
for(var/obj/O in src)
if(intact && HAS_TRAIT(O, TRAIT_T_RAY_VISIBLE))
diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm
index 683103ba9bf..c6646d97ee9 100644
--- a/code/modules/antagonists/cult/blood_magic.dm
+++ b/code/modules/antagonists/cult/blood_magic.dm
@@ -796,11 +796,13 @@
/obj/item/melee/blood_magic/manipulator/attack_self(mob/living/user)
if(IS_CULTIST(user))
+ //skyrat edit
var/static/list/spells = list(
"Bloody Halberd (150)" = image(icon = 'icons/obj/items_and_weapons.dmi', icon_state = "occultpoleaxe0"),
- "Blood Bolt Barrage (300)" = image(icon = 'icons/obj/guns/ballistic.dmi', icon_state = "arcane_barrage"),
+ "Blood Bolt Barrage (300)" = image(icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi', icon_state = "arcane_barrage"),
"Blood Beam (500)" = image(icon = 'icons/obj/items_and_weapons.dmi', icon_state = "disintegrate")
)
+ //skyrat edit
var/choice = show_radial_menu(user, src, spells, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE)
if(!check_menu(user))
to_chat(user, span_cultitalic("You decide against conducting a greater blood rite."))
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 3b0601681bf..b592b1fcade 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -1248,7 +1248,7 @@ GLOBAL_LIST_INIT(hallucination_list, list(
halitem.plane = ABOVE_HUD_PLANE
switch(rand(1,6))
if(1) //revolver
- halitem.icon = 'icons/obj/guns/ballistic.dmi'
+ halitem.icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
halitem.icon_state = "revolver"
halitem.name = "Revolver"
if(2) //c4
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 6cdde859678..13f51b902cd 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -1321,4 +1321,5 @@
/mob/living/carbon/proc/attach_rot(mapload)
SIGNAL_HANDLER
- AddComponent(/datum/component/rot, 6 MINUTES, 10 MINUTES, 1)
+ if(mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))
+ AddComponent(/datum/component/rot, 6 MINUTES, 10 MINUTES, 1)
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drone_tools.dm b/code/modules/mob/living/simple_animal/friendly/drone/drone_tools.dm
index 9f7f7605d83..f2a936ad09f 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/drone_tools.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/drone_tools.dm
@@ -42,7 +42,7 @@
/obj/item/crowbar/drone
name = "built-in crowbar"
desc = "A crowbar built into your chassis."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "crowbar_cyborg"
inhand_icon_state = "crowbar"
item_flags = NO_MAT_REDEMPTION
@@ -50,7 +50,7 @@
/obj/item/screwdriver/drone
name = "built-in screwdriver"
desc = "A screwdriver built into your chassis."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "screwdriver_cyborg"
inhand_icon_state = "screwdriver"
item_flags = NO_MAT_REDEMPTION
@@ -69,7 +69,7 @@
/obj/item/wrench/drone
name = "built-in wrench"
desc = "A wrench built into your chassis."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "wrench_cyborg"
inhand_icon_state = "wrench"
item_flags = NO_MAT_REDEMPTION
@@ -77,14 +77,14 @@
/obj/item/weldingtool/drone
name = "built-in welding tool"
desc = "A welding tool built into your chassis."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "indwelder_cyborg"
item_flags = NO_MAT_REDEMPTION
/obj/item/wirecutters/drone
name = "built-in wirecutters"
desc = "Wirecutters built into your chassis."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "wirecutters_cyborg"
inhand_icon_state = "cutters"
item_flags = NO_MAT_REDEMPTION
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
index 33c316f9089..9ff0c082737 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
@@ -77,14 +77,14 @@
/datum/action/innate/megafauna_attack/shotgun
name = "Shotgun Fire"
- icon_icon = 'icons/obj/guns/ballistic.dmi'
+ icon_icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
button_icon_state = "shotgun"
chosen_message = "You are now firing shotgun shots where you aim."
chosen_attack_num = 3
/datum/action/innate/megafauna_attack/alternating_cardinals
name = "Alternating Shots"
- icon_icon = 'icons/obj/guns/ballistic.dmi'
+ icon_icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
button_icon_state = "pistol"
chosen_message = "You are now firing in alternating cardinal directions."
chosen_attack_num = 4
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm
index e477c24225a..2781c932cad 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm
@@ -75,7 +75,7 @@ Difficulty: Extremely Hard
/datum/action/innate/megafauna_attack/ice_shotgun
name = "Fire Ice Shotgun"
- icon_icon = 'icons/obj/guns/ballistic.dmi'
+ icon_icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
button_icon_state = "shotgun"
chosen_message = "You are now firing shotgun ice blasts."
chosen_attack_num = 3
diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm
index 5c7c5462973..068325f9995 100644
--- a/code/modules/projectiles/guns/ballistic.dm
+++ b/code/modules/projectiles/guns/ballistic.dm
@@ -670,7 +670,7 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list(
/obj/item/suppressor
name = "suppressor"
desc = "A syndicate small-arms suppressor for maximum espionage."
- icon = 'icons/obj/guns/ballistic.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
icon_state = "suppressor"
w_class = WEIGHT_CLASS_TINY
diff --git a/code/modules/projectiles/guns/ballistic/bow.dm b/code/modules/projectiles/guns/ballistic/bow.dm
index 57b3e3b078f..d321a81f276 100644
--- a/code/modules/projectiles/guns/ballistic/bow.dm
+++ b/code/modules/projectiles/guns/ballistic/bow.dm
@@ -2,7 +2,7 @@
/obj/item/gun/ballistic/bow
name = "longbow"
desc = "While pretty finely crafted, surely you can find something better to use in the current year."
- icon = 'icons/obj/guns/ballistic.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
icon_state = "bow"
inhand_icon_state = "bow"
load_sound = null
diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm
index 5ab00d22c75..c95ed8190c5 100644
--- a/code/modules/projectiles/guns/energy/laser.dm
+++ b/code/modules/projectiles/guns/energy/laser.dm
@@ -75,7 +75,7 @@
/obj/item/gun/energy/laser/scatter/shotty
name = "energy shotgun"
- icon = 'icons/obj/guns/ballistic.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
icon_state = "cshotgun"
inhand_icon_state = "shotgun"
desc = "A combat shotgun gutted and refitted with an internal laser system. Can switch between taser and scattered disabler shots."
diff --git a/code/modules/projectiles/guns/energy/mounted.dm b/code/modules/projectiles/guns/energy/mounted.dm
index c6d8df7321f..fa0b03f3f1c 100644
--- a/code/modules/projectiles/guns/energy/mounted.dm
+++ b/code/modules/projectiles/guns/energy/mounted.dm
@@ -1,7 +1,7 @@
/obj/item/gun/energy/e_gun/advtaser/mounted
name = "mounted taser"
desc = "An arm mounted dual-mode weapon that fires electrodes and disabler shots."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "taser"
inhand_icon_state = "armcannonstun4"
display_empty = FALSE
@@ -16,7 +16,7 @@
/obj/item/gun/energy/laser/mounted
name = "mounted laser"
desc = "An arm mounted cannon that fires lethal lasers."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "laser_cyborg"
inhand_icon_state = "armcannonlase"
force = 5
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index 1a0a3efc2f3..7d053970d89 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -295,7 +295,7 @@
name = "cyborg lmg"
desc = "An LMG that fires 3D-printed flechettes. They are slowly resupplied using the cyborg's internal power source."
icon_state = "l6_cyborg"
- icon = 'icons/obj/guns/ballistic.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
cell_type = "/obj/item/stock_parts/cell/secborg"
ammo_type = list(/obj/item/ammo_casing/energy/c3dbullet)
can_charge = FALSE
diff --git a/code/modules/projectiles/guns/special/grenade_launcher.dm b/code/modules/projectiles/guns/special/grenade_launcher.dm
index 98b4a0fb75b..f68d6891e8f 100644
--- a/code/modules/projectiles/guns/special/grenade_launcher.dm
+++ b/code/modules/projectiles/guns/special/grenade_launcher.dm
@@ -1,7 +1,7 @@
/obj/item/gun/grenadelauncher
name = "grenade launcher"
desc = "A terrible, terrible thing. It's really awful!"
- icon = 'icons/obj/guns/ballistic.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
icon_state = "riotgun"
inhand_icon_state = "riotgun"
w_class = WEIGHT_CLASS_BULKY
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 6c5b7228d4a..bc61d77c569 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -332,7 +332,7 @@
/obj/item/reagent_containers/spray/chemsprayer
name = "chem sprayer"
desc = "A utility used to spray large amounts of reagents in a given area."
- icon = 'icons/obj/guns/ballistic.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
icon_state = "chemsprayer"
inhand_icon_state = "chemsprayer"
lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi'
diff --git a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm
index d0ab4d7ae02..a60a4306600 100644
--- a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm
+++ b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm
@@ -259,7 +259,7 @@
/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun
name = "exosuit syringe gun"
desc = "Equipment for medical exosuits. A chem synthesizer with syringe gun. Reagents inside are held in stasis, so no reactions will occur."
- icon = 'icons/obj/guns/ballistic.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
icon_state = "syringegun"
range = MECHA_MELEE|MECHA_RANGED
equip_cooldown = 10
diff --git a/modular_skyrat/master_files/code/modules/projectiles/guns/gun.dm b/modular_skyrat/master_files/code/modules/projectiles/guns/gun.dm
index 8da622c2adf..ddddf882a30 100644
--- a/modular_skyrat/master_files/code/modules/projectiles/guns/gun.dm
+++ b/modular_skyrat/master_files/code/modules/projectiles/guns/gun.dm
@@ -5,7 +5,7 @@
/obj/item/gun
name = "gun"
desc = "It's a gun. It's pretty terrible, though."
- icon = 'icons/obj/guns/ballistic.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/ballistic.dmi' //skyrat edit
icon_state = "detective"
inhand_icon_state = "gun"
worn_icon_state = "gun"
diff --git a/modular_skyrat/master_files/icons/donator/obj/clothing/hats.dmi b/modular_skyrat/master_files/icons/donator/obj/clothing/hats.dmi
index 083d3c72a84..7845e74da7f 100644
Binary files a/modular_skyrat/master_files/icons/donator/obj/clothing/hats.dmi and b/modular_skyrat/master_files/icons/donator/obj/clothing/hats.dmi differ
diff --git a/modular_skyrat/master_files/icons/obj/closet.dmi b/modular_skyrat/master_files/icons/obj/closet.dmi
index 87ddecd3489..462c062a486 100644
Binary files a/modular_skyrat/master_files/icons/obj/closet.dmi and b/modular_skyrat/master_files/icons/obj/closet.dmi differ
diff --git a/modular_skyrat/modules/ERT_Factions/FTU/icons/weapons/serviceguns.dmi b/modular_skyrat/modules/ERT_Factions/FTU/icons/weapons/serviceguns.dmi
index 172bdcf73e1..a86d662076c 100644
Binary files a/modular_skyrat/modules/ERT_Factions/FTU/icons/weapons/serviceguns.dmi and b/modular_skyrat/modules/ERT_Factions/FTU/icons/weapons/serviceguns.dmi differ
diff --git a/modular_skyrat/modules/aesthetics/guns/code/guns.dm b/modular_skyrat/modules/aesthetics/guns/code/guns.dm
index f158d0bcbbf..45475327be1 100644
--- a/modular_skyrat/modules/aesthetics/guns/code/guns.dm
+++ b/modular_skyrat/modules/aesthetics/guns/code/guns.dm
@@ -97,7 +97,7 @@
/obj/item/ammo_casing/energy/laser/rainbow
icon = 'modular_skyrat/modules/aesthetics/guns/icons/nucgun.dmi'
- select_name = "fantastic kill"
+ select_name = "kill"
projectile_type = /obj/projectile/beam/laser/rainbow
/obj/projectile/beam/laser/rainbow
@@ -106,7 +106,7 @@
/obj/item/ammo_casing/energy/disabler/rainbow
icon = 'modular_skyrat/modules/aesthetics/guns/icons/nucgun.dmi'
- select_name = "fantastic disable"
+ select_name = "disable"
projectile_type = /obj/projectile/beam/disabler/rainbow
/obj/projectile/beam/disabler/rainbow
@@ -228,18 +228,18 @@
/obj/item/gun/energy/kinetic_accelerator
icon = 'modular_skyrat/modules/aesthetics/guns/icons/energy.dmi'
-
+
/obj/item/gun/ballistic/rifle/boltaction
name = "\improper Mosin Nagant 91-30"
desc = "This piece of junk looks like something that could have been used 700 years ago. It feels slightly moist."
sawn_desc = "An extremely sawn-off Mosin Nagant, popularly known as an \"obrez\". There was probably a reason it wasn't manufactured this short to begin with."
icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns.dmi'
-
+
/obj/item/gun/ballistic/rifle/boltaction/brand_new
name = "\improper Mosin Nagant M39"
desc = "A freshly-produced Mosin Nagant variant issued by Nanotrasen for their interns. You would rather not damage it."
icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns.dmi'
-
+
/obj/item/gun/ballistic/rifle/boltaction/brand_new/quartermaster
name = "\improper FTU 'Archangel' Mosin"
desc = "A very... Modernized MN91-30 rifle, the frame even feels a little flimsy. This thing was probably built with a conversion kit from spaceBay."
@@ -250,7 +250,7 @@
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/bubba
can_be_sawn_off = FALSE
realistic = TRUE
-
+
/obj/item/ammo_box/magazine/internal/boltaction/bubba
name = "mosin nagant extended internal magazine"
desc = "How did you get it out?"
@@ -258,7 +258,7 @@
caliber = CALIBER_A762
max_ammo = 8
multiload = TRUE
-
+
/obj/item/gun/ballistic/automatic/surplus
name = "\improper Type-69 Surplus Rifle"
desc = "One of countless obsolete ballistic rifles that still sees use as a cheap deterrent. Uses 10mm ammo and its bulky frame prevents one-hand firing."
diff --git a/modular_skyrat/modules/aesthetics/guns/icons/energy.dmi b/modular_skyrat/modules/aesthetics/guns/icons/energy.dmi
index bad7b0a09f9..b8a9bec7b74 100644
Binary files a/modular_skyrat/modules/aesthetics/guns/icons/energy.dmi and b/modular_skyrat/modules/aesthetics/guns/icons/energy.dmi differ
diff --git a/modular_skyrat/modules/awaymissions_skyrat/icons/alienblaster.dmi b/modular_skyrat/modules/awaymissions_skyrat/icons/alienblaster.dmi
index 3ac505d8b4b..51c58f0c1f7 100644
Binary files a/modular_skyrat/modules/awaymissions_skyrat/icons/alienblaster.dmi and b/modular_skyrat/modules/awaymissions_skyrat/icons/alienblaster.dmi differ
diff --git a/modular_skyrat/modules/bsa_overhaul/code/bsa_cannon.dm b/modular_skyrat/modules/bsa_overhaul/code/bsa_cannon.dm
index bdd5e833b3b..9e4972db862 100644
--- a/modular_skyrat/modules/bsa_overhaul/code/bsa_cannon.dm
+++ b/modular_skyrat/modules/bsa_overhaul/code/bsa_cannon.dm
@@ -282,8 +282,10 @@
STOP_PROCESSING(SSobj, src)
/obj/machinery/bsa/full/Destroy()
- control_unit.cannon = null
- control_unit = null
+ if(control_unit)
+ if(control_unit.cannon)
+ control_unit.cannon = null
+ control_unit = null
. = ..()
/obj/structure/filler
diff --git a/modular_skyrat/modules/bsa_overhaul/code/bsa_computer.dm b/modular_skyrat/modules/bsa_overhaul/code/bsa_computer.dm
index 9fd27a38e0d..aef4bbcd98b 100644
--- a/modular_skyrat/modules/bsa_overhaul/code/bsa_computer.dm
+++ b/modular_skyrat/modules/bsa_overhaul/code/bsa_computer.dm
@@ -4,7 +4,7 @@
name = "bluespace artillery control"
use_power = NO_POWER_USE
circuit = /obj/item/circuitboard/computer/bsa_control
- icon = 'icons/obj/machines/particle_accelerator.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/particle_accelerator.dmi'
icon_state = "control_boxp"
var/obj/machinery/bsa_powercore/core //The moveable power core link
var/obj/machinery/bsa/full/cannon
diff --git a/modular_skyrat/modules/cell_component/code/cell_component.dm b/modular_skyrat/modules/cell_component/code/cell_component.dm
index 59a32bec3f5..bb3bb48b4bd 100644
--- a/modular_skyrat/modules/cell_component/code/cell_component.dm
+++ b/modular_skyrat/modules/cell_component/code/cell_component.dm
@@ -64,10 +64,10 @@ component_cell_out_of_charge/component_cell_removed proc using loc where necessa
inside_robot = TRUE
else if(start_with_cell)
var/obj/item/stock_parts/cell/new_cell
- if(cell_override)
- new_cell = new cell_override()
- else
+ if(!cell_override)
new_cell = new /obj/item/stock_parts/cell/upgraded()
+ else
+ new_cell = new cell_override()
inserted_cell = new_cell
new_cell.forceMove(parent) //We use the parents location so things like EMP's can interact with the cell.
handle_cell_overlays()
diff --git a/modular_skyrat/modules/central_command_module/code/computers/import_console.dm b/modular_skyrat/modules/central_command_module/code/computers/import_console.dm
index cdde1992175..b6ceb27df7e 100644
--- a/modular_skyrat/modules/central_command_module/code/computers/import_console.dm
+++ b/modular_skyrat/modules/central_command_module/code/computers/import_console.dm
@@ -22,6 +22,12 @@ GLOBAL_LIST_EMPTY(cargo_control_consoles)
for(var/turf/open/floor/iterating_floor in iterating_import_bay)
possible_floors += iterating_floor
+/obj/machinery/computer/cargo_control_console/Destroy()
+ if(radio)
+ QDEL_NULL(radio)
+ . = ..()
+
+
/obj/item/circuitboard/computer/cargo_control_console
name = "Cargo Console (Computer Board)"
greyscale_colors = CIRCUIT_COLOR_ENGINEERING
diff --git a/modular_skyrat/modules/customization/datums/elements/polychromic.dm b/modular_skyrat/modules/customization/datums/elements/polychromic.dm
index 7966abff90b..7fcb071e8c1 100644
--- a/modular_skyrat/modules/customization/datums/elements/polychromic.dm
+++ b/modular_skyrat/modules/customization/datums/elements/polychromic.dm
@@ -16,9 +16,12 @@
return
var/obj/item/our_thing = target
var/list/finished_list = list()
- finished_list += ReadRGB("[colors[1]]0")
- finished_list += ReadRGB("[colors[2]]0")
- finished_list += ReadRGB("[colors[3]]0")
+ for(var/read_color in 1 to colors.len)
+ finished_list += ReadRGB("[colors[read_color]]0")
+ var/remaining_count = 3 - length(colors)
+ if(remaining_count > 0)
+ for(var/remaining_color in 1 to remaining_count)
+ finished_list += ReadRGB("FFF0")
finished_list += list(0,0,0,255)
for(var/index in 1 to finished_list.len)
finished_list[index] /= 255
diff --git a/modular_skyrat/modules/demon_floor/code/floor_demon.dm b/modular_skyrat/modules/demon_floor/code/floor_demon.dm
index 44eb96ac336..c266df31b66 100644
--- a/modular_skyrat/modules/demon_floor/code/floor_demon.dm
+++ b/modular_skyrat/modules/demon_floor/code/floor_demon.dm
@@ -59,7 +59,10 @@ GLOBAL_LIST_EMPTY(cluwne_maze)
return //we use a different hud
/mob/living/simple_animal/hostile/floor_cluwne/Destroy()
- QDEL_NULL(poi)
+ if(poi)
+ QDEL_NULL(poi)
+ if(cluwnehole)
+ QDEL_NULL(cluwnehole)
if(current_victim)
current_victim = null
return ..()
diff --git a/modular_skyrat/modules/exp_corps/code/clothing.dm b/modular_skyrat/modules/exp_corps/code/clothing.dm
index 3b4e0c8f302..f7d665ade60 100644
--- a/modular_skyrat/modules/exp_corps/code/clothing.dm
+++ b/modular_skyrat/modules/exp_corps/code/clothing.dm
@@ -196,10 +196,6 @@
my_helmet.disable_nv()
my_helmet.update_appearance()
-/obj/item/clothing/head/helmet/expeditionary_corps/ComponentInitialize()
- . = ..()
- AddElement(/datum/element/update_icon_updates_onmob)
-
/obj/item/clothing/head/helmet/expeditionary_corps/equipped(mob/user, slot)
. = ..()
current_user = user
diff --git a/modular_skyrat/modules/fixing_missing_icons/ballistic.dmi b/modular_skyrat/modules/fixing_missing_icons/ballistic.dmi
new file mode 100644
index 00000000000..889a4b0c993
Binary files /dev/null and b/modular_skyrat/modules/fixing_missing_icons/ballistic.dmi differ
diff --git a/modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi b/modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi
new file mode 100644
index 00000000000..be94bccea53
Binary files /dev/null and b/modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi differ
diff --git a/modular_skyrat/modules/fixing_missing_icons/particle_accelerator.dmi b/modular_skyrat/modules/fixing_missing_icons/particle_accelerator.dmi
new file mode 100644
index 00000000000..d5ef494a0f6
Binary files /dev/null and b/modular_skyrat/modules/fixing_missing_icons/particle_accelerator.dmi differ
diff --git a/modular_skyrat/modules/gunsgalore/icons/guns/mg34/mg34.dmi b/modular_skyrat/modules/gunsgalore/icons/guns/mg34/mg34.dmi
index a165431817f..743eeba98d2 100644
Binary files a/modular_skyrat/modules/gunsgalore/icons/guns/mg34/mg34.dmi and b/modular_skyrat/modules/gunsgalore/icons/guns/mg34/mg34.dmi differ
diff --git a/modular_skyrat/modules/implants/code/organs/augments_arms.dm b/modular_skyrat/modules/implants/code/organs/augments_arms.dm
index 3a1ab7fe226..0640e9371e9 100644
--- a/modular_skyrat/modules/implants/code/organs/augments_arms.dm
+++ b/modular_skyrat/modules/implants/code/organs/augments_arms.dm
@@ -37,7 +37,7 @@
/obj/item/organ/cyberimp/arm/hacker
name = "hacking arm implant"
desc = "An small arm implant containing an advanced screwdriver, wirecutters, and multitool designed for engineers and on-the-field machine modification. Actually legal, despite what the name may make you think."
- icon ='icons/obj/items_cyborg.dmi'
+ icon ='modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "multitool_cyborg"
items_to_create = list(/obj/item/screwdriver/cyborg, /obj/item/wirecutters/cyborg, /obj/item/multitool/abductor/implant)
@@ -49,7 +49,7 @@
/obj/item/multitool/abductor/implant
name = "multitool"
desc = "An optimized, highly advanced stripped-down multitool able to interface with electronics far better than its standard counterpart."
- icon = 'icons/obj/items_cyborg.dmi'
+ icon = 'modular_skyrat/modules/fixing_missing_icons/items_cyborg.dmi' //skyrat edit
icon_state = "multitool_cyborg"
/obj/item/organ/cyberimp/arm/janitor
diff --git a/modular_skyrat/modules/liquids/code/liquid_systems/liquid_effect.dm b/modular_skyrat/modules/liquids/code/liquid_systems/liquid_effect.dm
index 36527b767d7..72f0b814c56 100644
--- a/modular_skyrat/modules/liquids/code/liquid_systems/liquid_effect.dm
+++ b/modular_skyrat/modules/liquids/code/liquid_systems/liquid_effect.dm
@@ -444,9 +444,9 @@
SEND_SIGNAL(my_turf, COMSIG_TURF_LIQUIDS_CREATION, src)
update_liquid_vis()
-
- QUEUE_SMOOTH(src)
- QUEUE_SMOOTH_NEIGHBORS(src)
+ if(z)
+ QUEUE_SMOOTH(src)
+ QUEUE_SMOOTH_NEIGHBORS(src)
/* //Cant do it immediately, hmhm
if(isspaceturf(my_turf))
diff --git a/modular_skyrat/modules/mapping/icons/machinery/gps_computer.dmi b/modular_skyrat/modules/mapping/icons/machinery/gps_computer.dmi
index 38b103ddf75..e5a2aaded35 100644
Binary files a/modular_skyrat/modules/mapping/icons/machinery/gps_computer.dmi and b/modular_skyrat/modules/mapping/icons/machinery/gps_computer.dmi differ
diff --git a/modular_skyrat/modules/modular_items/icons/obj/items/tools.dmi b/modular_skyrat/modules/modular_items/icons/obj/items/tools.dmi
index dbd5085f699..44933aa1682 100644
Binary files a/modular_skyrat/modules/modular_items/icons/obj/items/tools.dmi and b/modular_skyrat/modules/modular_items/icons/obj/items/tools.dmi differ
diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm
index 109232dac81..8258bbe27f3 100644
--- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm
+++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm
@@ -282,11 +282,6 @@
"pinkn" = image(icon = src.icon, icon_state = "dephelmet_pinkn"),
"tealn" = image(icon = src.icon, icon_state = "dephelmet_tealn"))
-//to update model
-/obj/item/clothing/head/helmet/space/deprivation_helmet/ComponentInitialize()
- . = ..()
- AddElement(/datum/element/update_icon_updates_onmob)
-
//to change model
/obj/item/clothing/head/helmet/space/deprivation_helmet/AltClick(mob/user, obj/item/I)
if(color_changed == FALSE)
diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile.dmi
index 3e3d97fc81f..410bb551109 100644
Binary files a/modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile.dmi and b/modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile.dmi differ
diff --git a/modular_skyrat/modules/sec_haul/icons/guns/g11.dmi b/modular_skyrat/modules/sec_haul/icons/guns/g11.dmi
index ca1c43138e3..7d17f727404 100644
Binary files a/modular_skyrat/modules/sec_haul/icons/guns/g11.dmi and b/modular_skyrat/modules/sec_haul/icons/guns/g11.dmi differ
diff --git a/modular_skyrat/modules/sec_haul/icons/guns/norwind.dmi b/modular_skyrat/modules/sec_haul/icons/guns/norwind.dmi
index ce7f0e7b2ae..c05509da30e 100644
Binary files a/modular_skyrat/modules/sec_haul/icons/guns/norwind.dmi and b/modular_skyrat/modules/sec_haul/icons/guns/norwind.dmi differ
diff --git a/modular_skyrat/modules/sec_haul/icons/guns/ostwind.dmi b/modular_skyrat/modules/sec_haul/icons/guns/ostwind.dmi
index 0b470221db9..3f2d26a819a 100644
Binary files a/modular_skyrat/modules/sec_haul/icons/guns/ostwind.dmi and b/modular_skyrat/modules/sec_haul/icons/guns/ostwind.dmi differ
diff --git a/modular_skyrat/modules/sec_haul/icons/guns/pcr.dmi b/modular_skyrat/modules/sec_haul/icons/guns/pcr.dmi
index 85978c18768..8e8fb126853 100644
Binary files a/modular_skyrat/modules/sec_haul/icons/guns/pcr.dmi and b/modular_skyrat/modules/sec_haul/icons/guns/pcr.dmi differ
diff --git a/modular_skyrat/modules/sec_haul/icons/guns/pcr2.dmi b/modular_skyrat/modules/sec_haul/icons/guns/pcr2.dmi
index 6b46f438081..87bb9f4fdd2 100644
Binary files a/modular_skyrat/modules/sec_haul/icons/guns/pcr2.dmi and b/modular_skyrat/modules/sec_haul/icons/guns/pcr2.dmi differ
diff --git a/modular_skyrat/modules/sec_haul/icons/guns/pdh.dmi b/modular_skyrat/modules/sec_haul/icons/guns/pdh.dmi
index 7c45b267f90..ccc4ce5d10a 100644
Binary files a/modular_skyrat/modules/sec_haul/icons/guns/pdh.dmi and b/modular_skyrat/modules/sec_haul/icons/guns/pdh.dmi differ
diff --git a/modular_skyrat/modules/sec_haul/icons/guns/pitbull.dmi b/modular_skyrat/modules/sec_haul/icons/guns/pitbull.dmi
index f3f44682930..d429b62a3a7 100644
Binary files a/modular_skyrat/modules/sec_haul/icons/guns/pitbull.dmi and b/modular_skyrat/modules/sec_haul/icons/guns/pitbull.dmi differ
diff --git a/modular_skyrat/modules/sec_haul/icons/guns/smartgun.dmi b/modular_skyrat/modules/sec_haul/icons/guns/smartgun.dmi
index 8586b215afb..ef61aa8667f 100644
Binary files a/modular_skyrat/modules/sec_haul/icons/guns/smartgun.dmi and b/modular_skyrat/modules/sec_haul/icons/guns/smartgun.dmi differ