porting sprites, giant pizza, removing valentines

should've chopped those commits but eh, essentially does what it says it does
This commit is contained in:
evilew
2024-02-16 16:44:30 +01:00
parent edb2f19600
commit c7d76c9941
16 changed files with 176 additions and 113 deletions

View File

@@ -1,20 +1,22 @@
/datum/antagonist/heartbreaker
name = "heartbreaker"
roundend_category = "valentines"
show_in_antagpanel = FALSE
show_name_in_check_antagonists = TRUE
// /datum/antagonist/heartbreaker
// name = "heartbreaker"
// roundend_category = "valentines"
// show_in_antagpanel = FALSE
// show_name_in_check_antagonists = TRUE
/datum/antagonist/heartbreaker/proc/forge_objectives()
var/datum/objective/martyr/normiesgetout = new
normiesgetout.owner = owner
objectives += normiesgetout
owner.objectives += objectives
// /datum/antagonist/heartbreaker/proc/forge_objectives()
// var/datum/objective/martyr/normiesgetout = new
// normiesgetout.owner = owner
// objectives += normiesgetout
// owner.objectives += objectives
/datum/antagonist/heartbreaker/on_gain()
forge_objectives()
. = ..()
// /datum/antagonist/heartbreaker/on_gain()
// forge_objectives()
// . = ..()
/datum/antagonist/heartbreaker/greet()
to_chat(owner, "<span class='warning'><B>You didn't get a date! They're all having fun without you! you'll show them though...</B></span>")
owner.announce_objectives()
// /datum/antagonist/heartbreaker/greet()
// to_chat(owner, "<span class='warning'><B>You didn't get a date! They're all having fun without you! you'll show them though...</B></span>")
// owner.announce_objectives()
//GS13 - commented out cuz it's kinda weird and too prefbreaky

View File

@@ -1,63 +1,65 @@
/datum/antagonist/valentine
name = "valentine"
roundend_category = "valentines" //there's going to be a ton of them so put them in separate category
show_in_antagpanel = FALSE
var/datum/mind/date
// /datum/antagonist/valentine
// name = "valentine"
// roundend_category = "valentines" //there's going to be a ton of them so put them in separate category
// show_in_antagpanel = FALSE
// var/datum/mind/date
/datum/antagonist/valentine/proc/forge_objectives()
var/datum/objective/protect/protect_objective = new /datum/objective/protect
protect_objective.owner = owner
protect_objective.target = date
if(!ishuman(date.current))
protect_objective.human_check = FALSE
protect_objective.explanation_text = "Protect [date.name], your date."
objectives += protect_objective
owner.objectives += objectives
// /datum/antagonist/valentine/proc/forge_objectives()
// var/datum/objective/protect/protect_objective = new /datum/objective/protect
// protect_objective.owner = owner
// protect_objective.target = date
// if(!ishuman(date.current))
// protect_objective.human_check = FALSE
// protect_objective.explanation_text = "Protect [date.name], your date."
// objectives += protect_objective
// owner.objectives += objectives
/datum/antagonist/valentine/on_gain()
forge_objectives()
if(isliving(owner))
var/mob/living/L = owner
L.apply_status_effect(STATUS_EFFECT_INLOVE, date)
. = ..()
// /datum/antagonist/valentine/on_gain()
// forge_objectives()
// if(isliving(owner))
// var/mob/living/L = owner
// L.apply_status_effect(STATUS_EFFECT_INLOVE, date)
// . = ..()
/datum/antagonist/valentine/on_removal()
. = ..()
if(isliving(owner))
var/mob/living/L = owner
L.remove_status_effect(STATUS_EFFECT_INLOVE)
// /datum/antagonist/valentine/on_removal()
// . = ..()
// if(isliving(owner))
// var/mob/living/L = owner
// L.remove_status_effect(STATUS_EFFECT_INLOVE)
/datum/antagonist/valentine/greet()
to_chat(owner, "<span class='warning'><B>You're on a date with [date.name]! Protect [date.p_them()] at all costs. This takes priority over all other loyalties.</B></span>")
// /datum/antagonist/valentine/greet()
// to_chat(owner, "<span class='warning'><B>You're on a date with [date.name]! Protect [date.p_them()] at all costs. This takes priority over all other loyalties.</B></span>")
//Squashed up a bit
/datum/antagonist/valentine/roundend_report()
var/objectives_complete = TRUE
if(owner.objectives.len)
for(var/datum/objective/objective in owner.objectives)
if(!objective.check_completion())
objectives_complete = FALSE
break
// //Squashed up a bit
// /datum/antagonist/valentine/roundend_report()
// var/objectives_complete = TRUE
// if(owner.objectives.len)
// for(var/datum/objective/objective in owner.objectives)
// if(!objective.check_completion())
// objectives_complete = FALSE
// break
if(objectives_complete)
return "<span class='greentext big'>[owner.name] protected [owner.p_their()] date</span>"
else
return "<span class='redtext big'>[owner.name] date failed!</span>"
// if(objectives_complete)
// return "<span class='greentext big'>[owner.name] protected [owner.p_their()] date</span>"
// else
// return "<span class='redtext big'>[owner.name] date failed!</span>"
//Just so it's distinct, basically.
/datum/antagonist/valentine/chem/greet()
to_chat(owner, "<span class='warning'><B>You're in love with [date.name]! Protect [date.p_them()] at all costs. This takes priority over all other loyalties.</B></span>")
// //Just so it's distinct, basically.
// /datum/antagonist/valentine/chem/greet()
// to_chat(owner, "<span class='warning'><B>You're in love with [date.name]! Protect [date.p_them()] at all costs. This takes priority over all other loyalties.</B></span>")
/datum/antagonist/valentine/chem/roundend_report()
var/objectives_complete = TRUE
if(owner.objectives.len)
for(var/datum/objective/objective in owner.objectives)
if(!objective.check_completion())
objectives_complete = FALSE
break
// /datum/antagonist/valentine/chem/roundend_report()
// var/objectives_complete = TRUE
// if(owner.objectives.len)
// for(var/datum/objective/objective in owner.objectives)
// if(!objective.check_completion())
// objectives_complete = FALSE
// break
if(objectives_complete)
return "<span class='greentext big'>[owner.name] protected [owner.p_their()] love: [date.name]! <i>What a cutie!</i></span>"
else
return "<span class='redtext big'>[owner.name] date failed!</span>"
// if(objectives_complete)
// return "<span class='greentext big'>[owner.name] protected [owner.p_their()] love: [date.name]! <i>What a cutie!</i></span>"
// else
// return "<span class='redtext big'>[owner.name] date failed!</span>"
//GS13 - commented out cuz it's kinda weird and too prefbreaky

View File

@@ -4,56 +4,58 @@
// valentine / candy heart distribution //
/datum/round_event_control/valentines
name = "Valentines!"
holidayID = VALENTINES
typepath = /datum/round_event/valentines
weight = -1 //forces it to be called, regardless of weight
max_occurrences = 1
earliest_start = 0 MINUTES
// /datum/round_event_control/valentines
// name = "Valentines!"
// holidayID = VALENTINES
// typepath = /datum/round_event/valentines
// weight = -1 //forces it to be called, regardless of weight
// max_occurrences = 1
// earliest_start = 0 MINUTES
/datum/round_event/valentines/start()
..()
for(var/mob/living/carbon/human/H in GLOB.alive_mob_list)
H.put_in_hands(new /obj/item/valentine)
var/obj/item/storage/backpack/b = locate() in H.contents
new /obj/item/reagent_containers/food/snacks/candyheart(b)
new /obj/item/storage/fancy/heart_box(b)
// /datum/round_event/valentines/start()
// ..()
// for(var/mob/living/carbon/human/H in GLOB.alive_mob_list)
// H.put_in_hands(new /obj/item/valentine)
// var/obj/item/storage/backpack/b = locate() in H.contents
// new /obj/item/reagent_containers/food/snacks/candyheart(b)
// new /obj/item/storage/fancy/heart_box(b)
var/list/valentines = list()
for(var/mob/living/M in GLOB.player_list)
if(!M.stat && M.client && M.mind)
valentines |= M
// var/list/valentines = list()
// for(var/mob/living/M in GLOB.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)
// 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)
// forge_valentines_objective(L, date)
// forge_valentines_objective(date, L)
if(valentines.len && prob(4))
var/mob/living/notgoodenough = pick_n_take(valentines)
forge_valentines_objective(notgoodenough, date)
else
L.mind.add_antag_datum(/datum/antagonist/heartbreaker)
// if(valentines.len && prob(4))
// var/mob/living/notgoodenough = pick_n_take(valentines)
// forge_valentines_objective(notgoodenough, date)
// else
// L.mind.add_antag_datum(/datum/antagonist/heartbreaker)
/proc/forge_valentines_objective(mob/living/lover,mob/living/date,var/chemLove = FALSE)
lover.mind.special_role = "valentine"
if (chemLove == TRUE)
var/datum/antagonist/valentine/chem/V = new //Changes text and EOG check basically.
V.date = date.mind
lover.mind.add_antag_datum(V)
else
var/datum/antagonist/valentine/V = new
V.date = date.mind
lover.mind.add_antag_datum(V) //These really should be teams but i can't be assed to incorporate third wheels right now
// /proc/forge_valentines_objective(mob/living/lover,mob/living/date,var/chemLove = FALSE)
// lover.mind.special_role = "valentine"
// if (chemLove == TRUE)
// var/datum/antagonist/valentine/chem/V = new //Changes text and EOG check basically.
// V.date = date.mind
// lover.mind.add_antag_datum(V)
// else
// var/datum/antagonist/valentine/V = new
// V.date = date.mind
// lover.mind.add_antag_datum(V) //These really should be teams but i can't be assed to incorporate third wheels right now
/datum/round_event/valentines/announce(fake)
priority_announce("It's Valentine's Day! Give a valentine to that special someone!")
// /datum/round_event/valentines/announce(fake)
// priority_announce("It's Valentine's Day! Give a valentine to that special someone!")
//GS13 - commented out cuz it's kinda weird and too prefbreaky
/obj/item/valentine
name = "valentine"