diff --git a/code/modules/events/holiday/vday.dm b/code/modules/events/holiday/vday.dm index ec15894f573..bcb215ff934 100644 --- a/code/modules/events/holiday/vday.dm +++ b/code/modules/events/holiday/vday.dm @@ -19,6 +19,45 @@ var/obj/item/weapon/storage/backpack/b = locate() in H.contents new /obj/item/weapon/reagent_containers/food/snacks/candyheart(b) + + var/list/valentines = list() + for(var/mob/living/M in player_list) + if(!M.stat && M.client && M.mind) + valentines |= M + + + while(valentines.len) + var/mob/living/L = pick_n_take(valentines) + if(valentines.len) + var/mob/living/date = pick_n_take(valentines) + + + forge_valentines_objective(L, date) + + forge_valentines_objective(date, L) + + + + else + L << "You didn't get a date! They're all having fun without you! you'll show them though..." + var/datum/objective/martyr/normiesgetout = new + normiesgetout.owner = L.mind + ticker.mode.traitors |= L.mind + L.mind.objectives += normiesgetout + +/proc/forge_valentines_objective(mob/living/lover,mob/living/date) + + ticker.mode.traitors |= lover.mind + lover.mind.special_role = "valentine" + + var/datum/objective/protect/protect_objective = new /datum/objective/protect + protect_objective.owner = lover.mind + protect_objective.target = date.mind + protect_objective.explanation_text = "Protect [date.real_name], your date." + lover.mind.objectives += protect_objective + lover << "You're on a date with [date]! Protect them at all costs. This takes priority over all other loyalties." + + /datum/round_event/valentines/announce() priority_announce("It's Valentine's Day! Give a valentine to that special someone!") @@ -126,4 +165,4 @@ "A heart-shaped candy that reads: FACEHUGGER", "A heart-shaped candy that reads: DOMINATOR", "A heart-shaped candy that reads: GET TESLA'D") - icon_state = pick("candyheart", "candyheart2", "candyheart3", "candyheart4") \ No newline at end of file + icon_state = pick("candyheart", "candyheart2", "candyheart3", "candyheart4")