From 28a598c892cd4464482420d33e380cec4829392e Mon Sep 17 00:00:00 2001 From: DrDuckedGoose Date: Sat, 7 Sep 2024 17:50:33 +1000 Subject: [PATCH] review - 7 9 24 --- code/__DEFINES/xenoarchaeology.dm | 6 +- code/_globalvars/sticker.dm | 13 +- code/controllers/subsystem/xenoarchaeology.dm | 123 ++++++++++-------- .../components/xenoartifact.dm | 4 +- .../tools/console/xenoarchaeology_console.dm | 66 +++++----- .../tools/console/xenoarchaeology_seller.dm | 18 +-- .../tools/xenoarchaeology_labeler.dm | 25 ++-- .../tools/xenoarchaeology_tracker.dm | 2 +- .../xenoarchaeology/traits/malfunctions.dm | 4 +- code/modules/xenoarchaeology/traits/minors.dm | 2 +- code/modules/xenoarchaeology/traits/traits.dm | 4 +- 11 files changed, 139 insertions(+), 128 deletions(-) diff --git a/code/__DEFINES/xenoarchaeology.dm b/code/__DEFINES/xenoarchaeology.dm index a194719d8b243..10103da2a871e 100644 --- a/code/__DEFINES/xenoarchaeology.dm +++ b/code/__DEFINES/xenoarchaeology.dm @@ -24,12 +24,12 @@ #define TRAIT_INCOMPATIBLE_STRUCTURE (1<<2) ///Signal for artifact trigger -#define XENOA_TRIGGER "XENOA_TRIGGER" +#define COMSIG_XENOA_TRIGGER "COMSIG_XENOA_TRIGGER" ///Signal for artifact calcified -#define XENOA_CALCIFIED "XENOA_CALCIFIED" +#define COMSIG_XENOA_CALCIFIED "COMSIG_XENOA_CALCIFIED" ///Signal for SS needing new mainc onsole -#define XENOA_NEW_CONSOLE "XENOA_NEW_CONSOLE" +#define COMSIG_XENOA_NEW_CONSOLE "COMSIG_XENOA_NEW_CONSOLE" ///generic starting cooldown timer for triggers #define XENOA_GENERIC_COOLDOWN 5 SECONDS diff --git a/code/_globalvars/sticker.dm b/code/_globalvars/sticker.dm index 158d4d3e21136..72fcdd2524daf 100644 --- a/code/_globalvars/sticker.dm +++ b/code/_globalvars/sticker.dm @@ -11,11 +11,12 @@ GLOBAL_LIST(stickers_by_series) */ var/list/temp = list() var/series = STICKER_SERIES_1 //Make sure you update this if you add more series - for(var/obj/item/sticker/S as() in subtypesof(/obj/item/sticker)) - var/index = (series & initial(S.sticker_flags)) - if(!index || (ABSTRACT & initial(S.item_flags))) + for(var/obj/item/sticker/sticker as anything in subtypesof(/obj/item/sticker)) + var/index = (series & initial(sticker.sticker_flags)) + if(!index || (ABSTRACT & initial(sticker.item_flags))) continue - if(!temp["[index]"]) - temp["[index]"] = list() - temp["[index]"] += S + var/string_index = "[index]" + if(!temp[string_index]) + temp[string_index] = list() + temp[string_index] += sticker GLOB.stickers_by_series = temp diff --git a/code/controllers/subsystem/xenoarchaeology.dm b/code/controllers/subsystem/xenoarchaeology.dm index f77df91036f5b..11b8f196c9e1a 100644 --- a/code/controllers/subsystem/xenoarchaeology.dm +++ b/code/controllers/subsystem/xenoarchaeology.dm @@ -45,6 +45,13 @@ SUBSYSTEM_DEF(xenoarchaeology) xenoa_seller_names = world.file2list("strings/names/science_seller.txt") xenoa_seller_dialogue = world.file2list("strings/science_dialogue.txt") xenoa_artifact_names = world.file2list("strings/names/artifact_sentience.txt") + //in a rare case where that the game failed to get these texts + if(!length(xenoa_seller_names)) + xenoa_seller_names = list("Brock Enn") + if(!length(xenoa_seller_dialogue)) + xenoa_seller_dialogue = list("Something isn't right!") + if(!length(xenoa_artifact_names)) + xenoa_artifact_names = list("Brock Enn") //Dirty unwashed masses xenoa_all_traits = compile_artifact_weights(/datum/xenoartifact_trait) @@ -59,18 +66,18 @@ SUBSYSTEM_DEF(xenoarchaeology) labeler_traits = new() labeler_traits.compile_artifact_whitelist(/datum/xenoartifact_material) labeler_traits_filter = list() - for(var/datum/xenoartifact_trait/T as() in xenoa_all_traits) - T = new T() //Instantiate so we can access a PROC - var/list/hints = T.get_dictionary_hint() - for(var/i in hints) - if(!labeler_traits_filter[i["icon"]]) - labeler_traits_filter[i["icon"]] = list() - labeler_traits_filter[i["icon"]] += list("[initial(T.label_name)]") - QDEL_NULL(T) + for(var/datum/xenoartifact_trait/trait as anything in xenoa_all_traits) + trait = new trait() //Instantiate so we can access a PROC + var/list/hints = trait.get_dictionary_hint() + for(var/each_hint in hints) + if(!labeler_traits_filter[each_hint["icon"]]) + labeler_traits_filter[each_hint["icon"]] = list() + labeler_traits_filter[each_hint["icon"]] += list("[initial(trait.label_name)]") + QDEL_NULL(trait) //Populate traits by material material_traits = list() - for(var/datum/xenoartifact_material/material_index as() in typesof(/datum/xenoartifact_material)) + for(var/datum/xenoartifact_material/material_index as anything in typesof(/datum/xenoartifact_material)) if(SSxenoarchaeology.material_traits[initial(material_index.material_parent)]) continue var/datum/xenoa_material_traits/material = new() @@ -99,19 +106,19 @@ SUBSYSTEM_DEF(xenoarchaeology) labeler_tooltip_stats = SSxenoarchaeology.labeler_tooltip_stats labeler_traits_filter = SSxenoarchaeology.labeler_traits_filter -/datum/controller/subsystem/xenoarchaeology/proc/register_console(var/obj/machinery/computer/xenoarchaeology_console/new_console) +/datum/controller/subsystem/xenoarchaeology/proc/register_console(obj/machinery/computer/xenoarchaeology_console/new_console) if(main_console) - main_console.main_console = FALSE + main_console.is_main_console = FALSE UnregisterSignal(main_console, COMSIG_PARENT_QDELETING) main_console = new_console - main_console.main_console = TRUE + main_console.is_main_console = TRUE RegisterSignal(main_console, COMSIG_PARENT_QDELETING, PROC_REF(catch_console)) /datum/controller/subsystem/xenoarchaeology/proc/catch_console(datum/source) SIGNAL_HANDLER main_console = null - SEND_SIGNAL(src, XENOA_NEW_CONSOLE) + SEND_SIGNAL(src, COMSIG_XENOA_NEW_CONSOLE) ///Proc used to compile trait weights into a list /datum/controller/subsystem/xenoarchaeology/proc/compile_artifact_weights(path, keyed = FALSE) @@ -119,24 +126,24 @@ SUBSYSTEM_DEF(xenoarchaeology) return var/list/temp = subtypesof(path) var/list/weighted = list() - for(var/datum/xenoartifact_trait/T as() in temp) - if(initial(T.flags) & XENOA_HIDE_TRAIT) + for(var/datum/xenoartifact_trait/trait as anything in temp) + if(initial(trait.flags) & XENOA_HIDE_TRAIT) continue //Filter out abstract types - if(T == /datum/xenoartifact_trait/activator || T == /datum/xenoartifact_trait/minor || T == /datum/xenoartifact_trait/major || T == /datum/xenoartifact_trait/malfunction) + if(trait == /datum/xenoartifact_trait/activator || trait == /datum/xenoartifact_trait/minor || trait == /datum/xenoartifact_trait/major || trait == /datum/xenoartifact_trait/malfunction) continue if(keyed) - weighted += list(initial(T.label_name) = (T)) + weighted[initial(trait.label_name)] = (trait) else - weighted += list((T) = initial(T.rarity)) //The (T) will not work if it is T + weighted[(trait)] = initial(trait.rarity) //The (trait) will not work if it is trait return weighted ///Compile a list of traits from a given compatability flag/s /datum/controller/subsystem/xenoarchaeology/proc/compile_artifact_compatibilties(flags) var/list/output = list() - for(var/datum/xenoartifact_trait/T as() in xenoa_all_traits) - if(initial(T.incompatabilities) & flags) - output += T + for(var/datum/xenoartifact_trait/trait as anything in xenoa_all_traits) + if(initial(trait.incompatabilities) & flags) + output += trait return output ///Get a trait incompatability list based on the passed type @@ -156,18 +163,19 @@ SUBSYSTEM_DEF(xenoarchaeology) ///Proc for labeler baking /datum/controller/subsystem/xenoarchaeology/proc/get_trait_list_stats(list/trait_type) var/list/temp = list() - for(var/datum/xenoartifact_trait/T as() in trait_type) + for(var/datum/xenoartifact_trait/trait as anything in trait_type) + var/name = initial(trait.label_name) //generate tool tips - temp += list(initial(T.label_name)) - var/datum/xenoartifact_trait/hint_holder = new T() - labeler_tooltip_stats["[initial(T.label_name)]"] = list("weight" = initial(T.weight), "conductivity" = initial(T.conductivity), "alt_name" = initial(T.alt_label_name), "desc" = initial(T.label_desc), "hints" = hint_holder.get_dictionary_hint()) + temp += list(name) + var/datum/xenoartifact_trait/hint_holder = new trait() + labeler_tooltip_stats["[name]"] = list("weight" = initial(trait.weight), "conductivity" = initial(trait.conductivity), "alt_name" = initial(trait.alt_label_name), "desc" = initial(trait.label_desc), "hints" = hint_holder.get_dictionary_hint()) qdel(hint_holder) //Generate material availability var/list/materials = list(XENOA_BLUESPACE, XENOA_PLASMA, XENOA_URANIUM, XENOA_BANANIUM, XENOA_PEARL) - labeler_tooltip_stats["[initial(T.label_name)]"]["availability"] = list()) - for(var/datum/xenoartifact_material/M as() in materials) - if(initial(M.trait_flags) & initial(T.flags)) - labeler_tooltip_stats["[initial(T.label_name)]"]["availability"] += list(list("color" = initial(M.material_color), "icon" = initial(M.label_icon))) + labeler_tooltip_stats["[name]"]["availability"] = list() + for(var/datum/xenoartifact_material/M as anything in materials) + if(initial(M.trait_flags) & initial(trait.flags)) + labeler_tooltip_stats["[name]"]["availability"] += list(list("color" = initial(M.material_color), "icon" = initial(M.label_icon))) return temp /* @@ -186,23 +194,23 @@ SUBSYSTEM_DEF(xenoarchaeology) ///Populate our trait lists from a given material path /datum/xenoa_material_traits/proc/compile_artifact_whitelist(datum/xenoartifact_material/material) - for(var/datum/xenoartifact_trait/T as() in SSxenoarchaeology.xenoa_all_traits) - if(initial(T.flags) & XENOA_HIDE_TRAIT) + for(var/datum/xenoartifact_trait/trait as anything in SSxenoarchaeology.xenoa_all_traits) + if(initial(trait.flags) & XENOA_HIDE_TRAIT) continue - if(!(initial(T.flags) & initial(material.trait_flags))) + if(!(initial(trait.flags) & initial(material.trait_flags))) continue //Sort trait into list - if(ispath(T, /datum/xenoartifact_trait/activator)) - activators[T] = initial(T.rarity) + if(ispath(trait, /datum/xenoartifact_trait/activator)) + activators[trait] = initial(trait.rarity) continue - if(ispath(T, /datum/xenoartifact_trait/minor)) - minors[T] = initial(T.rarity) + if(ispath(trait, /datum/xenoartifact_trait/minor)) + minors[trait] = initial(trait.rarity) continue - if(ispath(T, /datum/xenoartifact_trait/major)) - majors[T] = initial(T.rarity) + if(ispath(trait, /datum/xenoartifact_trait/major)) + majors[trait] = initial(trait.rarity) continue - if(ispath(T, /datum/xenoartifact_trait/malfunction)) - malfunctions[T] = initial(T.rarity) + if(ispath(trait, /datum/xenoartifact_trait/malfunction)) + malfunctions[trait] = initial(trait.rarity) continue compiled = TRUE @@ -210,32 +218,33 @@ SUBSYSTEM_DEF(xenoarchaeology) /datum/xenoa_material_traits/stats /datum/xenoa_material_traits/stats/compile_artifact_whitelist(datum/xenoartifact_material/material) - for(var/datum/xenoartifact_trait/T as() in SSxenoarchaeology.xenoa_all_traits) - if(initial(T.flags) & XENOA_HIDE_TRAIT) + for(var/datum/xenoartifact_trait/trait as anything in SSxenoarchaeology.xenoa_all_traits) + if(initial(trait.flags) & XENOA_HIDE_TRAIT) continue - if(!(initial(T.flags) & initial(material.trait_flags))) + if(!(initial(trait.flags) & initial(material.trait_flags))) continue //We're gonna be nice an populate labeler_tooltip_stats while we're at it, because we're nice //generate tool tips - var/datum/xenoartifact_trait/hint_holder = new T() //Instantiate so we can access a PROC - SSxenoarchaeology.labeler_tooltip_stats["[initial(T.label_name)]"] = list("weight" = initial(T.weight), "conductivity" = initial(T.conductivity), "alt_name" = initial(T.alt_label_name), "desc" = initial(T.label_desc), "hints" = hint_holder.get_dictionary_hint()) + var/datum/xenoartifact_trait/hint_holder = new trait() //Instantiate so we can access a PROC + var/name = initial(trait.label_name) + SSxenoarchaeology.labeler_tooltip_stats["[name]"] = list("weight" = initial(trait.weight), "conductivity" = initial(trait.conductivity), "alt_name" = initial(trait.alt_label_name), "desc" = initial(trait.label_desc), "hints" = hint_holder.get_dictionary_hint()) qdel(hint_holder) //Generate material availability var/list/materials = list(XENOA_BLUESPACE, XENOA_PLASMA, XENOA_URANIUM, XENOA_BANANIUM, XENOA_PEARL) - SSxenoarchaeology.labeler_tooltip_stats["[initial(T.label_name)]"]["availability"] = list() - for(var/datum/xenoartifact_material/M as() in materials) - if(initial(M.trait_flags) & initial(T.flags)) - SSxenoarchaeology.labeler_tooltip_stats["[initial(T.label_name)]"]["availability"] += list(list("color" = initial(M.material_color), "icon" = initial(M.label_icon))) + SSxenoarchaeology.labeler_tooltip_stats["[name]"]["availability"] = list() + for(var/datum/xenoartifact_material/M as anything in materials) + if(initial(M.trait_flags) & initial(trait.flags)) + SSxenoarchaeology.labeler_tooltip_stats["[name]"]["availability"] += list(list("color" = initial(M.material_color), "icon" = initial(M.label_icon))) //Sort trait into list - if(ispath(T, /datum/xenoartifact_trait/activator) && (T != /datum/xenoartifact_trait/activator)) - activators += initial(T.label_name) + if(ispath(trait, /datum/xenoartifact_trait/activator) && (trait != /datum/xenoartifact_trait/activator)) + activators += name continue - if(ispath(T, /datum/xenoartifact_trait/minor) && (T != /datum/xenoartifact_trait/minor)) - minors += initial(T.label_name) + if(ispath(trait, /datum/xenoartifact_trait/minor) && (trait != /datum/xenoartifact_trait/minor)) + minors += name continue - if(ispath(T, /datum/xenoartifact_trait/major) && (T != /datum/xenoartifact_trait/major)) - majors += initial(T.label_name) + if(ispath(trait, /datum/xenoartifact_trait/major) && (trait != /datum/xenoartifact_trait/major)) + majors += name continue - if(ispath(T, /datum/xenoartifact_trait/malfunction) && (T != /datum/xenoartifact_trait/malfunction)) - malfunctions += initial(T.label_name) + if(ispath(trait, /datum/xenoartifact_trait/malfunction) && (trait != /datum/xenoartifact_trait/malfunction)) + malfunctions += name continue diff --git a/code/modules/xenoarchaeology/components/xenoartifact.dm b/code/modules/xenoarchaeology/components/xenoartifact.dm index 0abfce2d75377..c3100ff042fe7 100644 --- a/code/modules/xenoarchaeology/components/xenoartifact.dm +++ b/code/modules/xenoarchaeology/components/xenoartifact.dm @@ -138,7 +138,7 @@ playsound(get_turf(parent), 'sound/magic/blink.ogg', 50, TRUE) //Trait triggers for(var/i in SSxenoarchaeology.xenoartifact_trait_priorities) - SEND_SIGNAL(src, XENOA_TRIGGER, i) + SEND_SIGNAL(src, COMSIG_XENOA_TRIGGER, i) //Malfunctions if(!calibrated) handle_malfunctions() @@ -316,7 +316,7 @@ //Disable artifact cooldown_override = TRUE - SEND_SIGNAL(src, XENOA_CALCIFIED) + SEND_SIGNAL(src, COMSIG_XENOA_CALCIFIED) //Calibrates. Does the opposite of calcify /datum/component/xenoartifact/proc/calibrate() diff --git a/code/modules/xenoarchaeology/tools/console/xenoarchaeology_console.dm b/code/modules/xenoarchaeology/tools/console/xenoarchaeology_console.dm index 3134eb7674aba..5837f5a11c1e1 100644 --- a/code/modules/xenoarchaeology/tools/console/xenoarchaeology_console.dm +++ b/code/modules/xenoarchaeology/tools/console/xenoarchaeology_console.dm @@ -36,21 +36,21 @@ var/list/history = list() ///Is this console the main character? - var/main_console = FALSE + var/is_main_console = FALSE /obj/machinery/computer/xenoarchaeology_console/Initialize() . = ..() //Link up with SS to see if we're the choosen one if(!SSxenoarchaeology.main_console) SSxenoarchaeology.register_console(src) - RegisterSignal(SSxenoarchaeology, XENOA_NEW_CONSOLE, PROC_REF(be_the_guy)) + RegisterSignal(SSxenoarchaeology, COMSIG_XENOA_NEW_CONSOLE, PROC_REF(be_the_guy)) //Link relevant stuff linked_techweb = SSresearch.science_tech budget = SSeconomy.get_budget_account(ACCOUNT_SCI_ID) var/list/new_sellers = sellers.Copy() sellers = list() - for(var/datum/rnd_lister/S as() in new_sellers) - sellers += new S() + for(var/datum/rnd_lister/seller as anything in new_sellers) + sellers += new seller() //Radio setup radio = new /obj/item/radio/headset/headset_sci(src) //Look for sold artifacts @@ -73,14 +73,14 @@ //Seller data data["sellers"] = list() - for(var/datum/rnd_lister/seller as() in sellers) + for(var/datum/rnd_lister/seller as anything in sellers) var/list/stock = list() - for(var/atom/A as() in seller.current_stock) - stock += list(list("name" = A?.name, "description" = A?.desc, "id" = REF(A), "cost" = seller.get_price(A) || 0)) + for(var/atom/listing as anything in seller.current_stock) + stock += list(list("name" = listing?.name, "description" = listing?.desc, "id" = REF(listing), "cost" = seller.get_price(listing) || 0)) data["sellers"] += list(list("name" = seller.name, "dialogue" = seller.dialogue, "stock" = stock, "id" = REF(seller))) //Cash available - var/datum/bank_account/D = SSeconomy.get_budget_account(ACCOUNT_CAR_ID) - data["money"] = D.account_balance + var/datum/bank_account/account = SSeconomy.get_budget_account(ACCOUNT_CAR_ID) + data["money"] = account.account_balance //Audio data["purchase_radio"] = radio_purchase_notice data["solved_radio"] = radio_solved_notice @@ -118,8 +118,8 @@ if(!(locate(params["item_id"]) in seller.current_stock)) return //If we got no cash - var/datum/bank_account/D = SSeconomy.get_budget_account(ACCOUNT_SCI_ID) - if(seller.get_price(locate(params["item_id"])) > D.account_balance) + var/datum/bank_account/account = SSeconomy.get_budget_account(ACCOUNT_SCI_ID) + if(seller.get_price(locate(params["item_id"])) > account.account_balance) say("Insufficient funds!") return //Annouce it @@ -151,7 +151,7 @@ SSsupply.shoppinglist -= current_order console_orders -= current_order qdel(current_order) - current_order = new /datum/supply_order(current_pack, name, rank, ckey, "Research Material Requisition", D) + current_order = new /datum/supply_order(current_pack, name, rank, ckey, "Research Material Requisition", account) SSsupply.shoppinglist += current_order console_orders[current_order] = current_pack ui_update() @@ -165,7 +165,7 @@ current_pack?.current_supply = max(1, current_pack.current_supply) //Don't worry about it :^) current_pack.cost += seller?.get_price(locate(params["item_id"])) current_pack.contains += seller?.buy_stock(locate(params["item_id"])) - current_order = new /datum/supply_order(current_pack, name, rank, ckey, "Research Material Requisition", D) + current_order = new /datum/supply_order(current_pack, name, rank, ckey, "Research Material Requisition", account) current_order.generateRequisition(get_turf(src)) SSsupply.shoppinglist += current_order console_orders[current_order] = current_pack @@ -177,15 +177,15 @@ ui_update() -/obj/machinery/computer/xenoarchaeology_console/proc/check_sold(datum/source, atom/movable/AM, sold) +/obj/machinery/computer/xenoarchaeology_console/proc/check_sold(datum/source, atom/movable/_label, sold) SIGNAL_HANDLER - var/obj/item/sticker/xenoartifact_label/L = AM - if(!istype(L)) + var/obj/item/sticker/xenoartifact_label/label = _label + if(!istype(label)) return - var/atom/artifact = L.loc - var/datum/component/xenoartifact/X = artifact?.GetComponent(/datum/component/xenoartifact) - if(!X || !artifact) + var/atom/artifact = label.loc + var/datum/component/xenoartifact/artifact_component = artifact?.GetComponent(/datum/component/xenoartifact) + if(!artifact_component || !artifact) return //Grab values to calculate success var/score = 0 @@ -194,22 +194,22 @@ var/max_bonus = 0 var/attempted_bonus = FALSE var/list/traits_by_type = list() - for(var/i in X.artifact_traits) //By priority - for(var/datum/xenoartifact_trait/T in X.artifact_traits[i]) //By trait in priorty - traits_by_type += list(T.type) - if(T.contribute_calibration) + for(var/trait in artifact_component.artifact_traits) //By priority + for(var/datum/xenoartifact_trait/trait_datum in artifact_component.artifact_traits[trait]) //By trait in priorty + traits_by_type += list(trait_datum.type) + if(trait_datum.contribute_calibration) max_score += 1 else max_bonus += 1 - for(var/datum/xenoartifact_trait/T as() in L.traits) - if((T in traits_by_type)) - if(initial(T.contribute_calibration)) + for(var/datum/xenoartifact_trait/trait_datum as anything in label.traits) + if((trait_datum in traits_by_type)) + if(initial(trait_datum.contribute_calibration)) score += 1 else bonus += 1 attempted_bonus = TRUE else - if(initial(T.contribute_calibration)) + if(initial(trait_datum.contribute_calibration)) score -= 1 else bonus -= 1 @@ -219,13 +219,13 @@ var/bonus_rate = max(1, 2*(bonus/(max_bonus||1))) //Rewards //Research Points - var/rnd_reward = max(0, (artifact.custom_price*X.artifact_type.rnd_rate)*success_rate) * bonus_rate + var/rnd_reward = max(0, (artifact.custom_price*artifact_component.artifact_type.rnd_rate)*success_rate) * bonus_rate //Discovery Points - var/dp_reward = max(0, (artifact.custom_price*X.artifact_type.dp_rate)*success_rate) * bonus_rate + var/dp_reward = max(0, (artifact.custom_price*artifact_component.artifact_type.dp_rate)*success_rate) * bonus_rate //Money //TODO: Check if this is sufficient - Racc : PLAYTEST var/monetary_reward = ((artifact.custom_price * success_rate * 1.5)^1.1) * (success_rate >= 0.5 ? 1 : 0) * bonus_rate //Alloctae - if(main_console) + if(is_main_console) linked_techweb?.add_point_type(TECHWEB_POINT_TYPE_GENERIC, rnd_reward) linked_techweb?.add_point_type(TECHWEB_POINT_TYPE_DISCOVERY, dp_reward) budget.adjust_money(monetary_reward) @@ -239,11 +239,11 @@ if(0.9 to INFINITY) success_type = "incredible discovery" else - success_type = prob(1) ? "scientific failure." : "who let the clown in?" + success_type = prob(1/100) ? "scientific failure." : "who let the clown in?" if(radio_solved_notice) radio?.talk_into(src, "[artifact] has been submitted with a success rate of [100*success_rate]% '[success_type]', \ [attempted_bonus ? "with a bonus achieved of [100 * (bonus / (max_bonus||1))]%, " : ""]\ - at [station_time_timestamp()]. The Research Department has been awarded [rnd_reward] Research Points, [dp_reward] Discovery Points, and a monetary commision of $[monetary_reward].",\ + at [station_time_timestamp()]. The Research Department has been awarded [rnd_reward] Research Points, [dp_reward] Discovery Points, and a monetary commision of [monetary_reward] credits.",\ RADIO_CHANNEL_SCIENCE) history += list("[artifact] has been submitted with a success rate of [100*success_rate]% '[success_type]', \ at [station_time_timestamp()]. The Research Department has been awarded [rnd_reward] Research Points, [dp_reward] Discovery Points, and a monetary commision of [monetary_reward] credits.") @@ -251,7 +251,7 @@ /obj/machinery/computer/xenoarchaeology_console/proc/be_the_guy(datum/source) SIGNAL_HANDLER - if(!SSxenoarchaeology.main_console && !main_console) + if(!SSxenoarchaeology.main_console && !is_main_console) SSxenoarchaeology.register_console(src) //Circuitboard for this console diff --git a/code/modules/xenoarchaeology/tools/console/xenoarchaeology_seller.dm b/code/modules/xenoarchaeology/tools/console/xenoarchaeology_seller.dm index e296a4bf13757..183b29639ead1 100644 --- a/code/modules/xenoarchaeology/tools/console/xenoarchaeology_seller.dm +++ b/code/modules/xenoarchaeology/tools/console/xenoarchaeology_seller.dm @@ -38,27 +38,27 @@ return new stock_type() ///Get the price of an atom, persumably our stock, based on our selling personality -/datum/rnd_lister/proc/get_price(atom/A) +/datum/rnd_lister/proc/get_price(atom/listing) switch(personality) if(SELLER_PERSONALITY_GENEROUS) - return A.custom_price * 0.8 + return listing.custom_price * 0.8 if(SELLER_PERSONALITY_NORMAL) - return A.custom_price + return listing.custom_price if(SELLER_PERSONALITY_STINGY) - return A.custom_price * 1.5 + return listing.custom_price * 1.5 else return 0 //FOR FREE! -/datum/rnd_lister/proc/buy_stock(atom/A) +/datum/rnd_lister/proc/buy_stock(atom/listing) //Remove stock and prepare to replace it - current_stock -= A + current_stock -= listing addtimer(CALLBACK(src, PROC_REF(replenish_stock)), restock_time) - return A + return listing /datum/rnd_lister/proc/replenish_stock(amount = 1) for(var/i in 1 to amount) - var/atom/A = get_new_stock() - current_stock += A + var/atom/listing = get_new_stock() + current_stock += listing /* Artifact sellers diff --git a/code/modules/xenoarchaeology/tools/xenoarchaeology_labeler.dm b/code/modules/xenoarchaeology/tools/xenoarchaeology_labeler.dm index 166bdb7c32a1c..6c8215e904983 100644 --- a/code/modules/xenoarchaeology/tools/xenoarchaeology_labeler.dm +++ b/code/modules/xenoarchaeology/tools/xenoarchaeology_labeler.dm @@ -13,7 +13,8 @@ ///List of selected traits we'll put on the label var/list/label_traits = list() ///List of possible trait filters - var/list/trait_filters = list(list("icon" = "eye", "desc" = "Traits that can appear in the material description."), + var/list/trait_filters = list( + list("icon" = "eye", "desc" = "Traits that can appear in the material description."), list("icon" = "hand-sparkles", "desc" = "Traits that can be detected by 'feeling' the artifact."), list("icon" = "wrench", "desc" = "Traits that can be triggered with specific items."), list("icon" = "search", "desc" = "Traits that can be detected with specific items."), @@ -33,8 +34,8 @@ . = ..() ADD_TRAIT(src, TRAIT_ARTIFACT_IGNORE, GENERIC_ITEM_TRAIT) //Fill enabled filters with all filters - for(var/i in trait_filters) - enabled_trait_filters += i["icon"] + for(var/filter in trait_filters) + enabled_trait_filters += filter["icon"] /obj/item/xenoarchaeology_labeler/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -82,8 +83,8 @@ var/trait_key = params["trait_name"] //TODO: Make sure this doesn't have crazy overhead - Racc var/list/focus = list(SSxenoarchaeology.labeler_traits.activators, SSxenoarchaeology.labeler_traits.minors, SSxenoarchaeology.labeler_traits.majors, SSxenoarchaeology.labeler_traits.malfunctions) - for(var/list/i as() in focus) - if(!(trait_key in i)) + for(var/list/foci as() in focus) + if(!(trait_key in foci)) continue //Selected traits if(trait_key in selected_traits) @@ -209,8 +210,8 @@ traits = _traits.Copy() if(length(traits)) examine_override = "Traits:" - for(var/datum/xenoartifact_trait/T as() in traits) - examine_override = "[examine_override]\n - [initial(T.label_name)]" + for(var/datum/xenoartifact_trait/trait_datum as() in traits) + examine_override = "[examine_override]\n - [initial(trait_datum.label_name)]" //Setup a random appearance icon_state = "sticker_[pick(list("star", "box", "tri", "round"))]" sticker_icon_state = "[icon_state]_small" @@ -234,12 +235,12 @@ old_custom_price = target.custom_price //Build list of artifact's traits var/list/artifact_traits = list() - for(var/i in artifact.artifact_traits) - for(var/datum/xenoartifact_trait/T as() in artifact.artifact_traits[i]) - artifact_traits += T + for(var/trait in artifact.artifact_traits) + for(var/datum/xenoartifact_trait/trait_datum as() in artifact.artifact_traits[trait]) + artifact_traits += trait_datum //Compare them to ours - for(var/datum/xenoartifact_trait/T as() in traits) - if(locate(T) in artifact_traits) + for(var/datum/xenoartifact_trait/trait_datum as() in traits) + if(locate(trait_datum) in artifact_traits) target.custom_price *= XENOA_LABEL_REWARD else target.custom_price *= XENOA_LABEL_PUNISHMENT diff --git a/code/modules/xenoarchaeology/tools/xenoarchaeology_tracker.dm b/code/modules/xenoarchaeology/tools/xenoarchaeology_tracker.dm index 4014d744720ef..0d14bff11e885 100644 --- a/code/modules/xenoarchaeology/tools/xenoarchaeology_tracker.dm +++ b/code/modules/xenoarchaeology/tools/xenoarchaeology_tracker.dm @@ -43,7 +43,7 @@ if(X) if(X.calibrated) sound_in = 'sound/machines/click.ogg' - RegisterSignal(X, XENOA_TRIGGER, PROC_REF(catch_activation)) + RegisterSignal(X, COMSIG_XENOA_TRIGGER, PROC_REF(catch_activation)) else say("Error: [target] needs to be calibrated.") else diff --git a/code/modules/xenoarchaeology/traits/malfunctions.dm b/code/modules/xenoarchaeology/traits/malfunctions.dm index e69dae2d11822..303df9391e57b 100644 --- a/code/modules/xenoarchaeology/traits/malfunctions.dm +++ b/code/modules/xenoarchaeology/traits/malfunctions.dm @@ -297,7 +297,7 @@ //Get it nearby so we can render it later A.vis_contents += exploding_indicator //Register a signal to cancel the process - RegisterSignal(parent, XENOA_CALCIFIED, PROC_REF(cancel_explosion)) + RegisterSignal(parent, COMSIG_XENOA_CALCIFIED, PROC_REF(cancel_explosion)) /datum/xenoartifact_trait/malfunction/explosion/Destroy(force, ...) . = ..() @@ -334,7 +334,7 @@ A.remove_filter("explosion_indicator") A.remove_filter("wave_effect") deltimer(exploding) - UnregisterSignal(parent, XENOA_CALCIFIED) + UnregisterSignal(parent, COMSIG_XENOA_CALCIFIED) /* Mass Hallucinatory Injection diff --git a/code/modules/xenoarchaeology/traits/minors.dm b/code/modules/xenoarchaeology/traits/minors.dm index 1ec2e8a6bb78a..731af6d1096df 100644 --- a/code/modules/xenoarchaeology/traits/minors.dm +++ b/code/modules/xenoarchaeology/traits/minors.dm @@ -274,7 +274,7 @@ if(!parent?.parent) return //Register a signal to KILL! - RegisterSignal(parent, XENOA_CALCIFIED, PROC_REF(suicide)) + RegisterSignal(parent, COMSIG_XENOA_CALCIFIED, PROC_REF(suicide)) //Setup ghost canidates and mob spawners if(SSticker.HasRoundStarted()) INVOKE_ASYNC(src, PROC_REF(get_canidate)) diff --git a/code/modules/xenoarchaeology/traits/traits.dm b/code/modules/xenoarchaeology/traits/traits.dm index 21402fdaa0fd7..cb71fbdd5fae8 100644 --- a/code/modules/xenoarchaeology/traits/traits.dm +++ b/code/modules/xenoarchaeology/traits/traits.dm @@ -73,7 +73,7 @@ var/atom/movable/AM = parent.parent RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(remove_parent)) //Setup trigger signals - RegisterSignal(parent, XENOA_TRIGGER, PROC_REF(trigger)) + RegisterSignal(parent, COMSIG_XENOA_TRIGGER, PROC_REF(trigger)) //If we need to setup signals for pearl stuff if(can_pearl) RegisterSignal(AM, COMSIG_ATOM_TOOL_ACT(TOOL_SCREWDRIVER), PROC_REF(catch_pearl_tool)) @@ -93,7 +93,7 @@ if(parent) remove_hints() UnregisterSignal(parent, COMSIG_PARENT_QDELETING) - UnregisterSignal(parent, XENOA_TRIGGER) + UnregisterSignal(parent, COMSIG_XENOA_TRIGGER) var/atom/A = parent.parent parent.target_range -= extra_target_range A.custom_price -= extra_value