Port TG updating appearances (#17943)

* Get pants that match or else you gonna look silly yo

* Posters

* Fix other hud elements

* Rereviewed

* Update shotglass.dm

* Fix for new merged PRs

* Typo

* Coming across other stuff

* Update theblob.dm

* No takebacksies

* smh i forget to leave a comment

* Updated for the detgun and cards

* Should have rerun langserver again

* No longer plastic, more in scope

* Damn you bluespace

* Reverting turret logic, out of scope at this point

* Tweak that part

* Went over energy guns again, and fixed UI White's sprite sheet

* Welding masks, glasses, and JUSTICE

* Update portable_atmospherics.dm

* Cleaning up, clearing things up

* Review and suggestions

* Update valve.dm

* More tweaks

* Missing character

* Not distinct lightmasks, so they can be overlays

* Update generator.dm

* Add parameter so holodeck doesn't try to make a perfect copy

* Update unsorted.dm

* Spiders

* Better fix for spiders, fix vamps too

* Ghosts

* Update telekinesis.dm

* Cleaning up old procs

* It's set up to not copy datums... Unless they're in a list

* Donuts, duct tape, and detgun. D3VR coming to Early Access

* Update procs that interact with doors so they call update_state instead

* Forgot one spot, and actually might as well just force lock

* Cleaning up other things... Sigh, and kitty ears

* oops

* Getting used to how it works

* blinds

* Going back to the suit obscuring thing, so it doesn't update all the time

* Missed that from merging master

* I made this PR and forgot about it

* Fix runtimes in cards

* Make things a bit more unified

* Update update_icons.dm

* yarn, really?

* Update library_equipment.dm

* Update shieldgen.dm

* Every time Charlie merges something, I go back and see if I can improve things further

* what's this? more?

* Update misc_special.dm

* wow, paper

* Review

* More reviews

* To be sure, seems like being broken messed something sometimes

* Brought airlocks closer to how TG works to iron out some stuff

* Pizza and morgue

* Doesn't seem to hurt, tried with holodeck

* Revert "Doesn't seem to hurt, tried with holodeck"

This reverts commit 158529302b.

* Icon conflict

* Fix organ damage

* Don't ask how. Why. It's like that on prod too.

* Cutting down on things and updating from TG.

* More flexible. Just in case the thing you stuck it on didn't destroy.

* Hydro was one the things I touched earlier on, better rework it

* Reviews

* Cleaning up further, also bri'ish

* Undo a change I did, and switch over to a more recent implementation

* Update biogenerator.dm

* Rolling back to old airlocks, but with new duct taped note

* Functionally the same. I'd just rather not have the smoothing happen there

* Went over APCs again

* Fix welding helmet names in species files

* Update airlock.dm

* Update persistent_overlay.dm

* Oh, topic
This commit is contained in:
Vi3trice
2022-07-21 08:11:59 +02:00
committed by GitHub
parent aa06a09f5f
commit f4b37b4177
429 changed files with 3487 additions and 3296 deletions
@@ -15,20 +15,20 @@
..()
pixel_x = rand(8,-8)
pixel_y = rand(8,-8)
update_icon()
update_icon(UPDATE_OVERLAYS)
/obj/item/reagent_containers/honeycomb/set_APTFT()
set hidden = TRUE
/obj/item/reagent_containers/honeycomb/update_icon()
overlays.Cut()
/obj/item/reagent_containers/honeycomb/update_overlays()
. = ..()
var/image/honey
if(honey_color)
honey = image(icon = 'icons/obj/hydroponics/harvest.dmi', icon_state = "greyscale_honey")
honey.color = honey_color
else
honey = image(icon = 'icons/obj/hydroponics/harvest.dmi', icon_state = "honey")
overlays += honey
. += honey
/obj/item/reagent_containers/honeycomb/proc/set_reagent(reagent)
@@ -39,4 +39,4 @@
reagents.add_reagent(R.id,5)
else
honey_color = ""
update_icon()
update_icon(UPDATE_OVERLAYS)
+7 -7
View File
@@ -57,7 +57,7 @@
if(A != container)
return
container = null
update_icon()
update_icon(UPDATE_ICON_STATE)
SStgui.update_uis(src)
/obj/machinery/biogenerator/RefreshParts()
@@ -75,7 +75,7 @@
if(effeciency_prev != efficiency)
update_ui_product_list() // We have have a higher `efficiency` now, and need to re-calc the product costs.
/obj/machinery/biogenerator/update_icon()
/obj/machinery/biogenerator/update_icon_state()
if(panel_open)
icon_state = "biogen-empty-o"
else if(!container)
@@ -118,7 +118,7 @@
O.forceMove(src)
container = O
to_chat(user, "<span class='notice'>You add the [container] to [src].</span>")
update_icon()
update_icon(UPDATE_ICON_STATE)
SStgui.update_uis(src)
return TRUE
@@ -260,7 +260,7 @@
processing = TRUE
SStgui.update_uis(src)
update_icon()
update_icon(UPDATE_ICON_STATE)
var/plants_processed = length(stored_plants)
for(var/obj/plant as anything in stored_plants)
@@ -276,7 +276,7 @@
/obj/machinery/biogenerator/proc/end_processing()
processing = FALSE
SStgui.update_uis(src)
update_icon()
update_icon(UPDATE_ICON_STATE)
/**
* Ejects the biogenerator's stored plants
@@ -346,7 +346,7 @@
biomass -= (D.materials[MAT_BIOMASS] / efficiency) * amount
SStgui.update_uis(src)
update_icon()
update_icon(UPDATE_ICON_STATE)
/**
* Detach the `container` from the biogenerator.
@@ -356,6 +356,6 @@
return
container.forceMove(get_turf(src))
container = null
update_icon()
update_icon(UPDATE_ICON_STATE)
#undef BASE_MAX_STORABLE_PLANTS
@@ -63,7 +63,7 @@
else
container_type = DRAINABLE | AMOUNT_VISIBLE
to_chat(user, "<span class='notice'>You close [src], letting you draw from its tap.</span>")
update_icon()
update_icon(UPDATE_ICON_STATE)
/obj/structure/fermenting_barrel/crowbar_act(mob/living/user, obj/item/I)
. = TRUE
@@ -85,7 +85,7 @@
new /obj/item/stack/sheet/wood(drop_location(), mat_drop)
..()
/obj/structure/fermenting_barrel/update_icon()
/obj/structure/fermenting_barrel/update_icon_state()
if(open)
icon_state = "barrel_open"
else
+13 -11
View File
@@ -82,21 +82,22 @@
min_wchance = 0
min_wrate = 0
/obj/machinery/plantgenes/update_icon()
..()
overlays.Cut()
/obj/machinery/plantgenes/update_icon_state()
if((stat & (BROKEN|NOPOWER)))
icon_state = "dnamod-off"
else
icon_state = "dnamod"
/obj/machinery/plantgenes/update_overlays()
. = ..()
if(seed)
overlays += "dnamod-dna"
. += "dnamod-dna"
if(panel_open)
overlays += "dnamod-open"
. += "dnamod-open"
/obj/machinery/plantgenes/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, "dnamod", "dnamod", I))
update_icon()
update_icon(UPDATE_OVERLAYS)
return
if(exchange_parts(user, I))
return
@@ -301,7 +302,7 @@
seed.verb_pickup()
seed = null
update_genes()
update_icon()
update_icon(UPDATE_OVERLAYS)
else
var/obj/item/I = usr.get_active_hand()
if(istype(I, /obj/item/seeds))
@@ -309,7 +310,7 @@
return
insert_seed(I)
to_chat(usr, "<span class='notice'>You add [I] to the machine.</span>")
update_icon()
update_icon(UPDATE_OVERLAYS)
else if(href_list["eject_disk"] && !operation)
if(disk)
disk.forceMove(loc)
@@ -376,7 +377,7 @@
gene.value = max(gene.value, min_wchance)
disk.update_name()
QDEL_NULL(seed)
update_icon()
update_icon(UPDATE_OVERLAYS)
if("replace")
if(disk && disk.gene && istype(disk.gene, G.type) && istype(G, /datum/plant_gene/core))
seed.genes -= G
@@ -417,7 +418,7 @@
S.forceMove(src)
seed = S
update_genes()
update_icon()
update_icon(UPDATE_OVERLAYS)
/obj/machinery/plantgenes/proc/update_genes()
core_genes = list()
@@ -477,7 +478,8 @@
if(istype(W, /obj/item/pen))
rename_interactive(user, W)
/obj/item/disk/plantgene/proc/update_name()
/obj/item/disk/plantgene/update_name()
. = ..()
if(gene)
name = "[gene.get_name()] (Plant Data Disk)"
else
+16 -12
View File
@@ -130,7 +130,7 @@
attack_verb = list("chopped", "sliced", "cut", "reaped")
hitsound = 'sound/weapons/bladeslice.ogg'
sharp = TRUE
var/extend = 1
var/extend = TRUE
var/swiping = FALSE
/obj/item/scythe/bone
@@ -174,7 +174,7 @@
force = 3
sharp = FALSE
w_class = WEIGHT_CLASS_SMALL
extend = 0
extend = FALSE
slot_flags = SLOT_BELT
origin_tech = "materials=3;combat=3"
attack_verb = list("hit", "poked")
@@ -184,8 +184,6 @@
extend = !extend
if(extend)
to_chat(user, "<span class='warning'>With a flick of your wrist, you extend the scythe. It's reaping time!</span>")
icon_state = "tscythe1"
item_state = "scythe0" //use the normal scythe in-hands
slot_flags = SLOT_BACK //won't fit on belt, but can be worn on belt when extended
w_class = WEIGHT_CLASS_BULKY //won't fit in backpacks while extended
force = 15 //slightly better than normal scythe damage
@@ -195,8 +193,6 @@
playsound(src.loc, 'sound/weapons/blade_unsheath.ogg', 50, 1) //Sound credit to Qat of Freesound.org
else
to_chat(user, "<span class='notice'>You collapse the scythe, folding it away for easy storage.</span>")
icon_state = "tscythe0"
item_state = null //no sprite for folded version, like a tele-baton
slot_flags = SLOT_BELT //can be worn on belt again, but no longer makes sense to wear on the back
w_class = WEIGHT_CLASS_SMALL
force = 3
@@ -205,12 +201,21 @@
//Collapse sound (blade sheath)
playsound(src.loc, 'sound/weapons/blade_sheath.ogg', 50, 1) //Sound credit to Q.K. of Freesound.org
sharp = extend
update_icon(UPDATE_ICON_STATE)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
H.update_inv_r_hand()
add_fingerprint(user)
/obj/item/scythe/tele/update_icon_state()
if(extend)
icon_state = "tscythe1"
item_state = "scythe0" //use the normal scythe in-hands
else
icon_state = "tscythe0"
item_state = null //no sprite for folded version, like a tele-baton
// *************************************
// Nutrient defines for hydroponics
// *************************************
@@ -240,7 +245,7 @@
/obj/item/reagent_containers/glass/bottle/nutrient/on_reagent_change()
. = ..()
update_icon()
update_icon(UPDATE_OVERLAYS)
if(reagents.total_volume)
hitsound = 'sound/weapons/jug_filled_impact.ogg'
mob_throw_hit_sound = 'sound/weapons/jug_filled_impact.ogg'
@@ -248,9 +253,8 @@
hitsound = 'sound/weapons/jug_empty_impact.ogg'
mob_throw_hit_sound = 'sound/weapons/jug_empty_impact.ogg'
/obj/item/reagent_containers/glass/bottle/nutrient/update_icon()
cut_overlays()
/obj/item/reagent_containers/glass/bottle/nutrient/update_overlays()
. = ..()
if(reagents.total_volume)
var/image/filling = image('icons/obj/reagentfillings.dmi', src, "plastic_jug10")
@@ -272,10 +276,10 @@
filling.icon_state = "plastic_jug100"
filling.icon += mix_color_from_reagents(reagents.reagent_list)
add_overlay(filling)
. += filling
if(!is_open_container())
add_overlay("lid_jug")
. += "lid_jug"
/obj/item/reagent_containers/glass/bottle/nutrient/ez
+40 -41
View File
@@ -125,7 +125,7 @@
lid_closed = !lid_closed
to_chat(user, "<span class='notice'>You [lid_closed ? "close" : "open"] the tray's lid.</span>")
update_icon()
update_state()
/obj/machinery/hydroponics/bullet_act(obj/item/projectile/Proj) //Works with the Somatoray to modify plant variables.
@@ -253,7 +253,7 @@
weedinvasion() // Weed invasion into empty tray
needs_update = 1
if (needs_update)
update_icon()
update_state()
return
/obj/machinery/hydroponics/proc/nutrimentMutation()
@@ -275,36 +275,34 @@
return
return
/obj/machinery/hydroponics/update_icon()
/obj/machinery/hydroponics/proc/update_state()
//Refreshes the icon and sets the luminosity
overlays.Cut()
if(self_sustaining)
if(istype(src, /obj/machinery/hydroponics/soil))
color = rgb(255, 175, 0)
else
overlays += image('icons/obj/hydroponics/equipment.dmi', icon_state = "gaia_blessing")
set_light(3)
if(lid_closed)
overlays += image('icons/obj/hydroponics/equipment.dmi', icon_state = "hydrocover")
update_icon_hoses()
if(myseed)
update_icon_plant()
update_icon_lights()
if(!self_sustaining)
else
if(myseed && myseed.get_gene(/datum/plant_gene/trait/glow))
var/datum/plant_gene/trait/glow/G = myseed.get_gene(/datum/plant_gene/trait/glow)
set_light(G.glow_range(myseed), G.glow_power(myseed), G.glow_color)
else
set_light(0)
return
update_icon()
/obj/machinery/hydroponics/proc/update_icon_hoses()
/obj/machinery/hydroponics/update_overlays()
. = ..()
if(self_sustaining && !istype(src, /obj/machinery/hydroponics/soil))
. += "gaia_blessing"
if(lid_closed)
. += "hydrocover"
if(myseed)
. += update_icon_plant()
. += update_icon_lights()
/obj/machinery/hydroponics/update_icon_state()
var/n = 0
for(var/Dir in GLOB.cardinal)
var/obj/machinery/hydroponics/t = locate() in get_step(src,Dir)
@@ -326,19 +324,20 @@
var/t_growthstate = clamp(round((age / myseed.maturation) * myseed.growthstages), 1, myseed.growthstages)
I = image(icon = myseed.growing_icon, icon_state = "[myseed.icon_grow][t_growthstate]")
I.layer = OBJ_LAYER + 0.01
overlays += I
return I
/obj/machinery/hydroponics/proc/update_icon_lights()
. = list()
if(waterlevel <= 10)
overlays += image('icons/obj/hydroponics/equipment.dmi', icon_state = "over_lowwater3")
. += "over_lowwater3"
if(nutrilevel <= 2)
overlays += image('icons/obj/hydroponics/equipment.dmi', icon_state = "over_lownutri3")
. += "over_lownutri3"
if(plant_health <= (myseed.endurance / 2))
overlays += image('icons/obj/hydroponics/equipment.dmi', icon_state = "over_lowhealth3")
. += "over_lowhealth3"
if(weedlevel >= 5 || pestlevel >= 5 || toxic >= 40)
overlays += image('icons/obj/hydroponics/equipment.dmi', icon_state = "over_alert3")
. += "over_alert3"
if(harvest)
overlays += image('icons/obj/hydroponics/equipment.dmi', icon_state = "over_harvest3")
. += "over_harvest3"
/obj/machinery/hydroponics/examine(user)
@@ -404,7 +403,7 @@
harvest = FALSE
adjustWeeds(-10) // Reset
adjustPests(-10) // Reset
update_icon()
update_state()
plant_hud_set_health()
plant_hud_set_status()
visible_message("<span class='warning'>The [oldPlantName] is overtaken by some [myseed.plantname]!</span>")
@@ -441,7 +440,7 @@
adjustWeeds(-10) // Reset
sleep(5) // Wait a while
update_icon()
update_state()
visible_message("<span class='warning'>[oldPlantName] suddenly mutates into [myseed.plantname]!</span>")
@@ -461,7 +460,7 @@
adjustWeeds(-10) // Reset
sleep(5) // Wait a while
update_icon()
update_state()
visible_message("<span class='warning'>The mutated weeds in [src] spawn some [myseed.plantname]!</span>")
else
to_chat(usr, "<span class='warning'>The few weeds in [src] seem to react, but only for a moment...</span>")
@@ -472,7 +471,7 @@
harvest = FALSE
adjustPests(-10) // Pests die
if(!dead)
update_icon()
update_state()
dead = TRUE
plant_hud_set_health()
plant_hud_set_status()
@@ -802,7 +801,7 @@
S.clear_reagents()
qdel(S)
H.update_icon()
H.update_state()
if(reagent_source) // If the source wasn't composted and destroyed
reagent_source.update_icon()
return 1
@@ -821,7 +820,7 @@
plant_hud_set_status()
lastcycle = world.time
O.forceMove(src)
update_icon()
update_state()
else
to_chat(user, "<span class='warning'>[src] already has seeds in it!</span>")
@@ -845,7 +844,7 @@
if(weedlevel > 0)
user.visible_message("[user] uproots the weeds.", "<span class='notice'>You remove the weeds from [src].</span>")
adjustWeeds(-10)
update_icon()
update_state()
else
to_chat(user, "<span class='warning'>This plot is completely devoid of weeds! It doesn't need uprooting.</span>")
@@ -877,7 +876,7 @@
plant_hud_set_health()
plant_hud_set_status()
adjustWeeds(-10) //Has a side effect of cleaning up those nasty weeds
update_icon()
update_state()
else if(istype(O, /obj/item/pen) && myseed)
myseed.variant_prompt(user, src)
else
@@ -892,7 +891,7 @@
user.visible_message("<span class='notice'>[user] [using_irrigation ? "" : "dis"]connects [src]'s irrigation hoses.</span>", \
"<span class='notice'>You [using_irrigation ? "" : "dis"]connect [src]'s irrigation hoses.</span>")
for(var/obj/machinery/hydroponics/h in range(1,src))
h.update_icon()
h.update_state()
/obj/machinery/hydroponics/wrench_act(mob/user, obj/item/I)
. = TRUE
@@ -933,7 +932,7 @@
dead = FALSE
to_chat(user, "<span class='notice'>You remove the dead plant from [src].</span>")
QDEL_NULL(myseed)
update_icon()
update_state()
plant_hud_set_status()
plant_hud_set_health()
else
@@ -953,7 +952,7 @@
dead = FALSE
plant_hud_set_status()
plant_hud_set_health()
update_icon()
update_state()
/// Tray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds.///
/obj/machinery/hydroponics/proc/adjustNutri(adjustamt)
@@ -992,7 +991,7 @@
/obj/machinery/hydroponics/proc/become_self_sufficient() // Ambrosia Gaia effect
visible_message("<span class='boldnotice'>[src] begins to glow with a beautiful light!</span>")
self_sustaining = TRUE
update_icon()
update_state()
///Diona Nymph Related Procs///
/obj/machinery/hydroponics/CanPass(atom/movable/mover, turf/target, height=0) //So nymphs can climb over top of trays.
@@ -1009,12 +1008,12 @@
if(weedlevel > 0)
user.adjust_nutrition(weedlevel * 15)
adjustWeeds(-10)
update_icon()
update_state()
visible_message("<span class='danger'>[user] begins rooting through [src], ripping out weeds and eating them noisily.</span>","<span class='danger'>You begin rooting through [src], ripping out weeds and eating them noisily.</span>")
else if(nutrilevel < 10)
user.adjust_nutrition(-((10 - nutrilevel) * 5))
adjustNutri(10)
update_icon()
update_state()
visible_message("<span class='danger'>[user] secretes a trickle of green liquid from its tail, refilling [src]'s nutrient tray.</span>","<span class='danger'>You secrete a trickle of green liquid from your tail, refilling [src]'s nutrient tray.</span>")
else
return ..()
@@ -1028,7 +1027,7 @@
use_power = NO_POWER_USE
wrenchable = FALSE
/obj/machinery/hydroponics/soil/update_icon_hoses()
/obj/machinery/hydroponics/soil/update_icon_state()
return // Has no hoses
/obj/machinery/hydroponics/soil/update_icon_lights()