This commit is contained in:
Ghommie
2020-03-08 19:26:01 +01:00
parent d78926b269
commit ad4d290ea7
89 changed files with 443 additions and 498 deletions
+1 -1
View File
@@ -255,7 +255,7 @@
return return
return ..() return ..()
/obj/structure/AIcore/update_icon() /obj/structure/AIcore/update_icon_state()
switch(state) switch(state)
if(EMPTY_CORE) if(EMPTY_CORE)
icon_state = "0" icon_state = "0"
+1 -2
View File
@@ -234,8 +234,7 @@
if(status == BURST) if(status == BURST)
obj_integrity = integrity_failure * max_integrity obj_integrity = integrity_failure * max_integrity
/obj/structure/alien/egg/update_icon() /obj/structure/alien/egg/update_icon_state()
..()
switch(status) switch(status)
if(GROWING) if(GROWING)
icon_state = "[base_icon]_growing" icon_state = "[base_icon]_growing"
+1 -1
View File
@@ -303,7 +303,7 @@ LINEN BINS
. += "There are [amount] sheets in the bin." . += "There are [amount] sheets in the bin."
/obj/structure/bedsheetbin/update_icon() /obj/structure/bedsheetbin/update_icon_state()
switch(amount) switch(amount)
if(0) if(0)
icon_state = "linenbin-empty" icon_state = "linenbin-empty"
@@ -58,30 +58,40 @@
return ..() return ..()
/obj/structure/closet/update_icon() /obj/structure/closet/update_icon()
cut_overlays() . = ..()
if(opened & icon_door_override) if(!opened)
add_overlay("[icon_door]_open")
layer = OBJ_LAYER layer = OBJ_LAYER
return
else if(opened)
add_overlay("[icon_state]_open")
return
if(icon_door)
add_overlay("[icon_door]_door")
else else
layer = BELOW_OBJ_LAYER layer = BELOW_OBJ_LAYER
add_overlay("[icon_state]_door")
if(welded) /obj/structure/closet/update_overlays()
add_overlay("welded") . = ..()
if(!secure) closet_update_overlays(.)
return
if(broken) /obj/structure/closet/proc/closet_update_overlays(list/new_overlays)
add_overlay("off") . = new_overlays
add_overlay("sparking") if(!opened)
else if(locked) if(icon_door)
add_overlay("locked") . += "[icon_door]_door"
else
. += "[icon_state]_door"
if(welded)
. += "welded"
if(!secure)
return
if(broken)
. += "off"
. += "sparking"
else if(locked)
. += "locked"
else
. += "unlocked"
else else
add_overlay("unlocked") if(icon_door_override)
. += "[icon_door]_open"
else
. += "[icon_state]_open"
/obj/structure/closet/examine(mob/user) /obj/structure/closet/examine(mob/user)
. = ..() . = ..()
@@ -38,10 +38,10 @@
tagged = 0 tagged = 0
update_icon() update_icon()
/obj/structure/closet/body_bag/update_icon() /obj/structure/closet/body_bag/update_overlays()
..() . = ..()
if (tagged) if (tagged)
add_overlay("bodybag_label") . += "bodybag_label"
/obj/structure/closet/body_bag/close() /obj/structure/closet/body_bag/close()
if(..()) if(..())
@@ -33,12 +33,13 @@
return 1 return 1
return !density return !density
/obj/structure/closet/crate/update_icon() /obj/structure/closet/crate/update_icon_state()
icon_state = "[initial(icon_state)][opened ? "open" : ""]" icon_state = "[initial(icon_state)][opened ? "open" : ""]"
cut_overlays() /obj/structure/closet/crate/closet_update_overlays(list/new_overlays)
. = new_overlays
if(manifest) if(manifest)
add_overlay("manifest") . += "manifest"
/obj/structure/closet/crate/attack_hand(mob/user) /obj/structure/closet/crate/attack_hand(mob/user)
. = ..() . = ..()
@@ -14,15 +14,15 @@
..() ..()
update_icon() update_icon()
/obj/structure/closet/crate/bin/update_icon() /obj/structure/closet/crate/bin/closet_update_overlays(list/new_overlays)
..() . = new_overlays
cut_overlays() cut_overlays()
if(contents.len == 0) if(contents.len == 0)
add_overlay("largebing") . += "largebing"
else if(contents.len >= storage_capacity) else if(contents.len >= storage_capacity)
add_overlay("largebinr") . += "largebinr"
else else
add_overlay("largebino") . += "largebino"
/obj/structure/closet/crate/bin/attackby(obj/item/W, mob/user, params) /obj/structure/closet/crate/bin/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/storage/bag/trash)) if(istype(W, /obj/item/storage/bag/trash))
@@ -22,14 +22,14 @@
return ..() return ..()
/obj/structure/closet/crate/critter/update_icon() /obj/structure/closet/crate/critter/closet_update_overlays(list/new_overlays)
cut_overlays() . = new_overlays
if(opened) if(opened)
add_overlay("crittercrate_door_open") . += "crittercrate_door_open"
else else
add_overlay("crittercrate_door") . += "crittercrate_door"
if(manifest) if(manifest)
add_overlay("manifest") . += "manifest"
/obj/structure/closet/crate/critter/return_air() /obj/structure/closet/crate/critter/return_air()
if(tank) if(tank)
@@ -13,14 +13,14 @@
return 0 return 0
. = ..() . = ..()
/obj/structure/closet/crate/secure/update_icon() /obj/structure/closet/crate/secure/update_overlays()
..() . += ..()
if(broken) if(broken)
add_overlay("securecrateemag") . += "securecrateemag"
else if(locked) else if(locked)
add_overlay("securecrater") . += "securecrater"
else else
add_overlay("securecrateg") . += "securecrateg"
/obj/structure/closet/crate/secure/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) /obj/structure/closet/crate/secure/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1)
if(prob(tamperproof) && damage_amount >= DAMAGE_PRECISION) if(prob(tamperproof) && damage_amount >= DAMAGE_PRECISION)
+1 -1
View File
@@ -84,7 +84,7 @@
alarmed.burglaralert(src) alarmed.burglaralert(src)
playsound(src, 'sound/effects/alert.ogg', 50, 1) playsound(src, 'sound/effects/alert.ogg', 50, 1)
/obj/structure/displaycase/update_icon() /obj/structure/displaycase/update_icon_state()
var/icon/I var/icon/I
if(open) if(open)
I = icon('icons/obj/stationobjs.dmi',"glassbox_open") I = icon('icons/obj/stationobjs.dmi',"glassbox_open")
+1 -1
View File
@@ -44,7 +44,7 @@
addtimer(CALLBACK(src, /atom/.proc/update_icon), time_between_uses) addtimer(CALLBACK(src, /atom/.proc/update_icon), time_between_uses)
/obj/structure/healingfountain/update_icon() /obj/structure/healingfountain/update_icon_state()
if(last_process + time_between_uses > world.time) if(last_process + time_between_uses > world.time)
icon_state = "fountain" icon_state = "fountain"
else else
@@ -260,13 +260,13 @@
update_name() update_name()
update_icon() update_icon()
/obj/structure/door_assembly/update_icon() /obj/structure/door_assembly/update_overlays()
cut_overlays() . = ..()
if(!glass) if(!glass)
add_overlay(get_airlock_overlay("fill_construction", icon)) . += get_airlock_overlay("fill_construction", icon)
else if(glass) else if(glass)
add_overlay(get_airlock_overlay("glass_construction", overlays_file)) . += get_airlock_overlay("glass_construction", overlays_file)
add_overlay(get_airlock_overlay("panel_c[state+1]", overlays_file)) . += get_airlock_overlay("panel_c[state+1]", overlays_file)
/obj/structure/door_assembly/proc/update_name() /obj/structure/door_assembly/proc/update_name()
name = "" name = ""
+1 -1
View File
@@ -116,7 +116,7 @@
opened = !opened opened = !opened
update_icon() update_icon()
/obj/structure/extinguisher_cabinet/update_icon() /obj/structure/extinguisher_cabinet/update_icon_state()
if(!opened) if(!opened)
icon_state = "extinguisher_closed" icon_state = "extinguisher_closed"
return return
+1 -1
View File
@@ -64,7 +64,7 @@
update_icon() update_icon()
air_update_turf(TRUE) air_update_turf(TRUE)
/obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open /obj/structure/falsewall/update_icon_state()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open
if(opening) if(opening)
if(density) if(density)
icon_state = "fwall_opening" icon_state = "fwall_opening"
+11 -11
View File
@@ -140,30 +140,30 @@
update_icon() update_icon()
return return
/obj/structure/fireaxecabinet/update_icon() /obj/structure/fireaxecabinet/update_overlays()
cut_overlays() . = ..()
if(fireaxe) if(fireaxe)
add_overlay("axe") . += "axe"
if(!open) if(!open)
var/hp_percent = obj_integrity/max_integrity * 100 var/hp_percent = obj_integrity/max_integrity * 100
if(broken) if(broken)
add_overlay("glass4") . += "glass4"
else else
switch(hp_percent) switch(hp_percent)
if(-INFINITY to 40) if(-INFINITY to 40)
add_overlay("glass3") . += "glass3"
if(40 to 60) if(40 to 60)
add_overlay("glass2") . += "glass2"
if(60 to 80) if(60 to 80)
add_overlay("glass1") . += "glass1"
if(80 to INFINITY) if(80 to INFINITY)
add_overlay("glass") . += "glass"
if(locked) if(locked)
add_overlay("locked") . += "locked"
else else
add_overlay("unlocked") . += "unlocked"
else else
add_overlay("glass_raised") . += "glass_raised"
/obj/structure/fireaxecabinet/proc/toggle_lock(mob/user) /obj/structure/fireaxecabinet/proc/toggle_lock(mob/user)
to_chat(user, "<span class = 'caution'> Resetting circuitry...</span>") to_chat(user, "<span class = 'caution'> Resetting circuitry...</span>")
+16 -15
View File
@@ -69,21 +69,22 @@
else else
. = ..() . = ..()
/obj/structure/fireplace/update_icon() /obj/structure/fireplace/update_overlays()
cut_overlays() . = ..()
if(lit) if(!lit)
switch(burn_time_remaining()) return
if(0 to 500) switch(burn_time_remaining())
add_overlay("fireplace_fire0") if(0 to 500)
if(500 to 1000) . += "fireplace_fire0"
add_overlay("fireplace_fire1") if(500 to 1000)
if(1000 to 1500) . += "fireplace_fire1"
add_overlay("fireplace_fire2") if(1000 to 1500)
if(1500 to 2000) . += "fireplace_fire2"
add_overlay("fireplace_fire3") if(1500 to 2000)
if(2000 to MAXIMUM_BURN_TIMER) . += "fireplace_fire3"
add_overlay("fireplace_fire4") if(2000 to MAXIMUM_BURN_TIMER)
add_overlay("fireplace_glow") . += "fireplace_fire4"
. += "fireplace_glow"
/obj/structure/fireplace/proc/adjust_light() /obj/structure/fireplace/proc/adjust_light()
if(!lit) if(!lit)
+1 -1
View File
@@ -22,7 +22,7 @@
. = ..() . = ..()
update_icon() update_icon()
/obj/structure/grille/update_icon() /obj/structure/grille/update_icon_state()
if(QDELETED(src) || broken) if(QDELETED(src) || broken)
return return
+5 -5
View File
@@ -22,17 +22,17 @@
break break
update_icon() update_icon()
/obj/structure/guncase/update_icon() /obj/structure/guncase/update_overlays()
cut_overlays() . = ..()
if(case_type && LAZYLEN(contents)) if(case_type && LAZYLEN(contents))
var/mutable_appearance/gun_overlay = mutable_appearance(icon, case_type) var/mutable_appearance/gun_overlay = mutable_appearance(icon, case_type)
for(var/i in 1 to contents.len) for(var/i in 1 to contents.len)
gun_overlay.pixel_x = 3 * (i - 1) gun_overlay.pixel_x = 3 * (i - 1)
add_overlay(gun_overlay) . += gun_overlay
if(open) if(open)
add_overlay("[icon_state]_open") . += "[icon_state]_open"
else else
add_overlay("[icon_state]_door") . += "[icon_state]_door"
/obj/structure/guncase/attackby(obj/item/I, mob/user, params) /obj/structure/guncase/attackby(obj/item/I, mob/user, params)
if(iscyborg(user) || isalien(user)) if(iscyborg(user) || isalien(user))
+4 -4
View File
@@ -28,14 +28,14 @@
. = ..() . = ..()
pixel_x = rand(-8, 8) pixel_x = rand(-8, 8)
/obj/structure/headpike/update_icon() /obj/structure/headpike/update_overlays()
..() . = ..()
var/obj/item/bodypart/head/H = locate() in contents var/obj/item/bodypart/head/H = locate() in contents
var/mutable_appearance/MA = new()
if(H) if(H)
var/mutable_appearance/MA = new()
MA.copy_overlays(H) MA.copy_overlays(H)
MA.pixel_y = 12 MA.pixel_y = 12
add_overlay(H) . += H
/obj/structure/headpike/attack_hand(mob/user) /obj/structure/headpike/attack_hand(mob/user)
. = ..() . = ..()
+9 -9
View File
@@ -161,20 +161,20 @@
updateUsrDialog() updateUsrDialog()
/obj/structure/janitorialcart/update_icon() /obj/structure/janitorialcart/update_overlays()
cut_overlays() . = ..()
if(mybag) if(mybag)
add_overlay("cart_garbage") . += "cart_garbage"
if(mymop) if(mymop)
add_overlay("cart_mop") . += "cart_mop"
if(mybroom) if(mybroom)
add_overlay("cart_broom") . += "cart_broom"
if(myspray) if(myspray)
add_overlay("cart_spray") . += "cart_spray"
if(myreplacer) if(myreplacer)
add_overlay("cart_replacer") . += "cart_replacer"
if(signs) if(signs)
add_overlay("cart_sign[signs]") . += "cart_sign[signs]"
if(reagents.total_volume > 0) if(reagents.total_volume > 0)
add_overlay("cart_water") . += "cart_water"
+1 -1
View File
@@ -55,7 +55,7 @@
down.update_icon() down.update_icon()
up = down = null up = down = null
/obj/structure/ladder/update_icon() /obj/structure/ladder/update_icon_state()
if(up && down) if(up && down)
icon_state = "ladder11" icon_state = "ladder11"
+1 -1
View File
@@ -46,7 +46,7 @@
STOP_PROCESSING(SSobj, src) STOP_PROCESSING(SSobj, src)
set_light(0) set_light(0)
/obj/structure/life_candle/update_icon() /obj/structure/life_candle/update_icon_state()
if(linked_minds.len) if(linked_minds.len)
icon_state = icon_state_active icon_state = icon_state_active
else else
@@ -118,7 +118,7 @@
update_icon() update_icon()
isSwitchingStates = 0 isSwitchingStates = 0
/obj/structure/mineral_door/update_icon() /obj/structure/mineral_door/update_icon_state()
if(state) if(state)
icon_state = "[initial_state]open" icon_state = "[initial_state]open"
else else
+3 -3
View File
@@ -23,7 +23,7 @@
else else
return ..() return ..()
/obj/structure/mopbucket/update_icon() /obj/structure/mopbucket/update_overlays()
cut_overlays() . = ..()
if(reagents.total_volume > 0) if(reagents.total_volume > 0)
add_overlay("mopbucket_water") . += "mopbucket_water"
+6 -12
View File
@@ -45,9 +45,6 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an
..() ..()
update_icon() update_icon()
/obj/structure/bodycontainer/update_icon()
return
/obj/structure/bodycontainer/relaymove(mob/user) /obj/structure/bodycontainer/relaymove(mob/user)
if(user.stat || !isturf(loc)) if(user.stat || !isturf(loc))
return return
@@ -174,7 +171,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an
to_chat(user, "<span class='notice'>You turn the speaker function [beeper ? "on" : "off"].</span>") to_chat(user, "<span class='notice'>You turn the speaker function [beeper ? "on" : "off"].</span>")
return TRUE return TRUE
/obj/structure/bodycontainer/morgue/update_icon() /obj/structure/bodycontainer/morgue/update_icon_state()
if (!connected || connected.loc != src) // Open or tray is gone. if (!connected || connected.loc != src) // Open or tray is gone.
icon_state = "morgue0" icon_state = "morgue0"
else else
@@ -228,20 +225,17 @@ GLOBAL_LIST_EMPTY(crematoriums)
GLOB.crematoriums.Add(src) GLOB.crematoriums.Add(src)
..() ..()
/obj/structure/bodycontainer/crematorium/update_icon() /obj/structure/bodycontainer/crematorium/update_icon_state()
if(!connected || connected.loc != src) if(!connected || connected.loc != src)
icon_state = "crema0" icon_state = "crema0"
else else
if(contents.len > 1)
if(src.contents.len > 1) icon_state = "crema2"
src.icon_state = "crema2"
else else
src.icon_state = "crema1" icon_state = "crema1"
if(locked) if(locked)
src.icon_state = "crema_active" icon_state = "crema_active"
return
/obj/structure/bodycontainer/crematorium/proc/cremate(mob/user) /obj/structure/bodycontainer/crematorium/proc/cremate(mob/user)
if(locked) if(locked)
+2 -2
View File
@@ -13,7 +13,7 @@ FLOOR SAFES
anchored = TRUE anchored = TRUE
density = TRUE density = TRUE
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT
var/open = FALSE //is the safe open? var/open = FALSE //is the safe open?
var/tumbler_1_pos //the tumbler position- from 0 to 72 var/tumbler_1_pos //the tumbler position- from 0 to 72
var/tumbler_1_open //the tumbler position to open at- 0 to 72 var/tumbler_1_open //the tumbler position to open at- 0 to 72
@@ -73,7 +73,7 @@ FLOOR SAFES
num = 0 num = 0
return num return num
/obj/structure/safe/update_icon() /obj/structure/safe/update_icon_state()
if(open) if(open)
icon_state = "[initial(icon_state)]-open" icon_state = "[initial(icon_state)]-open"
else else
+1 -1
View File
@@ -54,7 +54,7 @@
return FALSE return FALSE
return ..() return ..()
/obj/structure/stairs/update_icon() /obj/structure/stairs/update_icon_state()
if(isTerminator()) if(isTerminator())
icon_state = "stairs_t" icon_state = "stairs_t"
else else
@@ -25,18 +25,18 @@
new /obj/item/tank/internals/plasma(src) new /obj/item/tank/internals/plasma(src)
update_icon() update_icon()
/obj/structure/tank_dispenser/update_icon() /obj/structure/tank_dispenser/update_overlays()
cut_overlays() . = ..()
switch(oxygentanks) switch(oxygentanks)
if(1 to 3) if(1 to 3)
add_overlay("oxygen-[oxygentanks]") . += "oxygen-[oxygentanks]"
if(4 to TANK_DISPENSER_CAPACITY) if(4 to TANK_DISPENSER_CAPACITY)
add_overlay("oxygen-4") . += "oxygen-4"
switch(plasmatanks) switch(plasmatanks)
if(1 to 4) if(1 to 4)
add_overlay("plasma-[plasmatanks]") . += "plasma-[plasmatanks]"
if(5 to TANK_DISPENSER_CAPACITY) if(5 to TANK_DISPENSER_CAPACITY)
add_overlay("plasma-5") . += "plasma-5"
/obj/structure/tank_dispenser/attackby(obj/item/I, mob/user, params) /obj/structure/tank_dispenser/attackby(obj/item/I, mob/user, params)
var/full var/full
@@ -19,7 +19,7 @@
empty_pod() empty_pod()
return ..() return ..()
/obj/structure/transit_tube_pod/update_icon() /obj/structure/transit_tube_pod/update_icon_state()
if(contents.len) if(contents.len)
icon_state = "pod_occupied" icon_state = "pod_occupied"
else else
+25 -27
View File
@@ -72,7 +72,7 @@
update_icon() update_icon()
/obj/structure/toilet/update_icon() /obj/structure/toilet/update_icon_state()
icon_state = "toilet[open][cistern]" icon_state = "toilet[open][cistern]"
@@ -216,8 +216,6 @@
density = FALSE density = FALSE
use_power = NO_POWER_USE use_power = NO_POWER_USE
var/on = FALSE var/on = FALSE
var/obj/effect/mist/mymist = null
var/ismist = 0 //needs a var so we can make it linger~
var/watertemp = "normal" //freezing, normal, or boiling var/watertemp = "normal" //freezing, normal, or boiling
var/datum/looping_sound/showering/soundloop var/datum/looping_sound/showering/soundloop
@@ -240,6 +238,7 @@
/obj/machinery/shower/interact(mob/M) /obj/machinery/shower/interact(mob/M)
on = !on on = !on
update_icon() update_icon()
handle_mist()
add_fingerprint(M) add_fingerprint(M)
if(on) if(on)
START_PROCESSING(SSmachines, src) START_PROCESSING(SSmachines, src)
@@ -280,31 +279,30 @@
return TRUE return TRUE
/obj/machinery/shower/update_icon() //this is terribly unreadable, but basically it makes the shower mist up /obj/machinery/shower/update_overlays()
cut_overlays() //once it's been on for a while, in addition to handling the water overlay. . = ..()
if(mymist)
qdel(mymist)
if(on) if(on)
add_overlay(mutable_appearance('icons/obj/watercloset.dmi', "water", ABOVE_MOB_LAYER)) . += mutable_appearance('icons/obj/watercloset.dmi', "water", ABOVE_MOB_LAYER)
if(watertemp == "freezing")
return
if(!ismist)
spawn(50)
if(src && on)
ismist = 1
mymist = new /obj/effect/mist(loc)
else
ismist = 1
mymist = new /obj/effect/mist(loc)
else if(ismist)
ismist = 1
mymist = new /obj/effect/mist(loc)
spawn(250)
if(!on && mymist)
qdel(mymist)
ismist = 0
/obj/machinery/shower/proc/handle_mist()
// If there is no mist, and the shower was turned on (on a non-freezing temp): make mist in 5 seconds
// If there was already mist, and the shower was turned off (or made cold): remove the existing mist in 25 sec
var/obj/effect/mist/mist = locate() in loc
if(!mist && on && watertemp != "freezing")
addtimer(CALLBACK(src, .proc/make_mist), 5 SECONDS)
if(mist && (!on || watertemp == "freezing"))
addtimer(CALLBACK(src, .proc/clear_mist), 25 SECONDS)
/obj/machinery/shower/proc/make_mist()
var/obj/effect/mist/mist = locate() in loc
if(!mist && on && watertemp != "freezing")
new /obj/effect/mist(loc)
/obj/machinery/shower/proc/clear_mist()
var/obj/effect/mist/mist = locate() in loc
if(mist && (!on || watertemp == "freezing"))
qdel(mist)
/obj/machinery/shower/Crossed(atom/movable/AM) /obj/machinery/shower/Crossed(atom/movable/AM)
..() ..()
@@ -692,7 +690,7 @@
open = !open open = !open
update_icon() update_icon()
/obj/structure/curtain/update_icon() /obj/structure/curtain/update_icon_state()
if(!open) if(!open)
icon_state = "closed" icon_state = "closed"
layer = WALL_OBJ_LAYER layer = WALL_OBJ_LAYER
@@ -47,7 +47,7 @@
setDir(ini_dir) setDir(ini_dir)
move_update_air(T) move_update_air(T)
/obj/structure/windoor_assembly/update_icon() /obj/structure/windoor_assembly/update_icon_state()
icon_state = "[facing]_[secure ? "secure_" : ""]windoor_assembly[state]" icon_state = "[facing]_[secure ? "secure_" : ""]windoor_assembly[state]"
/obj/structure/windoor_assembly/CanPass(atom/movable/mover, turf/target) /obj/structure/windoor_assembly/CanPass(atom/movable/mover, turf/target)
+11 -15
View File
@@ -18,7 +18,6 @@
var/obj/item/stack/sheet/glass_type = /obj/item/stack/sheet/glass var/obj/item/stack/sheet/glass_type = /obj/item/stack/sheet/glass
var/cleanable_type = /obj/effect/decal/cleanable/glass var/cleanable_type = /obj/effect/decal/cleanable/glass
var/glass_amount = 1 var/glass_amount = 1
var/mutable_appearance/crack_overlay
can_be_unanchored = TRUE can_be_unanchored = TRUE
resistance_flags = ACID_PROOF resistance_flags = ACID_PROOF
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100)
@@ -337,22 +336,19 @@
queue_smooth_neighbors(src) queue_smooth_neighbors(src)
//merges adjacent full-tile windows into one //merges adjacent full-tile windows into one
/obj/structure/window/update_icon() /obj/structure/window/update_overlays()
if(!QDELETED(src)) . = ..()
if(!fulltile) if(QDELETED(src) || !fulltile)
return return
var/ratio = obj_integrity / max_integrity
ratio = CEILING(ratio*4, 1) * 25
var/ratio = obj_integrity / max_integrity if(smooth)
ratio = CEILING(ratio*4, 1) * 25 queue_smooth(src)
if(smooth) if(ratio > 75)
queue_smooth(src) return
. += mutable_appearance('icons/obj/structures.dmi', "damage[ratio]", -(layer+0.1))
cut_overlay(crack_overlay)
if(ratio > 75)
return
crack_overlay = mutable_appearance('icons/obj/structures.dmi', "damage[ratio]", -(layer+0.1))
add_overlay(crack_overlay)
/obj/structure/window/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) /obj/structure/window/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
@@ -419,8 +419,9 @@
<br> <br>
Congratulations! You are now trained for invasive xenobiology research!"} Congratulations! You are now trained for invasive xenobiology research!"}
/obj/item/paper/guides/antag/abductor/update_icon() /obj/item/paper/guides/antag/abductor/ComponentInitialize()
return . = ..()
AddElement(/datum/element/update_icon_blocker)
/obj/item/paper/guides/antag/abductor/AltClick() /obj/item/paper/guides/antag/abductor/AltClick()
return //otherwise it would fold into a paperplane. return //otherwise it would fold into a paperplane.
@@ -442,6 +443,10 @@
w_class = WEIGHT_CLASS_NORMAL w_class = WEIGHT_CLASS_NORMAL
actions_types = list(/datum/action/item_action/toggle_mode) actions_types = list(/datum/action/item_action/toggle_mode)
/obj/item/abductor/baton/ComponentInitialize()
. = ..()
AddElement(/datum/element/update_icon_updates_onmob)
/obj/item/abductor/baton/proc/toggle(mob/living/user=usr) /obj/item/abductor/baton/proc/toggle(mob/living/user=usr)
mode = (mode+1)%BATON_MODES mode = (mode+1)%BATON_MODES
var/txt var/txt
@@ -458,7 +463,7 @@
to_chat(usr, "<span class='notice'>You switch the baton to [txt] mode.</span>") to_chat(usr, "<span class='notice'>You switch the baton to [txt] mode.</span>")
update_icon() update_icon()
/obj/item/abductor/baton/update_icon() /obj/item/abductor/baton/update_icon_state()
switch(mode) switch(mode)
if(BATON_STUN) if(BATON_STUN)
icon_state = "wonderprodStun" icon_state = "wonderprodStun"
@@ -223,7 +223,7 @@
return return
/obj/machinery/abductor/experiment/update_icon() /obj/machinery/abductor/experiment/update_icon_state()
if(state_open) if(state_open)
icon_state = "experiment-open" icon_state = "experiment-open"
else else
@@ -258,7 +258,7 @@
/obj/structure/bloodsucker/vassalrack/proc/torture_victim(mob/living/user, mob/living/target) /obj/structure/bloodsucker/vassalrack/proc/torture_victim(mob/living/user, mob/living/target)
var/datum/antagonist/bloodsucker/bloodsuckerdatum = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) var/datum/antagonist/bloodsucker/bloodsuckerdatum = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)
// Check Bloodmob/living/M, force = FALSE, check_loc = TRUE // Check Bloodmob/living/M, force = FALSE, check_loc = TRUE
var/convert_cost = 200 + 200 * bloodsuckerdatum.vassals var/convert_cost = 200 + 200 * bloodsuckerdatum.vassals
if(user.blood_volume < convert_cost + 5) if(user.blood_volume < convert_cost + 5)
to_chat(user, "<span class='notice'>You don't have enough blood to initiate the Dark Communion with [target].</span>") to_chat(user, "<span class='notice'>You don't have enough blood to initiate the Dark Communion with [target].</span>")
return return
@@ -449,7 +449,7 @@
/obj/structure/bloodsucker/candelabrum/Destroy() /obj/structure/bloodsucker/candelabrum/Destroy()
STOP_PROCESSING(SSobj, src) STOP_PROCESSING(SSobj, src)
/obj/structure/bloodsucker/candelabrum/update_icon() /obj/structure/bloodsucker/candelabrum/update_icon_state()
icon_state = "candelabrum[lit ? "_lit" : ""]" icon_state = "candelabrum[lit ? "_lit" : ""]"
/obj/structure/bloodsucker/candelabrum/examine(mob/user) /obj/structure/bloodsucker/candelabrum/examine(mob/user)
@@ -251,6 +251,7 @@
return TRUE return TRUE
/obj/effect/clockwork/sigil/transmission/update_icon() /obj/effect/clockwork/sigil/transmission/update_icon()
. = ..()
var/power_charge = get_clockwork_power() var/power_charge = get_clockwork_power()
if(GLOB.ratvar_awakens) if(GLOB.ratvar_awakens)
alpha = 255 alpha = 255
+2 -2
View File
@@ -372,7 +372,7 @@
max = 40 max = 40
prefix = "darkened" prefix = "darkened"
/obj/item/sharpener/cult/update_icon() /obj/item/sharpener/cult/update_icon_state()
var/old_state = icon_state var/old_state = icon_state
icon_state = "cult_sharpener[used ? "_used" : ""]" icon_state = "cult_sharpener[used ? "_used" : ""]"
if(old_state != icon_state) if(old_state != icon_state)
@@ -688,7 +688,7 @@
qdel(spear_act) qdel(spear_act)
..() ..()
/obj/item/twohanded/cult_spear/update_icon() /obj/item/twohanded/cult_spear/update_icon_state()
icon_state = "bloodspear[wielded]" icon_state = "bloodspear[wielded]"
/obj/item/twohanded/cult_spear/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) /obj/item/twohanded/cult_spear/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
@@ -49,7 +49,7 @@
else else
to_chat(user, "<span class='warning'>[user] fails to implant [M].</span>") to_chat(user, "<span class='warning'>[user] fails to implant [M].</span>")
/obj/item/overthrow_converter/update_icon() /obj/item/overthrow_converter/update_icon_state()
if(uses) if(uses)
icon_state = "implanter1" icon_state = "implanter1"
else else
@@ -76,8 +76,9 @@
icon_state = "demon_heart-on" icon_state = "demon_heart-on"
decay_factor = 0 decay_factor = 0
/obj/item/organ/heart/demon/update_icon() /obj/item/organ/heart/demon/ComponentInitialize()
return //always beating visually . = ..()
AddElement(/datum/element/update_icon_blocker)
/obj/item/organ/heart/demon/attack(mob/M, mob/living/carbon/user, obj/target) /obj/item/organ/heart/demon/attack(mob/M, mob/living/carbon/user, obj/target)
if(M != user) if(M != user)
+7 -5
View File
@@ -19,15 +19,17 @@
/obj/item/onetankbomb/examine(mob/user) /obj/item/onetankbomb/examine(mob/user)
bombtank.examine(user) bombtank.examine(user)
/obj/item/onetankbomb/update_icon() /obj/item/onetankbomb/update_icon_state()
cut_overlays()
if(bombtank) if(bombtank)
icon = bombtank.icon icon = bombtank.icon
icon_state = bombtank.icon_state icon_state = bombtank.icon_state
/obj/item/onetankbomb/update_overlays()
. = ..()
if(bombassembly) if(bombassembly)
add_overlay(bombassembly.icon_state) . += bombassembly.icon_state
copy_overlays(bombassembly) . += bombassembly.overlays
add_overlay("bomb_assembly") . += "bomb_assembly"
/obj/item/onetankbomb/wrench_act(mob/living/user, obj/item/I) /obj/item/onetankbomb/wrench_act(mob/living/user, obj/item/I)
to_chat(user, "<span class='notice'>You disassemble [src]!</span>") to_chat(user, "<span class='notice'>You disassemble [src]!</span>")
+20 -19
View File
@@ -624,10 +624,7 @@
"set_internal_pressure" = 0 "set_internal_pressure" = 0
)) ))
/obj/machinery/airalarm/update_icon() /obj/machinery/airalarm/update_icon_state()
set_light(0)
cut_overlays()
SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays)
if(stat & NOPOWER) if(stat & NOPOWER)
icon_state = "alarm0" icon_state = "alarm0"
return return
@@ -636,35 +633,39 @@
icon_state = "alarmx" icon_state = "alarmx"
return return
if(panel_open) if(!panel_open)
switch(buildstage) icon_state = "alarm1"
if(2)
icon_state = "alarmx"
if(1)
icon_state = "alarm_b2"
if(0)
icon_state = "alarm_b1"
return return
icon_state = "alarm1" switch(buildstage)
if(2)
icon_state = "alarmx"
if(1)
icon_state = "alarm_b2"
if(0)
icon_state = "alarm_b1"
/obj/machinery/airalarm/update_overlays()
. = ..()
SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays)
var/overlay_state = AALARM_OVERLAY_OFF var/overlay_state = AALARM_OVERLAY_OFF
var/area/A = get_base_area(src) var/area/A = get_base_area(src)
switch(max(danger_level, A.atmosalm)) switch(max(danger_level, A.atmosalm))
if(0) if(0)
add_overlay(AALARM_OVERLAY_GREEN)
overlay_state = AALARM_OVERLAY_GREEN overlay_state = AALARM_OVERLAY_GREEN
light_color = LIGHT_COLOR_GREEN light_color = LIGHT_COLOR_GREEN
set_light(brightness_on)
if(1) if(1)
add_overlay(AALARM_OVERLAY_WARN)
overlay_state = AALARM_OVERLAY_WARN overlay_state = AALARM_OVERLAY_WARN
light_color = LIGHT_COLOR_LAVA light_color = LIGHT_COLOR_LAVA
set_light(brightness_on)
if(2) if(2)
add_overlay(AALARM_OVERLAY_DANGER)
overlay_state = AALARM_OVERLAY_DANGER overlay_state = AALARM_OVERLAY_DANGER
light_color = LIGHT_COLOR_RED light_color = LIGHT_COLOR_RED
set_light(brightness_on)
if(overlay_state != AALARM_OVERLAY_OFF)
. += overlay_state
set_light(brightness_on)
else
set_light(0)
SSvis_overlays.add_vis_overlay(src, icon, overlay_state, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir) SSvis_overlays.add_vis_overlay(src, icon, overlay_state, ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
update_light() update_light()
@@ -34,7 +34,6 @@
var/restricted = FALSE var/restricted = FALSE
req_access = list() req_access = list()
var/update = 0
var/static/list/label2types = list( var/static/list/label2types = list(
"n2" = /obj/machinery/portable_atmospherics/canister/nitrogen, "n2" = /obj/machinery/portable_atmospherics/canister/nitrogen,
"o2" = /obj/machinery/portable_atmospherics/canister/oxygen, "o2" = /obj/machinery/portable_atmospherics/canister/oxygen,
@@ -213,61 +212,26 @@
air_contents.gases[/datum/gas/oxygen] = (O2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature) air_contents.gases[/datum/gas/oxygen] = (O2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
air_contents.gases[/datum/gas/nitrogen] = (N2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature) air_contents.gases[/datum/gas/nitrogen] = (N2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
#define HOLDING (1<<0) /obj/machinery/portable_atmospherics/canister/update_icon_state()
#define CONNECTED (1<<1)
#define EMPTY (1<<2)
#define LOW (1<<3)
#define MEDIUM (1<<4)
#define FULL (1<<5)
#define DANGER (1<<6)
/obj/machinery/portable_atmospherics/canister/update_icon()
if(stat & BROKEN) if(stat & BROKEN)
cut_overlays()
icon_state = "[icon_state]-1" icon_state = "[icon_state]-1"
return
var/last_update = update /obj/machinery/portable_atmospherics/canister/update_overlays()
update = 0 . = ..()
if(holding) if(holding)
update |= HOLDING . += "can-open"
if(connected_port) if(connected_port)
update |= CONNECTED . += "can-connector"
var/pressure = air_contents.return_pressure() var/pressure = air_contents.return_pressure()
if(pressure < 10) if(pressure >= 40 * ONE_ATMOSPHERE)
update |= EMPTY . += "can-o3"
else if(pressure < 5 * ONE_ATMOSPHERE) else if(pressure >= 10 * ONE_ATMOSPHERE)
update |= LOW . += "can-o2"
else if(pressure < 10 * ONE_ATMOSPHERE) else if(pressure >= 5 * ONE_ATMOSPHERE)
update |= MEDIUM . += "can-o1"
else if(pressure < 40 * ONE_ATMOSPHERE) else if(pressure >= 10)
update |= FULL . += "can-o0"
else
update |= DANGER
if(update == last_update)
return
cut_overlays()
if(update & HOLDING)
add_overlay("can-open")
if(update & CONNECTED)
add_overlay("can-connector")
if(update & LOW)
add_overlay("can-o0")
else if(update & MEDIUM)
add_overlay("can-o1")
else if(update & FULL)
add_overlay("can-o2")
else if(update & DANGER)
add_overlay("can-o3")
#undef HOLDING
#undef CONNECTED
#undef EMPTY
#undef LOW
#undef MEDIUM
#undef FULL
#undef DANGER
/obj/machinery/portable_atmospherics/canister/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) /obj/machinery/portable_atmospherics/canister/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > temperature_resistance) if(exposed_temperature > temperature_resistance)
@@ -29,14 +29,16 @@
QDEL_NULL(pump) QDEL_NULL(pump)
return ..() return ..()
/obj/machinery/portable_atmospherics/pump/update_icon() /obj/machinery/portable_atmospherics/pump/update_icon_state()
icon_state = "psiphon:[on]" icon_state = "psiphon:[on]"
cut_overlays()
/obj/machinery/portable_atmospherics/pump/update_overlays()
. = ..()
if(holding) if(holding)
add_overlay("siphon-open") . += "siphon-open"
if(connected_port) if(connected_port)
add_overlay("siphon-connector") . += "siphon-connector"
/obj/machinery/portable_atmospherics/pump/process_atmos() /obj/machinery/portable_atmospherics/pump/process_atmos()
..() ..()
@@ -5,6 +5,7 @@
var/on = FALSE var/on = FALSE
var/volume_rate = 1000 var/volume_rate = 1000
var/use_overlays = TRUE
volume = 1000 volume = 1000
var/list/scrubbing = list(/datum/gas/plasma, /datum/gas/carbon_dioxide, /datum/gas/nitrous_oxide, /datum/gas/bz, /datum/gas/nitryl, /datum/gas/tritium, /datum/gas/hypernoblium, /datum/gas/water_vapor) var/list/scrubbing = list(/datum/gas/plasma, /datum/gas/carbon_dioxide, /datum/gas/nitrous_oxide, /datum/gas/bz, /datum/gas/nitryl, /datum/gas/tritium, /datum/gas/hypernoblium, /datum/gas/water_vapor)
@@ -15,14 +16,17 @@
air_update_turf() air_update_turf()
return ..() return ..()
/obj/machinery/portable_atmospherics/scrubber/update_icon() /obj/machinery/portable_atmospherics/scrubber/update_icon_state()
icon_state = "pscrubber:[on]" icon_state = "pscrubber:[on]"
cut_overlays() /obj/machinery/portable_atmospherics/scrubber/update_overlays()
. = ..()
if(!use_overlays)
return
if(holding) if(holding)
add_overlay("scrubber-open") . += "scrubber-open"
if(connected_port) if(connected_port)
add_overlay("scrubber-connector") . += "scrubber-connector"
/obj/machinery/portable_atmospherics/scrubber/process_atmos() /obj/machinery/portable_atmospherics/scrubber/process_atmos()
..() ..()
@@ -117,11 +121,12 @@
volume = 50000 volume = 50000
var/movable = FALSE var/movable = FALSE
use_overlays = FALSE
/obj/machinery/portable_atmospherics/scrubber/huge/movable /obj/machinery/portable_atmospherics/scrubber/huge/movable
movable = TRUE movable = TRUE
/obj/machinery/portable_atmospherics/scrubber/huge/update_icon() /obj/machinery/portable_atmospherics/scrubber/huge/update_icon_state()
icon_state = "scrubber:[on]" icon_state = "scrubber:[on]"
/obj/machinery/portable_atmospherics/scrubber/huge/process_atmos() /obj/machinery/portable_atmospherics/scrubber/huge/process_atmos()
+6 -15
View File
@@ -53,11 +53,8 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
ready = TRUE ready = TRUE
return ready return ready
/obj/machinery/gateway/update_icon() /obj/machinery/gateway/update_icon_state()
if(active) icon_state = active ? "on" : "off"
icon_state = "on"
return
icon_state = "off"
/obj/machinery/gateway/attack_hand(mob/user) /obj/machinery/gateway/attack_hand(mob/user)
. = ..() . = ..()
@@ -100,11 +97,8 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
var/obj/machinery/gateway/centeraway/awaygate = null var/obj/machinery/gateway/centeraway/awaygate = null
can_link = TRUE can_link = TRUE
/obj/machinery/gateway/centerstation/update_icon() /obj/machinery/gateway/centerstation/update_icon_state()
if(active) icon_state = active ? "oncenter" : "offcenter"
icon_state = "oncenter"
return
icon_state = "offcenter"
/obj/machinery/gateway/centerstation/process() /obj/machinery/gateway/centerstation/process()
if((stat & (NOPOWER)) && use_power) if((stat & (NOPOWER)) && use_power)
@@ -185,11 +179,8 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
stationgate = locate(/obj/machinery/gateway/centerstation) stationgate = locate(/obj/machinery/gateway/centerstation)
/obj/machinery/gateway/centeraway/update_icon() /obj/machinery/gateway/centeraway/update_icon_state()
if(active) icon_state = active ? "oncenter" : "offcenter"
icon_state = "oncenter"
return
icon_state = "offcenter"
/obj/machinery/gateway/centeraway/toggleon(mob/user) /obj/machinery/gateway/centeraway/toggleon(mob/user)
if(!detect()) if(!detect())
@@ -337,8 +337,9 @@
icon_state = "1" icon_state = "1"
color = rgb(0,0,255) color = rgb(0,0,255)
/obj/structure/ladder/unbreakable/rune/update_icon() /obj/structure/ladder/unbreakable/rune/ComponentInitialize()
return . = ..()
AddElement(/datum/element/update_icon_blocker)
/obj/structure/ladder/unbreakable/rune/show_fluff_message(up,mob/user) /obj/structure/ladder/unbreakable/rune/show_fluff_message(up,mob/user)
user.visible_message("[user] activates \the [src].","<span class='notice'>You activate \the [src].</span>") user.visible_message("[user] activates \the [src].","<span class='notice'>You activate \the [src].</span>")
+3 -2
View File
@@ -35,5 +35,6 @@
environs." environs."
//we don't want the silly text overlay! //we don't want the silly text overlay!
/obj/item/paper/pamphlet/update_icon() /obj/item/paper/pamphlet/ComponentInitialize()
return . = ..()
AddElement(/datum/element/update_icon_blocker)
+2 -3
View File
@@ -27,7 +27,7 @@
update_icon() update_icon()
return 1 return 1
/obj/screen/buildmode/mode/update_icon() /obj/screen/buildmode/mode/update_icon_state()
icon_state = bd.mode.get_button_iconstate() icon_state = bd.mode.get_button_iconstate()
/obj/screen/buildmode/help /obj/screen/buildmode/help
@@ -44,9 +44,8 @@
screen_loc = "NORTH,WEST+2" screen_loc = "NORTH,WEST+2"
name = "Change Dir" name = "Change Dir"
/obj/screen/buildmode/bdir/update_icon() /obj/screen/buildmode/bdir/update_icon_state()
dir = bd.build_dir dir = bd.build_dir
return
/obj/screen/buildmode/bdir/Click() /obj/screen/buildmode/bdir/Click()
bd.toggle_dirswitch() bd.toggle_dirswitch()
+5 -6
View File
@@ -78,15 +78,14 @@
. = ..() . = ..()
setStyle(style, TRUE) //Upon initialization, give the supplypod an iconstate, name, and description based on the "style" variable. This system is important for the centcom_podlauncher to function correctly setStyle(style, TRUE) //Upon initialization, give the supplypod an iconstate, name, and description based on the "style" variable. This system is important for the centcom_podlauncher to function correctly
/obj/structure/closet/supplypod/update_icon() /obj/structure/closet/supplypod/closet_update_overlays(list/new_overlays)
cut_overlays() . = new_overlays
if (style == STYLE_SEETHROUGH || style == STYLE_INVISIBLE) //If we're invisible, we dont bother adding any overlays if (style == STYLE_SEETHROUGH || style == STYLE_INVISIBLE) //If we're invisible, we dont bother adding any overlays
return return
if (opened)
. += "[icon_state]_open"
else else
if (opened) . += "[icon_state]_door"
add_overlay("[icon_state]_open")
else
add_overlay("[icon_state]_door")
/obj/structure/closet/supplypod/proc/setStyle(chosenStyle, var/duringInit = FALSE) //Used to give the sprite an icon state, name, and description /obj/structure/closet/supplypod/proc/setStyle(chosenStyle, var/duringInit = FALSE) //Used to give the sprite an icon state, name, and description
if (!duringInit && style == chosenStyle) //Check if the input style is already the same as the pod's style. This happens in centcom_podlauncher, and as such we set the style to STYLE_CENTCOM. if (!duringInit && style == chosenStyle) //Check if the input style is already the same as the pod's style. This happens in centcom_podlauncher, and as such we set the style to STYLE_CENTCOM.
+5 -5
View File
@@ -31,14 +31,14 @@
ready = FALSE ready = FALSE
update_icon() update_icon()
/obj/item/supplypod_beacon/update_icon() /obj/item/supplypod_beacon/update_overlays()
cut_overlays() . = ..()
if (launched) if (launched)
add_overlay("sp_green") . += "sp_green"
else if (ready) else if (ready)
add_overlay("sp_yellow") . += "sp_yellow"
else if (linked) else if (linked)
add_overlay("sp_orange") . += "sp_orange"
/obj/item/supplypod_beacon/proc/endLaunch() /obj/item/supplypod_beacon/proc/endLaunch()
launched = FALSE launched = FALSE
+8 -11
View File
@@ -441,17 +441,14 @@ BLIND // can't see anything
return TRUE return TRUE
/obj/item/clothing/update_icon() // Polychrome stuff /obj/item/clothing/update_overlays() // Polychrome stuff
..() . = ..()
if(hasprimary) //Checks if the overlay is enabled if(hasprimary) //Checks if the overlay is enabled
var/mutable_appearance/primary_overlay = mutable_appearance(icon, "[item_color]-primary") //Automagically picks overlays var/mutable_appearance/primary_overlay = mutable_appearance(icon, "[item_color]-primary", color = primary_color) //Automagically picks overlays
primary_overlay.color = primary_color //Colors the greyscaled overlay . += primary_overlay //Applies the coloured overlay onto the item sprite. but NOT the mob sprite.
add_overlay(primary_overlay) //Applies the coloured overlay onto the item sprite. but NOT the mob sprite.
if(hassecondary) if(hassecondary)
var/mutable_appearance/secondary_overlay = mutable_appearance(icon, "[item_color]-secondary") var/mutable_appearance/secondary_overlay = mutable_appearance(icon, "[item_color]-secondary", color = secondary_color)
secondary_overlay.color = secondary_color . += secondary_overlay
add_overlay(secondary_overlay)
if(hastertiary) if(hastertiary)
var/mutable_appearance/tertiary_overlay = mutable_appearance(icon, "[item_color]-tertiary") var/mutable_appearance/tertiary_overlay = mutable_appearance(icon, "[item_color]-tertiary", color = tertiary_color)
tertiary_overlay.color = tertiary_color . += tertiary_overlay
add_overlay(tertiary_overlay)
+5 -6
View File
@@ -35,16 +35,15 @@
. = ..() . = ..()
update_icon() update_icon()
/obj/item/clothing/ears/headphones/update_icon() /obj/item/clothing/ears/headphones/ComponentInitialize()
. = ..()
AddElement(/datum/element/update_icon_updates_onmob)
/obj/item/clothing/ears/headphones/update_icon_state()
icon_state = "[initial(icon_state)]_[headphones_on? "on" : "off"]" icon_state = "[initial(icon_state)]_[headphones_on? "on" : "off"]"
item_state = "[initial(item_state)]_[headphones_on? "on" : "off"]" item_state = "[initial(item_state)]_[headphones_on? "on" : "off"]"
/obj/item/clothing/ears/headphones/proc/toggle(owner) /obj/item/clothing/ears/headphones/proc/toggle(owner)
headphones_on = !headphones_on headphones_on = !headphones_on
update_icon() update_icon()
var/mob/living/carbon/human/H = owner
if(istype(H))
H.update_inv_ears()
H.update_inv_neck()
H.update_inv_head()
to_chat(owner, "<span class='notice'>You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]</span>") to_chat(owner, "<span class='notice'>You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]</span>")
@@ -31,6 +31,10 @@
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)
update_icon() update_icon()
/obj/item/clothing/glasses/meson/engine/ComponentInitialize()
. = ..()
AddElement(/datum/element/update_icon_updates_onmob)
/obj/item/clothing/glasses/meson/engine/Destroy() /obj/item/clothing/glasses/meson/engine/Destroy()
STOP_PROCESSING(SSobj, src) STOP_PROCESSING(SSobj, src)
return ..() return ..()
@@ -120,18 +124,8 @@
pic = new('icons/turf/overlays.dmi', place, "redOverlay", AREA_LAYER) pic = new('icons/turf/overlays.dmi', place, "redOverlay", AREA_LAYER)
flick_overlay(pic, list(user.client), 8) flick_overlay(pic, list(user.client), 8)
/obj/item/clothing/glasses/meson/engine/update_icon() /obj/item/clothing/glasses/meson/engine/update_icon_state()
icon_state = "trayson-[mode]" icon_state = "trayson-[mode]"
update_mob()
/obj/item/clothing/glasses/meson/engine/proc/update_mob()
item_state = icon_state
if(isliving(loc))
var/mob/living/user = loc
if(user.get_item_by_slot(SLOT_GLASSES) == src)
user.update_inv_glasses()
else
user.update_inv_hands()
/obj/item/clothing/glasses/meson/engine/tray //atmos techs have lived far too long without tray goggles while those damned engineers get their dual-purpose gogles all to themselves /obj/item/clothing/glasses/meson/engine/tray //atmos techs have lived far too long without tray goggles while those damned engineers get their dual-purpose gogles all to themselves
name = "optical t-ray scanner" name = "optical t-ray scanner"
+9 -11
View File
@@ -16,6 +16,11 @@
dog_fashion = /datum/dog_fashion/head dog_fashion = /datum/dog_fashion/head
/obj/item/clothing/head/hardhat/ComponentInitialize()
. = ..()
AddElement(/datum/element/update_icon_updates_onmob)
/obj/item/clothing/head/hardhat/attack_self(mob/living/user) /obj/item/clothing/head/hardhat/attack_self(mob/living/user)
toggle_helmet_light(user) toggle_helmet_light(user)
@@ -27,15 +32,9 @@
turn_off(user) turn_off(user)
update_icon() update_icon()
/obj/item/clothing/head/hardhat/update_icon() /obj/item/clothing/head/hardhat/update_icon_state()
icon_state = "hardhat[on]_[item_color]" icon_state = "hardhat[on]_[item_color]"
item_state = "hardhat[on]_[item_color]" item_state = "hardhat[on]_[item_color]"
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
H.update_inv_head()
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon(force = TRUE)
/obj/item/clothing/head/hardhat/proc/turn_on(mob/user) /obj/item/clothing/head/hardhat/proc/turn_on(mob/user)
set_light(brightness_on, power_on) set_light(brightness_on, power_on)
@@ -132,11 +131,10 @@
if(!up) if(!up)
. += mutable_appearance('icons/mob/head.dmi', "weldvisor") . += mutable_appearance('icons/mob/head.dmi', "weldvisor")
/obj/item/clothing/head/hardhat/weldhat/update_icon() /obj/item/clothing/head/hardhat/weldhat/update_overlays()
cut_overlays() . = ..()
if(!up) if(!up)
add_overlay("weldvisor") . += "weldvisor"
..()
/obj/item/clothing/head/hardhat/weldhat/orange /obj/item/clothing/head/hardhat/weldhat/orange
icon_state = "hardhat0_orange" icon_state = "hardhat0_orange"
+5 -5
View File
@@ -258,7 +258,11 @@
//LightToggle //LightToggle
/obj/item/clothing/head/helmet/update_icon() /obj/item/clothing/head/helment/ComponentInitialize()
. = ..()
AddElement(/datum/element/update_icon_updates_onmob)
/obj/item/clothing/head/helmet/update_icon_state()
var/state = "[initial(icon_state)]" var/state = "[initial(icon_state)]"
if(F) if(F)
if(F.on) if(F.on)
@@ -268,10 +272,6 @@
icon_state = state icon_state = state
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
H.update_inv_head()
/obj/item/clothing/head/helmet/ui_action_click(mob/user, action) /obj/item/clothing/head/helmet/ui_action_click(mob/user, action)
if(istype(action, /datum/action/item_action/toggle_helmet_flashlight)) if(istype(action, /datum/action/item_action/toggle_helmet_flashlight))
toggle_helmlight() toggle_helmlight()
+9 -6
View File
@@ -197,16 +197,19 @@
. = ..() . = ..()
update_icon() update_icon()
/obj/item/clothing/head/wig/update_icon() /obj/item/clothing/head/wig/update_icon_state()
cut_overlays()
var/datum/sprite_accessory/S = GLOB.hair_styles_list[hair_style] var/datum/sprite_accessory/S = GLOB.hair_styles_list[hair_style]
if(!S) if(!S)
icon = 'icons/obj/clothing/hats.dmi'
icon_state = "pwig" icon_state = "pwig"
else
var/mutable_appearance/M = mutable_appearance(S.icon,S.icon_state) /obj/item/clothing/head/wig/update_overlays()
. = ..()
var/datum/sprite_accessory/S = GLOB.hair_styles_list[hair_style]
if(S)
var/mutable_appearance/M = mutable_appearance(S.icon, S.icon_state, color = hair_color)
M.appearance_flags |= RESET_COLOR M.appearance_flags |= RESET_COLOR
M.color = hair_color . += M
add_overlay(M)
/obj/item/clothing/head/wig/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) /obj/item/clothing/head/wig/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE)
. = list() . = list()
+8 -11
View File
@@ -10,11 +10,15 @@
/obj/item/clothing/shoes/clown_shoes/banana_shoes/Initialize() /obj/item/clothing/shoes/clown_shoes/banana_shoes/Initialize()
. = ..() . = ..()
AddComponent(/datum/component/material_container, list(/datum/material/bananium), 200000, TRUE, /obj/item/stack)
AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 75)
if(always_noslip) if(always_noslip)
clothing_flags |= NOSLIP clothing_flags |= NOSLIP
/obj/item/clothing/shoes/clown_shoes/banana_shoes/ComponentInitialize()
. = ..()
AddElement(/datum/element/update_icon_updates_onmob)
AddComponent(/datum/component/material_container, list(/datum/material/bananium), 200000, TRUE, /obj/item/stack)
AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 75)
/obj/item/clothing/shoes/clown_shoes/banana_shoes/step_action() /obj/item/clothing/shoes/clown_shoes/banana_shoes/step_action()
. = ..() . = ..()
var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container)
@@ -55,12 +59,5 @@
else else
to_chat(user, "<span class='warning'>You need bananium to turn the prototype shoes on!</span>") to_chat(user, "<span class='warning'>You need bananium to turn the prototype shoes on!</span>")
/obj/item/clothing/shoes/clown_shoes/banana_shoes/update_icon() /obj/item/clothing/shoes/clown_shoes/banana_shoes/update_icon_state()
if(on) icon_state = "clown_prototype_[on? "on" : "off"]"
icon_state = "clown_prototype_on"
else
icon_state = "clown_prototype_off"
usr.update_inv_shoes()
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
+7 -19
View File
@@ -275,7 +275,7 @@
visor_flags_inv = HIDEMASK|HIDEEYES|HIDEFACE|HIDEFACIALHAIR visor_flags_inv = HIDEMASK|HIDEEYES|HIDEFACE|HIDEFACIALHAIR
visor_flags = STOPSPRESSUREDAMAGE visor_flags = STOPSPRESSUREDAMAGE
/obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon() /obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon_state()
icon_state = "hardsuit[on]-[item_color]" icon_state = "hardsuit[on]-[item_color]"
/obj/item/clothing/head/helmet/space/hardsuit/syndi/Initialize() /obj/item/clothing/head/helmet/space/hardsuit/syndi/Initialize()
@@ -946,15 +946,9 @@
var/datum/action/A = X var/datum/action/A = X
A.UpdateButtonIcon() A.UpdateButtonIcon()
/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/update_icon() /obj/item/clothing/head/helmet/space/hardsuit/lavaknight/update_overlays()
var/mutable_appearance/helm_overlay = mutable_appearance(icon, "knight_cydonia_overlay") . = ..()
. += mutable_appearance(icon, "knight_cydonia_overlay", color = energy_color)
if(energy_color)
helm_overlay.color = energy_color
cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other
add_overlay(helm_overlay)
/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) /obj/item/clothing/head/helmet/space/hardsuit/lavaknight/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE)
. = ..() . = ..()
@@ -983,15 +977,9 @@
set_light(1) set_light(1)
update_icon() update_icon()
/obj/item/clothing/suit/space/hardsuit/lavaknight/update_icon() /obj/item/clothing/suit/space/hardsuit/lavaknight/update_overlays()
var/mutable_appearance/suit_overlay = mutable_appearance(icon, "knight_cydonia_overlay") . = ..()
. += mutable_appearance(icon, "knight_cydonia_overlay", color = energy_color)
if(energy_color)
suit_overlay.color = energy_color
cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other
add_overlay(suit_overlay)
/obj/item/clothing/suit/space/hardsuit/lavaknight/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) /obj/item/clothing/suit/space/hardsuit/lavaknight/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE)
. = ..() . = ..()
+1 -1
View File
@@ -157,7 +157,7 @@
active = FALSE active = FALSE
STOP_PROCESSING(SSobj,src) STOP_PROCESSING(SSobj,src)
/obj/machinery/shuttle_scrambler/update_icon() /obj/machinery/shuttle_scrambler/update_icon_state()
if(active) if(active)
icon_state = "dominator-blue" icon_state = "dominator-blue"
else else
@@ -318,14 +318,17 @@
..() ..()
update_icon() update_icon()
/obj/item/reagent_containers/glass/bowl/update_icon()
cut_overlays() /obj/item/reagent_containers/glass/bowl/update_icon_state()
if(!reagents || !reagents.total_volume)
icon_state = "bowl"
/obj/item/reagent_containers/glass/bowl/update_overlays()
. = ..()
if(reagents && reagents.total_volume) if(reagents && reagents.total_volume)
var/mutable_appearance/filling = mutable_appearance('icons/obj/food/soupsalad.dmi', "fullbowl") var/mutable_appearance/filling = mutable_appearance('icons/obj/food/soupsalad.dmi', "fullbowl")
filling.color = mix_color_from_reagents(reagents.reagent_list) filling.color = mix_color_from_reagents(reagents.reagent_list)
add_overlay(filling) . += filling
else
icon_state = "bowl"
#undef INGREDIENTS_FILL #undef INGREDIENTS_FILL
#undef INGREDIENTS_SCATTER #undef INGREDIENTS_SCATTER
@@ -38,18 +38,18 @@
if(M.rating >= 2) if(M.rating >= 2)
. += "<span class='notice'>Gibber has been upgraded to process inorganic materials.</span>" . += "<span class='notice'>Gibber has been upgraded to process inorganic materials.</span>"
/obj/machinery/gibber/update_icon() /obj/machinery/gibber/update_overlays()
cut_overlays() . = ..()
if (dirty) if (dirty)
add_overlay("grbloody") . += "grbloody"
if(stat & (NOPOWER|BROKEN)) if(stat & (NOPOWER|BROKEN))
return return
if (!occupant) if (!occupant)
add_overlay("grjam") . += "grjam"
else if (operating) else if (operating)
add_overlay("gruse") . += "gruse"
else else
add_overlay("gridle") . += "gridle"
/obj/machinery/gibber/attack_paw(mob/user) /obj/machinery/gibber/attack_paw(mob/user)
return attack_hand(user) return attack_hand(user)
@@ -15,7 +15,7 @@
. = ..() . = ..()
grill_loop = new(list(src), FALSE) grill_loop = new(list(src), FALSE)
/obj/machinery/grill/update_icon() /obj/machinery/grill/update_icon_state()
if(grilled_item) if(grilled_item)
icon_state = "grill" icon_state = "grill"
else if(grill_fuel) else if(grill_fuel)
@@ -85,7 +85,7 @@
. += "<span class='notice'>- Capacity: <b>[max_n_of_items]</b> items.<span>" . += "<span class='notice'>- Capacity: <b>[max_n_of_items]</b> items.<span>"
. += "<span class='notice'>- Cook time reduced by <b>[(efficiency - 1) * 25]%</b>.<span>" . += "<span class='notice'>- Cook time reduced by <b>[(efficiency - 1) * 25]%</b>.<span>"
/obj/machinery/microwave/update_icon() /obj/machinery/microwave/update_icon_state()
if(broken) if(broken)
icon_state = "mwb" icon_state = "mwb"
else if(dirty_anim_playing) else if(dirty_anim_playing)
@@ -42,7 +42,7 @@
..() ..()
update_icon() update_icon()
/obj/machinery/smartfridge/update_icon() /obj/machinery/smartfridge/update_icon_state()
if(!stat) if(!stat)
if(visible_contents) if(visible_contents)
switch(contents.len) switch(contents.len)
@@ -289,13 +289,12 @@
..() ..()
update_icon() update_icon()
/obj/machinery/smartfridge/drying_rack/update_icon() /obj/machinery/smartfridge/drying_rack/update_overlays()
..() . = ..()
cut_overlays()
if(drying) if(drying)
add_overlay("drying_rack_drying") . += "drying_rack_drying"
if(contents.len) if(contents.len)
add_overlay("drying_rack_filled") . += "drying_rack_filled"
/obj/machinery/smartfridge/drying_rack/process() /obj/machinery/smartfridge/drying_rack/process()
..() ..()
+2 -2
View File
@@ -93,7 +93,7 @@
qdel(SC) qdel(SC)
update_icon() update_icon()
/obj/item/toy/cards/deck/cas/update_icon() /obj/item/toy/cards/deck/cas/update_icon_state()
if(cards.len < 26) if(cards.len < 26)
icon_state = "deck_[deckstyle]_low" icon_state = "deck_[deckstyle]_low"
@@ -136,7 +136,7 @@
Flip() Flip()
return TRUE return TRUE
/obj/item/toy/cards/singlecard/cas/update_icon() /obj/item/toy/cards/singlecard/cas/update_icon_state()
if(flipped) if(flipped)
icon_state = "[card_face]_flipped" icon_state = "[card_face]_flipped"
else else
+1 -1
View File
@@ -196,7 +196,7 @@
if(numbuttons == numready) if(numbuttons == numready)
begin_event() begin_event()
/obj/machinery/readybutton/update_icon() /obj/machinery/readybutton/update_icon_state()
if(ready) if(ready)
icon_state = "auth_on" icon_state = "auth_on"
else else
@@ -20,13 +20,13 @@
update_icon() update_icon()
/obj/item/reagent_containers/honeycomb/update_icon() /obj/item/reagent_containers/honeycomb/update_overlays()
cut_overlays() . = ..()
var/mutable_appearance/honey_overlay = mutable_appearance(icon, "honey") var/mutable_appearance/honey_overlay = mutable_appearance(icon, "honey")
if(honey_color) if(honey_color)
honey_overlay.icon_state = "greyscale_honey" honey_overlay.icon_state = "greyscale_honey"
honey_overlay.color = honey_color honey_overlay.color = honey_color
add_overlay(honey_overlay) . += honey_overlay
/obj/item/reagent_containers/honeycomb/proc/set_reagent(reagent) /obj/item/reagent_containers/honeycomb/proc/set_reagent(reagent)
+1 -1
View File
@@ -61,7 +61,7 @@
/obj/machinery/biogenerator/on_reagent_change(changetype) //When the reagents change, change the icon as well. /obj/machinery/biogenerator/on_reagent_change(changetype) //When the reagents change, change the icon as well.
update_icon() update_icon()
/obj/machinery/biogenerator/update_icon() /obj/machinery/biogenerator/update_icon_state()
if(panel_open) if(panel_open)
icon_state = "biogen-empty-o" icon_state = "biogen-empty-o"
else if(!src.beaker) else if(!src.beaker)
@@ -64,7 +64,7 @@
to_chat(user, "<span class='notice'>You close [src], letting you draw from its tap.</span>") to_chat(user, "<span class='notice'>You close [src], letting you draw from its tap.</span>")
update_icon() update_icon()
/obj/structure/fermenting_barrel/update_icon() /obj/structure/fermenting_barrel/update_icon_state()
if(open) if(open)
icon_state = "barrel_open" icon_state = "barrel_open"
else else
+6 -5
View File
@@ -53,17 +53,18 @@
min_wchance = 0 min_wchance = 0
min_wrate = 0 min_wrate = 0
/obj/machinery/plantgenes/update_icon() /obj/machinery/plantgenes/update_icon_state()
..()
cut_overlays()
if((stat & (BROKEN|NOPOWER))) if((stat & (BROKEN|NOPOWER)))
icon_state = "dnamod-off" icon_state = "dnamod-off"
else else
icon_state = "dnamod" icon_state = "dnamod"
/obj/machinery/plantgenes/update_overlays()
. = ..()
if(seed) if(seed)
add_overlay("dnamod-dna") . += "dnamod-dna"
if(panel_open) if(panel_open)
add_overlay("dnamod-open") . += "dnamod-open"
/obj/machinery/plantgenes/attackby(obj/item/I, mob/user, params) /obj/machinery/plantgenes/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, "dnamod", "dnamod", I)) if(default_deconstruction_screwdriver(user, "dnamod", "dnamod", I))
@@ -305,17 +305,17 @@
/obj/item/electronic_assembly/proc/can_move() /obj/item/electronic_assembly/proc/can_move()
return FALSE return FALSE
/obj/item/electronic_assembly/update_icon() /obj/item/electronic_assembly/update_icon_state()
if(opened) if(opened)
icon_state = initial(icon_state) + "-open" icon_state = initial(icon_state) + "-open"
else else
icon_state = initial(icon_state) icon_state = initial(icon_state)
cut_overlays()
/obj/item/electronic_assembly/update_overlays()
. = ..()
if(detail_color == COLOR_ASSEMBLY_BLACK) //Black colored overlay looks almost but not exactly like the base sprite, so just cut the overlay and avoid it looking kinda off. if(detail_color == COLOR_ASSEMBLY_BLACK) //Black colored overlay looks almost but not exactly like the base sprite, so just cut the overlay and avoid it looking kinda off.
return return
var/mutable_appearance/detail_overlay = mutable_appearance('icons/obj/assemblies/electronic_setups.dmi', "[icon_state]-color") . += mutable_appearance('icons/obj/assemblies/electronic_setups.dmi', "[icon_state]-color", color = detail_color)
detail_overlay.color = detail_color
add_overlay(detail_overlay)
/obj/item/electronic_assembly/proc/return_total_complexity() /obj/item/electronic_assembly/proc/return_total_complexity()
. = 0 . = 0
@@ -34,18 +34,17 @@
.=..() .=..()
update_icon() update_icon()
/obj/item/integrated_electronics/detailer/update_icon() /obj/item/integrated_electronics/detailer/update_overlays()
cut_overlays() . = ..()
var/mutable_appearance/detail_overlay = mutable_appearance('icons/obj/assemblies/electronic_tools.dmi', "detailer-color") . += mutable_appearance('icons/obj/assemblies/electronic_tools.dmi', "detailer-color", color = detail_color)
detail_overlay.color = detail_color
add_overlay(detail_overlay)
/obj/item/integrated_electronics/detailer/attack_self(mob/user) /obj/item/integrated_electronics/detailer/attack_self(mob/user)
var/color_choice = input(user, "Select color.", "Assembly Detailer") as null|anything in color_list var/color_choice = input(user, "Select color.", "Assembly Detailer") as null|anything in color_list
if(!color_list[color_choice]) if(!color_list[color_choice])
return return
if(!in_range(src, user)) if(!in_range(src, user))
return return
if(color_choice == "custom") if(color_choice == "custom")
detail_color = input(user,"","Choose Color",detail_color) as color|null detail_color = input(user,"","Choose Color",detail_color) as color|null
else else
@@ -15,7 +15,7 @@
var/datum/integrated_io/selected_io = null var/datum/integrated_io/selected_io = null
var/mode = WIRE var/mode = WIRE
/obj/item/integrated_electronics/wirer/update_icon() /obj/item/integrated_electronics/wirer/update_icon_state()
icon_state = "wirer-[mode]" icon_state = "wirer-[mode]"
/obj/item/integrated_electronics/wirer/proc/wire(var/datum/integrated_io/io, mob/user) /obj/item/integrated_electronics/wirer/proc/wire(var/datum/integrated_io/io, mob/user)
@@ -27,7 +27,7 @@
selected_io = io selected_io = io
to_chat(user, "<span class='notice'>You attach a data wire to \the [selected_io.holder]'s [selected_io.name] data channel.</span>") to_chat(user, "<span class='notice'>You attach a data wire to \the [selected_io.holder]'s [selected_io.name] data channel.</span>")
mode = WIRING mode = WIRING
update_icon() update_icon()
if(WIRING) if(WIRING)
if(io == selected_io) if(io == selected_io)
to_chat(user, "<span class='warning'>Wiring \the [selected_io.holder]'s [selected_io.name] into itself is rather pointless.</span>") to_chat(user, "<span class='warning'>Wiring \the [selected_io.holder]'s [selected_io.name] into itself is rather pointless.</span>")
+2 -5
View File
@@ -147,11 +147,8 @@
qdel(src) qdel(src)
/obj/structure/bookcase/update_icon() /obj/structure/bookcase/update_icon_state()
if(contents.len < 5) icon_state = "book-[min(length(contents), 5)]"
icon_state = "book-[contents.len]"
else
icon_state = "book-5"
/obj/structure/bookcase/manuals/medical /obj/structure/bookcase/manuals/medical
@@ -110,12 +110,12 @@
AddComponent(/datum/component/spraycan_paintable) AddComponent(/datum/component/spraycan_paintable)
update_icon() update_icon()
/obj/item/clothing/head/helmet/space/hostile_environment/update_icon()
..() /obj/item/clothing/head/helmet/space/hostile_environment/update_overlays()
cut_overlays() . = ..()
var/mutable_appearance/glass_overlay = mutable_appearance(icon, "hostile_env_glass") var/mutable_appearance/glass_overlay = mutable_appearance(icon, "hostile_env_glass")
glass_overlay.appearance_flags = RESET_COLOR glass_overlay.appearance_flags = RESET_COLOR
add_overlay(glass_overlay) . += glass_overlay
/obj/item/clothing/head/helmet/space/hostile_environment/worn_overlays(isinhands, icon_file, style_flags = NONE) /obj/item/clothing/head/helmet/space/hostile_environment/worn_overlays(isinhands, icon_file, style_flags = NONE)
. = ..() . = ..()
@@ -155,19 +155,16 @@
else else
set_light(0) set_light(0)
/obj/item/twohanded/kinetic_crusher/update_icon() /obj/item/twohanded/kinetic_crusher/update_icon_state()
..()
cut_overlays()
if(!charged)
add_overlay("[icon_state]_uncharged")
if(light_on)
add_overlay("[icon_state]_lit")
spawn(1)
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
item_state = "crusher[wielded]" item_state = "crusher[wielded]"
/obj/item/twohanded/kinetic_crusher/update_overlays()
. = ..()
if(!charged)
. += "[icon_state]_uncharged"
if(light_on)
. += "[icon_state]_lit"
//destablizing force //destablizing force
/obj/item/projectile/destabilizer /obj/item/projectile/destabilizer
name = "destabilizing force" name = "destabilizing force"
@@ -40,7 +40,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list(
. += "<span class='notice'>Use in-hand to place a [singular_name].</span>" . += "<span class='notice'>Use in-hand to place a [singular_name].</span>"
. += "<span class='notice'>Alt-click to select a color. Current color is [picked_color].</span>" . += "<span class='notice'>Alt-click to select a color. Current color is [picked_color].</span>"
/obj/item/stack/marker_beacon/update_icon() /obj/item/stack/marker_beacon/update_icon_state()
icon_state = "[initial(icon_state)][lowertext(picked_color)]" icon_state = "[initial(icon_state)][lowertext(picked_color)]"
/obj/item/stack/marker_beacon/attack_self(mob/user) /obj/item/stack/marker_beacon/attack_self(mob/user)
@@ -129,14 +129,13 @@
. = ..() . = ..()
update_icon() update_icon()
/obj/item/organ/regenerative_core/update_icon() /obj/item/organ/regenerative_core/update_icon_state()
icon_state = inert ? "legion_soul_inert" : "legion_soul" icon_state = inert ? "legion_soul_inert" : "legion_soul"
cut_overlays()
/obj/item/organ/regenerative_core/update_overlays()
. = ..()
if(!inert && !preserved) if(!inert && !preserved)
add_overlay("legion_soul_crackle") . += "legion_soul_crackle"
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
/obj/item/organ/regenerative_core/legion/go_inert() /obj/item/organ/regenerative_core/legion/go_inert()
..() ..()
@@ -139,11 +139,10 @@
icon = 'icons/obj/lavaland/survival_pod.dmi' icon = 'icons/obj/lavaland/survival_pod.dmi'
icon_state = "sleeper" icon_state = "sleeper"
/obj/machinery/sleeper/survival_pod/update_icon() /obj/machinery/sleeper/survival_pod/update_overlays()
if(state_open) . = ..()
cut_overlays() if(!state_open)
else . += "sleeper_cover"
add_overlay("sleeper_cover")
//Computer //Computer
/obj/item/gps/computer /obj/item/gps/computer
@@ -190,8 +189,9 @@
flags_1 = NODECONSTRUCT_1 flags_1 = NODECONSTRUCT_1
var/empty = FALSE var/empty = FALSE
/obj/machinery/smartfridge/survival_pod/update_icon() /obj/machinery/stasis/survival_pod/ComponentInitialize()
return . = ..()
AddElement(/datum/element/update_icon_blocker)
/obj/machinery/smartfridge/survival_pod/Initialize(mapload) /obj/machinery/smartfridge/survival_pod/Initialize(mapload)
. = ..() . = ..()
+7 -7
View File
@@ -201,15 +201,15 @@
icon = 'icons/obj/lavaland/ash_flora.dmi' icon = 'icons/obj/lavaland/ash_flora.dmi'
icon_state = "mushroom_bowl" icon_state = "mushroom_bowl"
/obj/item/reagent_containers/glass/bowl/mushroom_bowl/update_icon() /obj/item/reagent_containers/glass/bowl/mushroom_bowl/update_icon_state()
cut_overlays() if(!reagents || !reagents.total_volume)
if(reagents && reagents.total_volume)
var/mutable_appearance/filling = mutable_appearance('icons/obj/lavaland/ash_flora.dmi', "fullbowl")
filling.color = mix_color_from_reagents(reagents.reagent_list)
add_overlay(filling)
else
icon_state = "mushroom_bowl" icon_state = "mushroom_bowl"
/obj/item/reagent_containers/glass/bowl/mushroom_bowl/update_overlays()
. = ..()
if(reagents && reagents.total_volume)
. += mutable_appearance('icons/obj/lavaland/ash_flora.dmi', "fullbowl", color = mix_color_from_reagents(reagents.reagent_list))
/obj/item/reagent_containers/glass/bowl/mushroom_bowl/attackby(obj/item/I,mob/user, params) /obj/item/reagent_containers/glass/bowl/mushroom_bowl/attackby(obj/item/I,mob/user, params)
if(istype(I, /obj/item/reagent_containers/food/snacks)) if(istype(I, /obj/item/reagent_containers/food/snacks))
var/obj/item/reagent_containers/food/snacks/S = I var/obj/item/reagent_containers/food/snacks/S = I
@@ -561,7 +561,7 @@
desc = "A flask with an almost-holy aura emitting from it. The label on the bottle says: 'erqo'hyy tvi'rf lbh jv'atf'." desc = "A flask with an almost-holy aura emitting from it. The label on the bottle says: 'erqo'hyy tvi'rf lbh jv'atf'."
list_reagents = list(/datum/reagent/flightpotion = 5) list_reagents = list(/datum/reagent/flightpotion = 5)
/obj/item/reagent_containers/glass/bottle/potion/update_icon() /obj/item/reagent_containers/glass/bottle/potion/update_icon_state()
if(reagents.total_volume) if(reagents.total_volume)
icon_state = "potionflask" icon_state = "potionflask"
else else
@@ -1072,6 +1072,10 @@
var/teleporting = FALSE //if we ARE teleporting var/teleporting = FALSE //if we ARE teleporting
var/friendly_fire_check = FALSE //if the blasts we make will consider our faction against the faction of hit targets var/friendly_fire_check = FALSE //if the blasts we make will consider our faction against the faction of hit targets
/obj/item/hierophant_club/ComponentInitialize()
. = ..()
AddElement(/datum/element/update_icon_updates_onmob)
/obj/item/hierophant_club/examine(mob/user) /obj/item/hierophant_club/examine(mob/user)
. = ..() . = ..()
. += "<span class='hierophant_warning'>The[beacon ? " beacon is not currently":"re is a beacon"] attached.</span>" . += "<span class='hierophant_warning'>The[beacon ? " beacon is not currently":"re is a beacon"] attached.</span>"
@@ -1134,13 +1138,8 @@
chaser_speed = max(chaser_speed + health_percent, 0.5) //one tenth of a second faster for each missing 10% of health chaser_speed = max(chaser_speed + health_percent, 0.5) //one tenth of a second faster for each missing 10% of health
blast_range -= round(health_percent * 10) //one additional range for each missing 10% of health blast_range -= round(health_percent * 10) //one additional range for each missing 10% of health
/obj/item/hierophant_club/update_icon() /obj/item/hierophant_club/update_icon_state()
icon_state = "hierophant_club[timer <= world.time ? "_ready":""][(beacon && !QDELETED(beacon)) ? "":"_beacon"]" icon_state = item_state = "hierophant_club[timer <= world.time ? "_ready":""][(beacon && !QDELETED(beacon)) ? "":"_beacon"]"
item_state = icon_state
if(ismob(loc))
var/mob/M = loc
M.update_inv_hands()
M.update_inv_back()
/obj/item/hierophant_club/proc/prepare_icon_update() /obj/item/hierophant_club/proc/prepare_icon_update()
update_icon() update_icon()
+1 -2
View File
@@ -341,9 +341,8 @@
..() ..()
update_icon() update_icon()
/obj/machinery/mineral/ore_redemption/update_icon() /obj/machinery/mineral/ore_redemption/update_icon_state()
if(powered()) if(powered())
icon_state = initial(icon_state) icon_state = initial(icon_state)
else else
icon_state = "[initial(icon_state)]-off" icon_state = "[initial(icon_state)]-off"
return
+1 -1
View File
@@ -87,7 +87,7 @@
..() ..()
update_icon() update_icon()
/obj/machinery/mineral/equipment_vendor/update_icon() /obj/machinery/mineral/equipment_vendor/update_icon_state()
if(powered()) if(powered())
icon_state = initial(icon_state) icon_state = initial(icon_state)
else else
+4 -5
View File
@@ -20,25 +20,24 @@
mats_per_stack = MINERAL_MATERIAL_AMOUNT mats_per_stack = MINERAL_MATERIAL_AMOUNT
var/list/stack_overlays var/list/stack_overlays
/obj/item/stack/ore/update_icon() /obj/item/stack/ore/update_overlays()
. = ..()
var/difference = min(ORESTACK_OVERLAYS_MAX, amount) - (LAZYLEN(stack_overlays)+1) var/difference = min(ORESTACK_OVERLAYS_MAX, amount) - (LAZYLEN(stack_overlays)+1)
if(difference == 0) if(difference == 0)
return return
else if(difference < 0 && LAZYLEN(stack_overlays)) //amount < stack_overlays, remove excess. else if(difference < 0 && LAZYLEN(stack_overlays)) //amount < stack_overlays, remove excess.
cut_overlays()
if (LAZYLEN(stack_overlays)-difference <= 0) if (LAZYLEN(stack_overlays)-difference <= 0)
stack_overlays = null; stack_overlays = null
else else
stack_overlays.len += difference stack_overlays.len += difference
else if(difference > 0) //amount > stack_overlays, add some. else if(difference > 0) //amount > stack_overlays, add some.
cut_overlays()
for(var/i in 1 to difference) for(var/i in 1 to difference)
var/mutable_appearance/newore = mutable_appearance(icon, icon_state) var/mutable_appearance/newore = mutable_appearance(icon, icon_state)
newore.pixel_x = rand(-8,8) newore.pixel_x = rand(-8,8)
newore.pixel_y = rand(-8,8) newore.pixel_y = rand(-8,8)
LAZYADD(stack_overlays, newore) LAZYADD(stack_overlays, newore)
if (stack_overlays) if (stack_overlays)
add_overlay(stack_overlays) . += stack_overlays
/obj/item/stack/ore/welder_act(mob/living/user, obj/item/I) /obj/item/stack/ore/welder_act(mob/living/user, obj/item/I)
if(!refined_type) if(!refined_type)
+1 -2
View File
@@ -41,9 +41,8 @@
..() ..()
update_icon() update_icon()
/obj/machinery/point_bank/update_icon() /obj/machinery/point_bank/update_icon_state()
if(powered()) if(powered())
icon_state = initial(icon_state) icon_state = initial(icon_state)
else else
icon_state = "[initial(icon_state)]-off" icon_state = "[initial(icon_state)]-off"
return
+16 -9
View File
@@ -14,20 +14,20 @@
var/force_replace_ai_name = FALSE var/force_replace_ai_name = FALSE
var/overrides_aicore_laws = FALSE // Whether the laws on the MMI, if any, override possible pre-existing laws loaded on the AI core. var/overrides_aicore_laws = FALSE // Whether the laws on the MMI, if any, override possible pre-existing laws loaded on the AI core.
/obj/item/mmi/update_icon() /obj/item/mmi/update_icon_state()
if(!brain) if(!brain)
icon_state = "mmi_off" icon_state = "mmi_off"
return else if(istype(brain, /obj/item/organ/brain/alien))
if(istype(brain, /obj/item/organ/brain/alien))
icon_state = "mmi_brain_alien" icon_state = "mmi_brain_alien"
braintype = "Xenoborg" //HISS....Beep.
else else
icon_state = "mmi_brain" icon_state = "mmi_brain"
braintype = "Cyborg"
/obj/item/mmi/update_overlays()
. = ..()
if(brainmob && brainmob.stat != DEAD) if(brainmob && brainmob.stat != DEAD)
add_overlay("mmi_alive") . += "mmi_alive"
else else
add_overlay("mmi_dead") . += "mmi_dead"
/obj/item/mmi/Initialize() /obj/item/mmi/Initialize()
. = ..() . = ..()
@@ -68,6 +68,10 @@
name = "Man-Machine Interface: [brainmob.real_name]" name = "Man-Machine Interface: [brainmob.real_name]"
update_icon() update_icon()
if(istype(brain, /obj/item/organ/brain/alien))
braintype = "Xenoborg" //HISS....Beep.
else
braintype = "Cyborg"
SSblackbox.record_feedback("amount", "mmis_filled", 1) SSblackbox.record_feedback("amount", "mmis_filled", 1)
@@ -85,7 +89,7 @@
to_chat(user, "<span class='notice'>You unlock and upend the MMI, spilling the brain onto the floor.</span>") to_chat(user, "<span class='notice'>You unlock and upend the MMI, spilling the brain onto the floor.</span>")
eject_brain(user) eject_brain(user)
update_icon() update_icon()
name = "Man-Machine Interface" name = initial(name)
/obj/item/mmi/proc/eject_brain(mob/user) /obj/item/mmi/proc/eject_brain(mob/user)
brainmob.container = null //Reset brainmob mmi var. brainmob.container = null //Reset brainmob mmi var.
@@ -129,7 +133,10 @@
name = "Man-Machine Interface: [brainmob.real_name]" name = "Man-Machine Interface: [brainmob.real_name]"
update_icon() update_icon()
return if(istype(brain, /obj/item/organ/brain/alien))
braintype = "Xenoborg" //HISS....Beep.
else
braintype = "Cyborg"
/obj/item/mmi/proc/replacement_ai_name() /obj/item/mmi/proc/replacement_ai_name()
return brainmob.name return brainmob.name
+2 -3
View File
@@ -184,11 +184,10 @@ GLOBAL_VAR(posibrain_notify_cooldown)
return return
/obj/item/mmi/posibrain/update_icon() /obj/item/mmi/posibrain/update_icon_state()
if(searching) if(searching)
icon_state = "[initial(icon_state)]-searching" icon_state = "[initial(icon_state)]-searching"
return else if(brainmob && brainmob.key)
if(brainmob && brainmob.key)
icon_state = "[initial(icon_state)]-occupied" icon_state = "[initial(icon_state)]-occupied"
else else
icon_state = initial(icon_state) icon_state = initial(icon_state)
@@ -100,6 +100,9 @@
var/obj/item/light_eater/blade var/obj/item/light_eater/blade
decay_factor = 0 decay_factor = 0
/obj/item/organ/heart/nightmare/ComponentInitialize()
. = ..()
AddElement(/datum/element/update_icon_blocker)
/obj/item/organ/heart/nightmare/attack(mob/M, mob/living/carbon/user, obj/target) /obj/item/organ/heart/nightmare/attack(mob/M, mob/living/carbon/user, obj/target)
if(M != user) if(M != user)
@@ -130,9 +133,6 @@
/obj/item/organ/heart/nightmare/Stop() /obj/item/organ/heart/nightmare/Stop()
return 0 return 0
/obj/item/organ/heart/nightmare/update_icon()
return //always beating visually
/obj/item/organ/heart/nightmare/on_death() /obj/item/organ/heart/nightmare/on_death()
if(!owner) if(!owner)
return return
@@ -633,8 +633,9 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
<br> <br>
"} "}
/obj/item/paper/guides/antag/guardian/update_icon() /obj/item/paper/guides/antag/guardian/ComponentInitialize()
return . = ..()
AddElement(/datum/element/update_icon_blocker)
/obj/item/paper/guides/antag/guardian/wizard /obj/item/paper/guides/antag/guardian/wizard
name = "Guardian Guide" name = "Guardian Guide"