diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 3f514350f10..eb59cdecb0a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1548,6 +1548,9 @@ Slots: [job.spawn_positions] [job.round_contrib_points ? "RCP: +[job.round_contr var/list/loadouts_available = list("None") for (var/path as anything in GLOB.loadout_items) var/datum/loadout_item/loadout = GLOB.loadout_items[path] + var/donoritem = loadout.donoritem + if(donoritem && !loadout.donator_ckey_check(user.ckey)) + continue if (!loadout.name) continue loadouts_available[loadout.name] = loadout diff --git a/modular_azurepeak/code/datums/loadout.dm b/modular_azurepeak/code/datums/loadout.dm index 4c8fa4b9ab9..efff46e4c53 100644 --- a/modular_azurepeak/code/datums/loadout.dm +++ b/modular_azurepeak/code/datums/loadout.dm @@ -4,7 +4,18 @@ GLOBAL_LIST_EMPTY(loadout_items) var/name = "Parent loadout datum" var/desc var/path + var/donoritem //autoset on new if null + var/list/ckeywhitelist +/datum/loadout_item/New() + if(isnull(donoritem)) + if(ckeywhitelist) + donoritem = TRUE + +/datum/loadout_item/proc/donator_ckey_check(key) + if(ckeywhitelist && ckeywhitelist.Find(key)) + return TRUE + return //HATS /datum/loadout_item/shalal @@ -224,3 +235,12 @@ GLOBAL_LIST_EMPTY(loadout_items) /datum/loadout_item/bell_collar name = "Bell Collar" path = /obj/item/clothing/neck/roguetown/collar/bell_collar + +//Donator Section +//All these items are stored in the donator_fluff.dm in the azure modular folder for simplicity. +//All should be subtypes of existing weapons/clothes/armor/gear, whatever, to avoid balance issues I guess. Idk, I'm not your boss. + +/datum/loadout_item/donator_plex + name = "Rapier di Aliseo" + path = /obj/item/rogueweapon/sword/rapier/aliseo + ckeywhitelist = list("plexiant") diff --git a/modular_azurepeak/code/game/objects/items/donator_fluff_items.dm b/modular_azurepeak/code/game/objects/items/donator_fluff_items.dm new file mode 100644 index 00000000000..4ab8924426e --- /dev/null +++ b/modular_azurepeak/code/game/objects/items/donator_fluff_items.dm @@ -0,0 +1,6 @@ +//Lazily shoving all donator fluff items in here for now. Feel free to make this a sub-folder or something, I think it's just easier to keep a list here and just modify as needed. +/obj/item/rogueweapon/sword/rapier/aliseo + name = "Rapier di Aliseo" + desc = "A rapier of sporting a steel blade and decrotive silver-plating. Elaborately designed in classic intricate yet functional Etrucian style, the pummel appears to be embedded with a cut emerald with a family crest engraved in the fine leather grip of the handle." + icon_state = "plex" + icon = 'modular_azurepeak/icons/obj/items/donar_weapons_64.dmi' diff --git a/modular_azurepeak/icons/obj/items/donar_weapons_64.dmi b/modular_azurepeak/icons/obj/items/donar_weapons_64.dmi new file mode 100644 index 00000000000..e9f9fa60e1b Binary files /dev/null and b/modular_azurepeak/icons/obj/items/donar_weapons_64.dmi differ diff --git a/roguetown.dme b/roguetown.dme index 15614186783..161097ddd1b 100644 --- a/roguetown.dme +++ b/roguetown.dme @@ -1982,6 +1982,7 @@ #include "modular_azurepeak\code\game\area\areas.dm" #include "modular_azurepeak\code\game\objects\effects\temporary_visuals\miracles.dm" #include "modular_azurepeak\code\game\objects\effects\temporary_visuals\music.dm" +#include "modular_azurepeak\code\game\objects\items\donator_fluff_items.dm" #include "modular_azurepeak\code\game\objects\items\gwstrap.dm" #include "modular_azurepeak\code\game\objects\items\mundanities.dm" #include "modular_azurepeak\code\game\objects\items\quicksilver.dm"