cult team
This commit is contained in:
@@ -334,7 +334,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
|
|||||||
return
|
return
|
||||||
|
|
||||||
var/datum/antagonist/cult/antag = mob_viewer.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/antag = mob_viewer.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
if(!antag)
|
if(!antag?.cult_team)
|
||||||
return
|
return
|
||||||
var/datum/objective/sacrifice/sac_objective = locate() in antag.cult_team.objectives
|
var/datum/objective/sacrifice/sac_objective = locate() in antag.cult_team.objectives
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@
|
|||||||
add_cultist(cult_mind, 0, equip=TRUE)
|
add_cultist(cult_mind, 0, equip=TRUE)
|
||||||
if(!main_cult)
|
if(!main_cult)
|
||||||
var/datum/antagonist/cult/C = cult_mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/C = cult_mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
if(C && C.cult_team)
|
if(C?.cult_team)
|
||||||
main_cult = C.cult_team
|
main_cult = C.cult_team
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
|||||||
@@ -439,7 +439,7 @@
|
|||||||
"<span class='userdanger'>A feeling of warmth washes over you, rays of holy light surround your body and protect you from the flash of light!</span>")
|
"<span class='userdanger'>A feeling of warmth washes over you, rays of holy light surround your body and protect you from the flash of light!</span>")
|
||||||
else // cult doesn't stun any longer when halos are out, instead it does burn damage + knockback!
|
else // cult doesn't stun any longer when halos are out, instead it does burn damage + knockback!
|
||||||
var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
if(user_antag.cult_team.cult_ascendent)
|
if(user_antag.cult_team?.cult_ascendent)
|
||||||
if(!iscultist(L))
|
if(!iscultist(L))
|
||||||
L.adjustFireLoss(20)
|
L.adjustFireLoss(20)
|
||||||
if(L.move_resist < MOVE_FORCE_STRONG)
|
if(L.move_resist < MOVE_FORCE_STRONG)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
var/ignore_implant = FALSE
|
var/ignore_implant = FALSE
|
||||||
var/make_team = TRUE
|
var/make_team = TRUE
|
||||||
var/give_equipment = FALSE
|
var/give_equipment = FALSE
|
||||||
var/datum/team/cult/_cult_team
|
var/datum/team/cult/cult_team
|
||||||
var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact
|
var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact
|
||||||
var/ignore_eligibility_checks = FALSE
|
var/ignore_eligibility_checks = FALSE
|
||||||
var/ignore_holy_water = FALSE
|
var/ignore_holy_water = FALSE
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
if(ishuman(current))
|
if(ishuman(current))
|
||||||
magic.Grant(current)
|
magic.Grant(current)
|
||||||
current.throw_alert("bloodsense", /obj/screen/alert/bloodsense)
|
current.throw_alert("bloodsense", /obj/screen/alert/bloodsense)
|
||||||
if(cult_team.cult_risen)
|
if(cult_team?.cult_risen)
|
||||||
cult_team.rise(current)
|
cult_team.rise(current)
|
||||||
if(cult_team.cult_ascendent)
|
if(cult_team.cult_ascendent)
|
||||||
cult_team.ascend(current)
|
cult_team.ascend(current)
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
owner.current.visible_message("<span class='deconversion_message'>[owner.current] looks like [owner.current.p_theyve()] just reverted to [owner.current.p_their()] old faith!</span>", null, null, null, owner.current)
|
owner.current.visible_message("<span class='deconversion_message'>[owner.current] looks like [owner.current.p_theyve()] just reverted to [owner.current.p_their()] old faith!</span>", null, null, null, owner.current)
|
||||||
to_chat(owner.current, "<span class='userdanger'>An unfamiliar white light flashes through your mind, cleansing the taint of the Geometer and all your memories as her servant.</span>")
|
to_chat(owner.current, "<span class='userdanger'>An unfamiliar white light flashes through your mind, cleansing the taint of the Geometer and all your memories as her servant.</span>")
|
||||||
owner.current.log_message("has renounced the cult of Nar'Sie!", LOG_ATTACK, color="#960000")
|
owner.current.log_message("has renounced the cult of Nar'Sie!", LOG_ATTACK, color="#960000")
|
||||||
if(cult_team.blood_target && cult_team.blood_target_image && owner.current.client)
|
if(cult_team?.blood_target && cult_team.blood_target_image && owner.current.client)
|
||||||
owner.current.client.images -= cult_team.blood_target_image
|
owner.current.client.images -= cult_team.blood_target_image
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
@@ -217,7 +217,7 @@
|
|||||||
throwing.Grant(current)
|
throwing.Grant(current)
|
||||||
current.update_action_buttons_icon()
|
current.update_action_buttons_icon()
|
||||||
current.apply_status_effect(/datum/status_effect/cult_master)
|
current.apply_status_effect(/datum/status_effect/cult_master)
|
||||||
if(cult_team.cult_risen)
|
if(cult_team?.cult_risen)
|
||||||
cult_team.rise(current)
|
cult_team.rise(current)
|
||||||
if(cult_team.cult_ascendent)
|
if(cult_team.cult_ascendent)
|
||||||
cult_team.ascend(current)
|
cult_team.ascend(current)
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
|
|
||||||
/datum/action/innate/cult/mastervote/IsAvailable()
|
/datum/action/innate/cult/mastervote/IsAvailable()
|
||||||
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
if(!C || C.cult_team.cult_vote_called || !ishuman(owner))
|
if(!C?.cult_team || C.cult_team.cult_vote_called || !ishuman(owner))
|
||||||
return FALSE
|
return FALSE
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
@@ -82,6 +82,9 @@
|
|||||||
var/choice = alert(owner, "The mantle of leadership is heavy. Success in this role requires an expert level of communication and experience. Are you sure?",, "Yes", "No")
|
var/choice = alert(owner, "The mantle of leadership is heavy. Success in this role requires an expert level of communication and experience. Are you sure?",, "Yes", "No")
|
||||||
if(choice == "Yes" && IsAvailable())
|
if(choice == "Yes" && IsAvailable())
|
||||||
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
|
if(!C.cult_team)
|
||||||
|
to_chat(owner, "<span class='cult bold'>Do you not alreaady lead yourself?</span>")
|
||||||
|
returns
|
||||||
pollCultists(owner,C.cult_team)
|
pollCultists(owner,C.cult_team)
|
||||||
|
|
||||||
/proc/pollCultists(var/mob/living/Nominee,datum/team/cult/team) //Cult Master Poll
|
/proc/pollCultists(var/mob/living/Nominee,datum/team/cult/team) //Cult Master Poll
|
||||||
@@ -151,6 +154,9 @@
|
|||||||
var/datum/antagonist/cult/antag = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/antag = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
if(!antag)
|
if(!antag)
|
||||||
return
|
return
|
||||||
|
if(!antag.cult_team)
|
||||||
|
to_chat(owner, "<span class='cult bold'>You have no team. You are alone.</span>")
|
||||||
|
return
|
||||||
for(var/i in 1 to 4)
|
for(var/i in 1 to 4)
|
||||||
chant(i)
|
chant(i)
|
||||||
var/list/destinations = list()
|
var/list/destinations = list()
|
||||||
@@ -261,7 +267,10 @@
|
|||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
var/datum/antagonist/cult/C = caller.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/C = caller.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
|
if(!C.cult_team)
|
||||||
|
to_chat(ranged_ability_user, "<span class='cultlarge'>What is the point of marking a target for yourself?</span>")
|
||||||
|
remove_ranged_ability()
|
||||||
|
return
|
||||||
if(target in view(7, get_turf(ranged_ability_user)))
|
if(target in view(7, get_turf(ranged_ability_user)))
|
||||||
if(C.cult_team.blood_target)
|
if(C.cult_team.blood_target)
|
||||||
to_chat(ranged_ability_user, "<span class='cult'>The cult has already designated a target!</span>")
|
to_chat(ranged_ability_user, "<span class='cult'>The cult has already designated a target!</span>")
|
||||||
@@ -330,8 +339,11 @@
|
|||||||
|
|
||||||
/datum/action/innate/cult/ghostmark/Activate()
|
/datum/action/innate/cult/ghostmark/Activate()
|
||||||
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
|
if(!C.cult_team)
|
||||||
|
to_chat(owmer, "<span class='cultbold'>You are alone. You do not have a team.</span>")
|
||||||
|
return
|
||||||
if(C.cult_team.blood_target)
|
if(C.cult_team.blood_target)
|
||||||
if(cooldown>world.time)
|
if(cooldown > world.time)
|
||||||
reset_blood_target(C.cult_team)
|
reset_blood_target(C.cult_team)
|
||||||
to_chat(owner, "<span class='cultbold'>You have cleared the cult's blood target!</span>")
|
to_chat(owner, "<span class='cultbold'>You have cleared the cult's blood target!</span>")
|
||||||
deltimer(C.cult_team.blood_target_reset_timer)
|
deltimer(C.cult_team.blood_target_reset_timer)
|
||||||
@@ -339,7 +351,7 @@
|
|||||||
else
|
else
|
||||||
to_chat(owner, "<span class='cultbold'>The cult has already designated a target!</span>")
|
to_chat(owner, "<span class='cultbold'>The cult has already designated a target!</span>")
|
||||||
return
|
return
|
||||||
if(cooldown>world.time)
|
if(cooldown > world.time)
|
||||||
to_chat(owner, "<span class='cultbold'>You aren't ready to place another blood mark yet!</span>")
|
to_chat(owner, "<span class='cultbold'>You aren't ready to place another blood mark yet!</span>")
|
||||||
return
|
return
|
||||||
target = owner.orbiting?.parent || get_turf(owner)
|
target = owner.orbiting?.parent || get_turf(owner)
|
||||||
|
|||||||
@@ -87,8 +87,8 @@ This file contains the cult dagger and rune list code
|
|||||||
to_chat(user, "<span class='cultlarge'>Only one ritual site remains - it must be reserved for the final summoning!</span>")
|
to_chat(user, "<span class='cultlarge'>Only one ritual site remains - it must be reserved for the final summoning!</span>")
|
||||||
return
|
return
|
||||||
if(ispath(rune_to_scribe, /obj/effect/rune/narsie))
|
if(ispath(rune_to_scribe, /obj/effect/rune/narsie))
|
||||||
var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives
|
var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team?.objectives
|
||||||
var/datum/objective/sacrifice/sac_objective = locate() in user_antag.cult_team.objectives
|
var/datum/objective/sacrifice/sac_objective = locate() in user_antag.cult_team?.objectives
|
||||||
if(!summon_objective)
|
if(!summon_objective)
|
||||||
to_chat(user, "<span class='warning'>Nar'Sie does not wish to be summoned!</span>")
|
to_chat(user, "<span class='warning'>Nar'Sie does not wish to be summoned!</span>")
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -485,6 +485,9 @@ structure_check() searches for nearby cultist structures required for the invoca
|
|||||||
fail_invoke()
|
fail_invoke()
|
||||||
return
|
return
|
||||||
var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
|
if(!user_antag.cult_team)
|
||||||
|
to_chat(user, "<span class='cultlarge'>You can't seem to make the arcane links to your fellows that you'd need to use this.</span>")
|
||||||
|
return
|
||||||
var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives
|
var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives
|
||||||
var/area/place = get_area(src)
|
var/area/place = get_area(src)
|
||||||
if(!(place in summon_objective.summon_spots))
|
if(!(place in summon_objective.summon_spots))
|
||||||
@@ -955,6 +958,9 @@ structure_check() searches for nearby cultist structures required for the invoca
|
|||||||
var/area/place = get_area(src)
|
var/area/place = get_area(src)
|
||||||
var/mob/living/user = invokers[1]
|
var/mob/living/user = invokers[1]
|
||||||
var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
|
if(!user_antag.cult_team)
|
||||||
|
to_chat(user, "<span class='cultlarge'>You can't seem to make the arcane links to your fellows that you'd need to use this.</span>")
|
||||||
|
return
|
||||||
var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives
|
var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives
|
||||||
if(summon_objective.summon_spots.len <= 1)
|
if(summon_objective.summon_spots.len <= 1)
|
||||||
to_chat(user, "<span class='cultlarge'>Only one ritual site remains - it must be reserved for the final summoning!</span>")
|
to_chat(user, "<span class='cultlarge'>Only one ritual site remains - it must be reserved for the final summoning!</span>")
|
||||||
|
|||||||
@@ -145,7 +145,7 @@
|
|||||||
if("VICTIM")
|
if("VICTIM")
|
||||||
var/mob/living/carbon/human/T = target
|
var/mob/living/carbon/human/T = target
|
||||||
var/datum/antagonist/cult/C = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
var/datum/antagonist/cult/C = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
|
||||||
if(C && C.cult_team.is_sacrifice_target(T.mind))
|
if(C && C.cult_team?.is_sacrifice_target(T.mind))
|
||||||
if(iscultist(user))
|
if(iscultist(user))
|
||||||
to_chat(user, "<span class='cult'><b>\"This soul is mine.</b></span> <span class='cultlarge'>SACRIFICE THEM!\"</span>")
|
to_chat(user, "<span class='cult'><b>\"This soul is mine.</b></span> <span class='cultlarge'>SACRIFICE THEM!\"</span>")
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -389,6 +389,9 @@
|
|||||||
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult)
|
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult)
|
||||||
if(!C)
|
if(!C)
|
||||||
return
|
return
|
||||||
|
if(!C.cult_team)
|
||||||
|
to_chat(the_construct, "<span class='cult italic'>You are alone, and have no team.</span>")
|
||||||
|
return
|
||||||
var/datum/objective/eldergod/summon_objective = locate() in C.cult_team.objectives
|
var/datum/objective/eldergod/summon_objective = locate() in C.cult_team.objectives
|
||||||
|
|
||||||
if(summon_objective.check_completion())
|
if(summon_objective.check_completion())
|
||||||
|
|||||||
@@ -51,7 +51,8 @@
|
|||||||
for(var/datum/antagonist/cult/C in GLOB.antagonists)
|
for(var/datum/antagonist/cult/C in GLOB.antagonists)
|
||||||
if(!C.owner)
|
if(!C.owner)
|
||||||
continue
|
continue
|
||||||
all_cults |= C.cult_team
|
if(C.cult_team)
|
||||||
|
all_cults |= C.cult_team
|
||||||
for(var/datum/team/cult/T in all_cults)
|
for(var/datum/team/cult/T in all_cults)
|
||||||
deltimer(T.blood_target_reset_timer)
|
deltimer(T.blood_target_reset_timer)
|
||||||
T.blood_target = src
|
T.blood_target = src
|
||||||
|
|||||||
Reference in New Issue
Block a user