diff --git a/code/citadel/cit_crewobjectives.dm b/code/citadel/cit_crewobjectives.dm index 6181947653..1055d9f6ad 100644 --- a/code/citadel/cit_crewobjectives.dm +++ b/code/citadel/cit_crewobjectives.dm @@ -326,7 +326,7 @@ /datum/objective/crew/virologist/noinfections/check_completion() for(var/mob/living/carbon/human/H in GLOB.mob_list) if(!H.stat == DEAD) - if(H.z = ZLEVEL_STATION || SSshuttle.emergency.shuttle_areas[get_area(H)]) + if(H.z == ZLEVEL_STATION || SSshuttle.emergency.shuttle_areas[get_area(H)]) if(H.check_virus() == 2) return 0 return 1 @@ -496,6 +496,31 @@ return 0 return 1 +/datum/objective/crew/clown + +/datum/objective/crew/clown/slipster //ported from old Hippie with adjustments + explanation_text = "Slip at least (Yell on citadel's development discussion channel if you see this) different people with your PDA, and have it on you at the end of the shift." + +/datum/objective/crew/clown/slipster/New() + . = ..() + target_amount = rand(5, 20) + update_explanation_text() + +/datum/objective/crew/clown/slipster/update_explanation_text() + . = ..() + explanation_text = "Slip at least [target_amount] different people with your PDA, and have it on you at the end of the shift." + +/datum/objective/crew/clown/slipster/check_completion() + var/uniqueslips = list() + if(owner.current) + for(/obj/item/device/pda/clown/PDA in get_contents(owner.current)) //100% open for badmin abuse + for(var/mob/living/carbon/human/H in PDA.slipvictims) + uniqueslips |= H + if(uniqueslips.len >= target_amount) + return 1 + else + return 0 + /datum/objective/crew/assistant /datum/objective/crew/assistant/petsplosion diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index 08e417b9d5..4f2db14fa6 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -6,6 +6,7 @@ icon_state = "pda-clown" desc = "A portable microcomputer by Thinktronic Systems, LTD. The surface is coated with polytetrafluoroethylene and banana drippings." ttone = "honk" + var/slipvictims = list() /obj/item/device/pda/clown/Initialize() . = ..() @@ -18,6 +19,7 @@ return var/mob/living/carbon/human/M = S.slip_victim if (istype(M) && (M.real_name != src.owner)) + slipvictims |= M var/obj/item/cartridge/virus/clown/cart = cartridge if(istype(cart) && cart.charges < 5) cart.charges++