From 9d27e3b35086f75e6f4321ee7a5e006a3f920c60 Mon Sep 17 00:00:00 2001 From: Orchid <71460403+Orchidthederg@users.noreply.github.com> Date: Thu, 17 Oct 2024 19:54:52 -0500 Subject: [PATCH] Adds Sprites for Overmap Storm Severities (#3578) ## About The Pull Request Gives storms some visual differentiation from the minor/moderate/major versions, adding some visual flavor and readability. ![image](https://github.com/user-attachments/assets/9d4ec565-d207-4a2b-9644-b4861788452f) ### Meteors: ![image](https://github.com/user-attachments/assets/9a10bb88-9908-4535-b9cb-b927ea4d0ab4) ### Electrical Storms: ![image](https://github.com/user-attachments/assets/0dabba78-eab6-4d86-bf01-7e59f055eda5) ### Carp Storms: ![image](https://github.com/user-attachments/assets/4f7cd59d-a934-4637-902f-f68a4ffc6a9c) ## Why It's Good For The Game A ton of people have complained about not being able to pick apart various storm severities, and this makes it pretty obvious which ones will MURDER YOU AND YOUR CREW and which ones will pleasantly tickle your hull ## Changelog :cl: fix: fallback sprite for dust storms was set to the carp sprite for some reason. imageadd: fancy new carp, meteor, and electrical storm imagedel: old carp, meteor, and electrical storm sprites /:cl: (soul: taken out back and shot) --- code/modules/overmap/objects/event_datum.dm | 44 ++++++++++++++++---- icons/misc/overmap.dmi | Bin 5704 -> 12563 bytes 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/code/modules/overmap/objects/event_datum.dm b/code/modules/overmap/objects/event_datum.dm index d798fd74778a..9381e8cae6d5 100644 --- a/code/modules/overmap/objects/event_datum.dm +++ b/code/modules/overmap/objects/event_datum.dm @@ -41,7 +41,7 @@ /datum/overmap/event/meteor name = "asteroid field (moderate)" desc = "An area of space rich with asteroids, going fast through here could prove dangerous" - token_icon_state = "meteor1" + token_icon_state = "meteor_moderate1" chance_to_affect = 15 spread_chance = 50 chain_rate = 4 @@ -55,7 +55,15 @@ /datum/overmap/event/meteor/Initialize(position, ...) . = ..() - token.icon_state = "meteor[rand(1, 4)]" + switch(type) //woop! this picks one of two icon states for the severity of the storm in overmap.dmi + if(/datum/overmap/event/meteor/minor) + token.icon_state = "meteor_minor[rand(1, 2)]" + if(/datum/overmap/event/meteor) + token.icon_state = "meteor_moderate[rand(1, 2)]" + if(/datum/overmap/event/meteor/major) + token.icon_state = "meteor_major[rand(1, 2)]" + else + token.icon_state = "meteor_moderate1" token.color = "#a08444" token.light_color = "#a08444" token.update_appearance() @@ -133,7 +141,7 @@ /datum/overmap/event/electric name = "electrical storm (moderate)" desc = "A spatial anomaly, an unfortunately common sight on the frontier. Disturbing it tends to lead to intense electrical discharges" - token_icon_state = "electrical1" + token_icon_state = "electrical_moderate1" chance_to_affect = 15 spread_chance = 30 chain_rate = 3 @@ -143,7 +151,16 @@ /datum/overmap/event/electric/Initialize(position, ...) . = ..() - token.icon_state = "electrical[rand(1, 4)]" + switch(type) //woop! this picks one of two icon states for the severity of the storm in overmap.dmi + if(/datum/overmap/event/electric/minor) + token.icon_state = "electrical_minor[rand(1, 2)]" + if(/datum/overmap/event/electric) + token.icon_state = "electrical_moderate[rand(1, 2)]" + if(/datum/overmap/event/electric/major) + token.icon_state = "electrical_major[rand(1, 2)]" + else + token.icon_state = "electrical_moderate1" + token.color = "#e8e85c" token.light_color = "#e8e85c" token.update_appearance() @@ -218,7 +235,7 @@ /datum/overmap/event/meteor/carp name = "carp migration (moderate)" desc = "A migratory school of space carp. They travel at high speeds, and flying through them may cause them to impact your ship" - token_icon_state = "carp1" + token_icon_state = "carp_moderate1" chance_to_affect = 15 spread_chance = 50 chain_rate = 4 @@ -230,7 +247,16 @@ /datum/overmap/event/meteor/carp/Initialize(position, ...) . = ..() - token.icon_state = "carp[rand(1, 4)]" + switch(type) //woop! this picks one of two icon states for the severity of the storm in overmap.dmi + if(/datum/overmap/event/meteor/carp/minor) + token.icon_state = "carp_minor[rand(1, 2)]" + if(/datum/overmap/event/meteor/carp) + token.icon_state = "carp_moderate[rand(1, 2)]" + if(/datum/overmap/event/meteor/carp/major) + token.icon_state = "carp_major[rand(1, 2)]" + else + token.icon_state = "carp_moderate1" + token.color = "#7b1ca8" token.light_color = "#7b1ca8" token.update_icon() @@ -238,7 +264,7 @@ /datum/overmap/event/meteor/carp/minor name = "carp migration (minor)" - token_icon_state = "carp1" + token_icon_state = "carp_moderate1" chance_to_affect = 5 spread_chance = 25 chain_rate = 4 @@ -249,7 +275,7 @@ /datum/overmap/event/meteor/carp/major name = "carp migration (major)" - token_icon_state = "carp1" + token_icon_state = "carp_moderate1" chance_to_affect = 25 spread_chance = 25 chain_rate = 4 @@ -263,7 +289,7 @@ /datum/overmap/event/meteor/dust name = "dust cloud" desc = "A cloud of spaceborne dust. Relatively harmless, unless you're travelling at relative speeds" - token_icon_state = "carp1" + token_icon_state = "dust1" chance_to_affect = 30 spread_chance = 50 chain_rate = 4 diff --git a/icons/misc/overmap.dmi b/icons/misc/overmap.dmi index f0c9f6e446779c6989ef3c08927b08a15debdd9a..94ac33e29584879c09ff44eb428b176d61a6a39e 100644 GIT binary patch literal 12563 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 LQ=wAMBJ_U&hRX5T literal 5704 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 uv&bEUgGjHKNpu+39}~G&+v|5NP`V0000