From 60176a4c95334c05a5f54a63573349dd15aeba9b Mon Sep 17 00:00:00 2001 From: Darius <5933805+LeDrascol@users.noreply.github.com> Date: Sun, 10 Nov 2024 18:44:51 -0500 Subject: [PATCH] Rework bloodfledge ID - Add quirk ID type - Add quirk ID trim type - Add fallback ID card sprite - Add fallback ID card trim - Add new bloodfledge ID sprite - Update bloodfledge ID to use advanced type - Changed ID role from "-sucker Fledgling" to "-fledge" --- .../datums/components/crafting/equipment.dm | 2 +- modular_zzplurt/code/datums/id_trim/quirks.dm | 19 ++++++++++++++++++ .../quirks/positive_quirks/bloodfledge.dm | 7 ++++--- .../code/game/objects/items/cards_ids.dm | 15 +++++++++++--- modular_zzplurt/icons/obj/card.dmi | Bin 2461 -> 3811 bytes tgstation.dme | 1 + 6 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 modular_zzplurt/code/datums/id_trim/quirks.dm diff --git a/modular_zzplurt/code/datums/components/crafting/equipment.dm b/modular_zzplurt/code/datums/components/crafting/equipment.dm index 368548ba3092a..9e0e27dfac02a 100644 --- a/modular_zzplurt/code/datums/components/crafting/equipment.dm +++ b/modular_zzplurt/code/datums/components/crafting/equipment.dm @@ -3,7 +3,7 @@ name = "Hemorrhagic Sanguinizer" desc = "A modified Bloodfledge ID card capable of channeling technopathic blood magic." reqs = list( - /obj/item/card/id/vampire = 1, + /obj/item/card/id/advanced/quirk/bloodfledge = 1, /obj/item/assembly/signaler = 1, /obj/item/reagent_containers/syringe = 1, /obj/item/reagent_containers/blood = 1, diff --git a/modular_zzplurt/code/datums/id_trim/quirks.dm b/modular_zzplurt/code/datums/id_trim/quirks.dm new file mode 100644 index 0000000000000..3806a2a0ac4ca --- /dev/null +++ b/modular_zzplurt/code/datums/id_trim/quirks.dm @@ -0,0 +1,19 @@ +// This file contains all the trims associated with quirks. + +// Base entry +/datum/id_trim/quirk + trim_icon = 'modular_zzplurt/icons/obj/card.dmi' + trim_state = "trim_question" + assignment = "Error Reporter" + department_color = COLOR_NEARLY_ALL_BLACK + subdepartment_color = COLOR_NEARLY_ALL_BLACK + +// Quirk: Bloodsucker Fledgling +/datum/id_trim/quirk/bloodfledge + trim_state = "trim_bloodfledge" + // Colors disabled because Bloodfledge ID has a custom sprite + department_color = "#00000000" + subdepartment_color = "#00000000" + assignment = "Bloodsucker Fledgling" + intern_alt_name = "Fledgling" + threat_modifier = 2 // Equal to dress code violation diff --git a/modular_zzplurt/code/datums/quirks/positive_quirks/bloodfledge.dm b/modular_zzplurt/code/datums/quirks/positive_quirks/bloodfledge.dm index dbfd2debbd469..9f2771c84abaf 100644 --- a/modular_zzplurt/code/datums/quirks/positive_quirks/bloodfledge.dm +++ b/modular_zzplurt/code/datums/quirks/positive_quirks/bloodfledge.dm @@ -165,7 +165,7 @@ var/mob/living/carbon/human/quirk_mob = quirk_holder // Create vampire ID card - var/obj/item/card/id/vampire/id_vampire = new(get_turf(quirk_mob)) + var/obj/item/card/id/advanced/quirk/bloodfledge/id_vampire = new(get_turf(quirk_mob)) // Define default card type name var/card_name_type = "Blood" @@ -194,8 +194,9 @@ if(quirk_mob.chrono_age) id_vampire.registered_age = quirk_mob.chrono_age - // Set assignment - id_vampire.assignment = "[card_name_type]sucker Fledgling" + // Set assignment overrides + id_vampire.assignment = "[card_name_type]fledge" + id_vampire.trim?.assignment = "[card_name_type]fledge" // Update label id_vampire.update_label() diff --git a/modular_zzplurt/code/game/objects/items/cards_ids.dm b/modular_zzplurt/code/game/objects/items/cards_ids.dm index a404b9e7768bd..ab79864f0055b 100644 --- a/modular_zzplurt/code/game/objects/items/cards_ids.dm +++ b/modular_zzplurt/code/game/objects/items/cards_ids.dm @@ -1,6 +1,15 @@ -/obj/item/card/id/vampire - name = "Bloodfledge ID" +// Base quirk ID card +/obj/item/card/id/advanced/quirk + name = "quirky ID card" + desc = "Show this to a coder to indicate something went wrong." + assignment = "Error Reporter" + trim = /datum/id_trim/quirk + +// Quirk: Bloodsucker Fledgling +/obj/item/card/id/advanced/quirk/bloodfledge + name = "bloodfledge identification card" desc = "An ID made to easily recognize sanguine crew members without requiring medical scans." icon = 'modular_zzplurt/icons/obj/card.dmi' - icon_state = "vampire" + icon_state = "card_bloodfledge" assignment = "Bloodsucker Fledgling" + trim = /datum/id_trim/quirk/bloodfledge diff --git a/modular_zzplurt/icons/obj/card.dmi b/modular_zzplurt/icons/obj/card.dmi index 45b073437f0c094075eebacd1d33453f98a7d44b..f62249222b0cf8a6dbe7aec508d39ac3e1a6c45b 100644 GIT binary patch literal 3811 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 GJ?Y>4|H?-I diff --git a/tgstation.dme b/tgstation.dme index 1ce43a0887404..0512007467c1a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9400,6 +9400,7 @@ #include "modular_zzplurt\code\datums\elements\headpat.dm" #include "modular_zzplurt\code\datums\elements\holder_micro.dm" #include "modular_zzplurt\code\datums\elements\mob_holder.dm" +#include "modular_zzplurt\code\datums\id_trim\quirks.dm" #include "modular_zzplurt\code\datums\keybinding\human.dm" #include "modular_zzplurt\code\datums\keybinding\living.dm" #include "modular_zzplurt\code\datums\mutations\body.dm"