diff --git a/code/game/objects/items/gift.dm b/code/game/objects/items/gift.dm index 8054d8c6..daa3c246 100644 --- a/code/game/objects/items/gift.dm +++ b/code/game/objects/items/gift.dm @@ -7,6 +7,10 @@ /* * Gifts */ +/var/static/blacklisted_items = typecacheof(list( + /obj/singularity, + /obj/structure/destructible/clockwork/massive, + /obj/machinery/power/supermatter_crystal)) GLOBAL_LIST_EMPTY(possible_gifts) @@ -95,7 +99,7 @@ GLOBAL_LIST_EMPTY(possible_gifts) 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)) + if((!initial(I.icon_state)) || (!initial(I.item_state)) || (initial(I.item_flags) & ABSTRACT) || (is_type_in_typecache(I, blacklisted_items))) gift_types_list -= V GLOB.possible_gifts = gift_types_list var/gift_type = pick(GLOB.possible_gifts) diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index ed9254c2..a358865b 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -46,6 +46,10 @@ var/progression = list() //Keep track of where people are in the story. var/active = TRUE //Turn this to false to keep normal mob behavour var/cached_z + var/static/blacklisted_items = typecacheof(list( + /obj/singularity, + /obj/structure/destructible/clockwork/massive, + /obj/machinery/power/supermatter_crystal)) /mob/living/simple_animal/jacq/Initialize() ..() @@ -203,10 +207,14 @@ return var/new_obj = pick(subtypesof(/obj)) - //for(var/item in blacklist) - // if(new_obj == item) - // panic() + for(var/item in blacklisted_items) + if(is_type_in_typecache(new_obj, blacklisted_items)) + new_obj = /obj/item/reagent_containers/food/snacks/special_candy + message_admins("Uh oh, someone got a blacklisted item from jacque. Giving them back their candies.") var/reward = new new_obj(C.loc) + if(new_obj == /obj/item/reagent_containers/food/snacks/special_candy) + new new_obj(C.loc) + new new_obj(C.loc)//Giving them back their candies in case it's something from the blacklist or if the game literally rolled candies. C.put_in_hands(reward) visible_message("[src] waves her hands, magicking up a [reward] from thin air, \"There ye are [gender], enjoy! \"") sleep(20)