diff --git a/modular_splurt/code/game/objects/items/gift.dm b/modular_splurt/code/game/objects/items/gift.dm new file mode 100644 index 0000000000..afd0945512 --- /dev/null +++ b/modular_splurt/code/game/objects/items/gift.dm @@ -0,0 +1,29 @@ +// MODULAR SPLURT: Balanced gift type and list. See non-modular file for more information. +GLOBAL_LIST_INIT(gift_item_blacklist_balanced, list( + /obj/item/melee/supermatter_sword, + /obj/item/uplink/debug, + /obj/item/uplink/nuclear/debug, + /obj/item/veilrender, + /obj/item/pizzabox/bomb, + /obj/item/cartridge/virus/syndicate, + /obj/item/nuke_core, + /obj/item/bombcore, + /obj/item/projectile +)) + +// New subtype of a_gift +/obj/item/a_gift/balanced + name = "christmas gift" + desc = "It could be (almost) anything!" + +/obj/item/a_gift/balanced/get_gift_type() + if(!GLOB.possible_gifts.len) + var/list/gift_types_list = subtypesof(/obj/item) + for(var/V in gift_types_list) + var/obj/item/I = V + if((!initial(I.icon_state)) || (!initial(I.item_state)) || (initial(I.item_flags) & ABSTRACT) || (is_type_in_typecache(I, GLOB.gift_item_blacklist)) || (is_type_in_typecache(I, GLOB.gift_item_blacklist_balanced))) + gift_types_list -= V + GLOB.possible_gifts = gift_types_list + var/gift_type = pick(GLOB.possible_gifts) + + return gift_type diff --git a/modular_splurt/code/game/objects/structures/flora.dm b/modular_splurt/code/game/objects/structures/flora.dm index ba3d20ba7b..6690f7a672 100644 --- a/modular_splurt/code/game/objects/structures/flora.dm +++ b/modular_splurt/code/game/objects/structures/flora.dm @@ -79,7 +79,7 @@ spawned_grass = /obj/structure/flora/grass/red /obj/structure/flora/tree/pine/xmas/presents - gift_type = /obj/item/a_gift //this is a modular nerf to christmas trees to limit what they hand out + gift_type = /obj/item/a_gift/balanced //this is a modular nerf to christmas trees to limit what they hand out /obj/structure/flora/biolumi diff --git a/tgstation.dme b/tgstation.dme index c88425a57d..1fb3bf27a8 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4508,6 +4508,7 @@ #include "modular_splurt\code\game\objects\items\armor_kits.dm" #include "modular_splurt\code\game\objects\items\cards_ids.dm" #include "modular_splurt\code\game\objects\items\cosmetics.dm" +#include "modular_splurt\code\game\objects\items\gift.dm" #include "modular_splurt\code\game\objects\items\granters.dm" #include "modular_splurt\code\game\objects\items\holy_weapons.dm" #include "modular_splurt\code\game\objects\items\manuals.dm"