From 1d0f1a56ddd2fb5414b36d144c0b805294a385ec Mon Sep 17 00:00:00 2001 From: SandPoot Date: Sun, 8 Aug 2021 13:00:44 -0300 Subject: [PATCH 1/4] Upload files --- .../antagonists/changeling/changeling.dm | 18 +++++++--- .../changeling/powers/tiny_prick.dm | 2 +- .../changeling/powers/transform.dm | 33 ++++++++++++++---- icons/mob/radial.dmi | Bin 18359 -> 18236 bytes 4 files changed, 42 insertions(+), 11 deletions(-) diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 843e5c6db2..9df2bef563 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -297,9 +297,15 @@ prof.socks = H.socks prof.socks_color = H.socks_color - var/list/slots = list("head", "wear_mask", "back", "wear_suit", "w_uniform", "shoes", "belt", "gloves", "glasses", "ears", "wear_id", "s_store") - for(var/slot in slots) - if(slot in H.vars) + var/datum/icon_snapshot/entry = new + entry.name = H.name + entry.icon = H.icon + entry.icon_state = H.icon_state + entry.overlays = H.get_overlays_copy(list(HANDS_LAYER, HANDCUFF_LAYER, LEGCUFF_LAYER)) + prof.profile_snapshot = entry + + for(var/slot in GLOB.slots) + if(istype(user.vars[slot], GLOB.slot2type[slot])) var/obj/item/I = H.vars[slot] if(!I) continue @@ -518,6 +524,9 @@ var/socks var/socks_color + /// Icon snapshot of the profile + var/datum/icon_snapshot/profile_snapshot + /datum/changelingprofile/Destroy() qdel(dna) . = ..() @@ -535,13 +544,14 @@ newprofile.underwear = underwear newprofile.undershirt = undershirt newprofile.socks = socks - + newprofile.profile_snapshot = profile_snapshot /datum/antagonist/changeling/xenobio name = "Xenobio Changeling" give_objectives = FALSE show_in_roundend = FALSE //These are here for admin tracking purposes only you_are_greet = FALSE + antag_moodlet = FALSE /datum/antagonist/changeling/roundend_report() var/list/parts = list() diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm index a8fe56aae7..9bda1bf5b9 100644 --- a/code/modules/antagonists/changeling/powers/tiny_prick.dm +++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm @@ -78,7 +78,7 @@ if(changeling.chosen_sting) unset_sting(user) return - selected_dna = changeling.select_dna("Select the target DNA: ", "Target DNA") + selected_dna = changeling.select_dna() if(!selected_dna) return if(NOTRANSSTING in selected_dna.dna.species.species_traits) diff --git a/code/modules/antagonists/changeling/powers/transform.dm b/code/modules/antagonists/changeling/powers/transform.dm index 8e3a36740b..cfd42f05cf 100644 --- a/code/modules/antagonists/changeling/powers/transform.dm +++ b/code/modules/antagonists/changeling/powers/transform.dm @@ -134,7 +134,7 @@ //Change our DNA to that of somebody we've absorbed. /obj/effect/proc_holder/changeling/transform/sting_action(mob/living/carbon/human/user) var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) - var/datum/changelingprofile/chosen_prof = changeling.select_dna("Select the target DNA: ", "Target DNA") + var/datum/changelingprofile/chosen_prof = changeling.select_dna() if(!chosen_prof) return @@ -142,15 +142,21 @@ changeling_transform(user, chosen_prof) return TRUE -/datum/antagonist/changeling/proc/select_dna(var/prompt, var/title) +/** + * Gives a changeling a list of all possible dnas in their profiles to choose from and returns profile containing their chosen dna + */ +/datum/antagonist/changeling/proc/select_dna() var/mob/living/carbon/user = owner.current if(!istype(user)) return - var/list/names = list("Drop Flesh Disguise") - for(var/datum/changelingprofile/prof in stored_profiles) - names += "[prof.name]" + var/list/disguises = list("Drop Flesh Disguise" = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_drop")) + for(var/datum/changelingprofile/current_profile in stored_profiles) + var/datum/icon_snapshot/snap = current_profile.profile_snapshot + var/image/disguise_image = image(icon = snap.icon, icon_state = snap.icon_state) + disguise_image.overlays = snap.overlays + disguises[current_profile.name] = disguise_image - var/chosen_name = input(prompt, title, null) as null|anything in names + var/chosen_name = show_radial_menu(user, user, disguises, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 40, require_near = TRUE, tooltips = TRUE) if(!chosen_name) return @@ -158,6 +164,21 @@ for(var/slot in GLOB.slots) if(istype(user.vars[slot], GLOB.slot2type[slot])) qdel(user.vars[slot]) + return var/datum/changelingprofile/prof = get_dna(chosen_name) return prof + +/** + * Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The carbon mob interacting with the menu + */ +/datum/antagonist/changeling/proc/check_menu(mob/living/carbon/user) + if(!istype(user)) + return FALSE + var/datum/antagonist/changeling/changeling_datum = user.mind.has_antag_datum(/datum/antagonist/changeling) + if(!changeling_datum) + return FALSE + return TRUE diff --git a/icons/mob/radial.dmi b/icons/mob/radial.dmi index e6810691315f5a763558e17e904681da6ecb75b9..27b268eea0adbea27e56269db15cdb4cd885c8d6 100644 GIT binary patch literal 18236 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 Date: Sun, 8 Aug 2021 13:09:52 -0300 Subject: [PATCH 2/4] Update changeling.dm Web change because angry i didn't notice. --- code/modules/antagonists/changeling/changeling.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 9df2bef563..965839c327 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -305,7 +305,7 @@ prof.profile_snapshot = entry for(var/slot in GLOB.slots) - if(istype(user.vars[slot], GLOB.slot2type[slot])) + if(istype(H.vars[slot], GLOB.slot2type[slot])) var/obj/item/I = H.vars[slot] if(!I) continue From 6c338c6479384b05c50e9e7dd0bd198b1052a181 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Mon, 9 Aug 2021 11:03:51 -0300 Subject: [PATCH 3/4] forget it, this one works good enough already --- code/modules/antagonists/changeling/changeling.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 965839c327..8e6b5c9060 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -305,7 +305,7 @@ prof.profile_snapshot = entry for(var/slot in GLOB.slots) - if(istype(H.vars[slot], GLOB.slot2type[slot])) + if(slot in H.vars) var/obj/item/I = H.vars[slot] if(!I) continue From c453d2230d81f1271d350f86f97c83d758ae22f9 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Mon, 9 Aug 2021 11:31:33 -0300 Subject: [PATCH 4/4] perhaps this one as well? --- code/modules/antagonists/changeling/powers/humanform.dm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/code/modules/antagonists/changeling/powers/humanform.dm b/code/modules/antagonists/changeling/powers/humanform.dm index c38bfe3b5b..c9edc12eeb 100644 --- a/code/modules/antagonists/changeling/powers/humanform.dm +++ b/code/modules/antagonists/changeling/powers/humanform.dm @@ -10,15 +10,8 @@ //Transform into a human. /obj/effect/proc_holder/changeling/humanform/sting_action(mob/living/carbon/user) var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) - var/list/names = list() - for(var/datum/changelingprofile/prof in changeling.stored_profiles) - names += "[prof.name]" - var/chosen_name = input("Select the target DNA: ", "Target DNA", null) as null|anything in names - if(!chosen_name) - return - - var/datum/changelingprofile/chosen_prof = changeling.get_dna(chosen_name) + var/datum/changelingprofile/chosen_prof = changeling.select_dna() if(!chosen_prof) return if(!user || user.mob_transforming)