Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cult Pass:This is why we cannot have nice things #7345

Closed
wants to merge 33 commits into from
Closed
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
15375c8
cultpass
Aurorablade May 19, 2017
12c4c30
why did you not upload..
Aurorablade May 19, 2017
d0ca483
random was silly
Aurorablade May 19, 2017
b3a7c59
okay github why did you do that.
Aurorablade May 19, 2017
e8c77b9
Backpack and death runes
Aurorablade May 21, 2017
b7f43cd
balances
Aurorablade May 25, 2017
191e713
stop touching this icon...
Aurorablade May 27, 2017
1d1b86e
wioops
Aurorablade May 27, 2017
d85308b
Runed metal and some spans.
Aurorablade May 29, 2017
439787d
to_chat fixes maybe
Aurorablade Jun 1, 2017
deef342
no bad hulks.
Aurorablade Jun 2, 2017
a4d3b60
no golem
Aurorablade Jun 5, 2017
b9b05ea
secs pylon heal delay to 5 seconds
Aurorablade Jun 6, 2017
815d8bd
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Jun 10, 2017
1640bef
more tweaks
Aurorablade Jun 12, 2017
e653724
tweaks
Aurorablade Jun 13, 2017
16caa74
Runes now support invoke damage
Aurorablade Jun 20, 2017
52c411a
feedback tweaks
Aurorablade Jun 21, 2017
3b8ca91
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Jun 23, 2017
d3480f7
feedback before conflicts
Aurorablade Jun 29, 2017
ef6d234
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Jun 29, 2017
12c428d
redoes repeaer sprite
Aurorablade Jul 11, 2017
48c6573
formatting and windup to dagger.
Aurorablade Jul 12, 2017
6529be0
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Jul 12, 2017
414bc7c
I hopefully didn't mess up the icons too much here..
Aurorablade Jul 12, 2017
55175fa
reverts living sacrefice change
Aurorablade Jul 24, 2017
3244dd3
Tweaks some bleeds dowwards
Aurorablade Jul 24, 2017
34ed159
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Jul 24, 2017
a55ecfb
fixes a error post conflict fix
Aurorablade Jul 25, 2017
9bbb12b
grrrrrrrr
Aurorablade Aug 15, 2017
c17971f
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Sep 15, 2017
326ef91
merges convert and sac
Aurorablade Sep 15, 2017
6a0844b
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise int…
Aurorablade Sep 30, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 4 additions & 3 deletions code/game/gamemodes/cult/cult_datums.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,20 +86,21 @@
entity_title1 = "The Silent One"
entity_title2 = "The One Who Beckons"
entity_title3 = "The Ferryman of Oblivion"
entity_icon_state = "legion"

cult_wall_icon_state = "deathcult"
cult_floor_icon_state = "carpet-broken"

artificer_name = "Boneshaper"

behemoth_name = "Draugr"
behemoth_icon_state = "horror"
behemoth_icon_state = "Draugr"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are these deffo capitalised in the file? I've come across several sprite issues lately due to caps inconsistency.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i will double check in a little while.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

they are.


wraith_name = "Wraith"
wraith_icon_state = "stand"
wraith_icon_state = "Wraith"

juggernaut_name = "Wight"
juggernaut_icon_state = "horror"
juggernaut_icon_state = "Draugr"

harvester_name = "Psychopomp"

Expand Down
63 changes: 63 additions & 0 deletions code/game/gamemodes/cult/cult_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@
to_chat(user, "<span class='warning'>An overwhelming sense of nausea overpowers you!</span>")
user.Dizzy(120)

if(HULK in user.mutations)
to_chat(user, "<span class='danger'>\"you can't seem to hold the blade properly!.\"</span>")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ends in both an exclamation, and a full stop... as well as doesn't start with a capitalised letter.

user.unEquip(src, 1)


/obj/item/weapon/melee/cultblade/dagger
name = "sacrificial dagger"
desc = "A strange dagger said to be used by sinister groups for \"preparing\" a corpse before sacrificing it to their dark gods."
Expand Down Expand Up @@ -321,6 +326,7 @@
if(uses <= 0)
icon_state ="shifter_drained"
playsound(mobloc, "sparks", 50, 1)
C.apply_damage(6, "BRUTE")
new /obj/effect/overlay/temp/cult/phase/out(mobloc)

var/atom/movable/pulled = handle_teleport_grab(destination, C)
Expand All @@ -334,3 +340,60 @@

else
to_chat(C, "<span class='danger'>The veil cannot be torn here!</span>")


/obj/item/weapon/melee/cultblade/ghost
name = "eldritch sword"
force = 15
flags = NODROP

/obj/item/weapon/melee/cultblade/ghost/dropped(mob/living/carbon/human/user)
..()
qdel(src)

/obj/item/clothing/head/culthood/alt/ghost
flags = NODROP

/obj/item/clothing/head/culthood/alt/ghost/dropped(mob/living/carbon/human/user)
..()
qdel(src)

/obj/item/clothing/suit/cultrobes/alt/ghost
flags = NODROP

/obj/item/clothing/suit/cultrobes/alt/ghost/dropped(mob/living/carbon/human/user)
..()
qdel(src)

/obj/item/clothing/shoes/cult/ghost
flags = NODROP

/obj/item/clothing/shoes/cult/ghost/dropped(mob/living/carbon/human/user)
..()
qdel(src)

//CULT

/obj/item/clothing/suit/space/eva/plasmaman/cultist
name = "plasmaman cultist armor"
icon_state = "plasmaman_cult"
item_state = "plasmaman_cult"
desc = "A bulky suit of armour, menacing with red energy. It looks like it would fit a plasmaman."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sadly it should be armor not armour

slowdown = 1
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)

/obj/item/clothing/head/helmet/space/eva/plasmaman/cultist
name = "plasmaman cultist helmet"
icon_state = "plasmamanCult_helmet0"
base_state = "plasmamanCult_helmet"
desc = "A containment suit designed by the followers of Nar-Sie. It glows menacingly with unearthly flames."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Says suit, on a helmet?

armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)

/datum/outfit/ghost_cultist
name = "Cultist Ghost"

uniform = /obj/item/clothing/under/color/black
suit = /obj/item/clothing/suit/cultrobes/alt/ghost
shoes = /obj/item/clothing/shoes/cult/ghost
head = /obj/item/clothing/head/culthood/alt/ghost
r_hand = /obj/item/weapon/melee/cultblade/ghost
30 changes: 17 additions & 13 deletions code/game/gamemodes/cult/cult_objectives.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,10 @@
explanation = "We need to sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role], for his blood is the key that will lead our master to this realm. You will need 3 cultists around a Sacrifice rune to perform the ritual."

for(var/datum/mind/cult_mind in cult)
to_chat(cult_mind.current, "<span class='cult'>You and your acolytes have completed your task, but this place requires yet more preparation!</span>")
to_chat(cult_mind.current, "<B>Objective #[current_objective]</B>: [explanation]")
cult_mind.memory += "<B>Objective #[current_objective]</B>: [explanation]<BR>"
if(cult_mind)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inside a typed loop, shouldn't be null

to_chat(cult_mind.current, "<span class='cult'>You and your acolytes have completed your task, but this place requires yet more preparation!</span>")
to_chat(cult_mind.current, "<B>Objective #[current_objective]</B>: [explanation]")
Copy link
Contributor

@SamHPurp SamHPurp Jun 27, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we be using <span>'s rather than <b>?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thats a constant with some objectives so its more then here.

cult_mind.memory += "<B>Objective #[current_objective]</B>: [explanation]<BR>"

message_admins("New Cult Objective: [new_objective]")
log_admin("New Cult Objective: [new_objective]")
Expand All @@ -98,9 +99,10 @@
objectives +="survive"
explanation = "Our knowledge must live on. Make sure at least [acolytes_needed] acolytes escape on the shuttle to spread their work on an another station."
for(var/datum/mind/cult_mind in cult)
to_chat(cult_mind.current, "<span class='cult'>You and your acolytes suddenly feel the urge to do your best, but survive!</span>")
to_chat(cult_mind.current, "<B>Objective Survive</B>: [explanation]")
cult_mind.memory += "<B>Objective Survive</B>: [explanation]<BR>"
if(cult_mind)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inside a typed loop, shouldn't be null

to_chat(cult_mind.current, "<span class='cult'>You and your acolytes suddenly feel the urge to do your best, but survive!</span>")
to_chat(cult_mind.current, "<B>Objective Survive</B>: [explanation]")
cult_mind.memory += "<B>Objective Survive</B>: [explanation]<BR>"


/datum/game_mode/cult/proc/second_phase()
Expand All @@ -115,9 +117,10 @@
explanation = "Bring the Slaughter via the rune 'Bring forth the slaughter'."

for(var/datum/mind/cult_mind in cult)
to_chat(cult_mind.current, "<span class='cult'>You and your acolytes have succeeded in preparing the station for the ultimate ritual!</span>")
to_chat(cult_mind.current, "<B>Objective #[current_objective]</B>: [explanation]")
cult_mind.memory += "<B>Objective #[current_objective]</B>: [explanation]<BR>"
if(cult_mind)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is inside a typed loop, it shouldn't ever be null

to_chat(cult_mind.current, "<span class='cult'>You and your acolytes have succeeded in preparing the station for the ultimate ritual!</span>")
to_chat(cult_mind.current, "<B>Objective #[current_objective]</B>: [explanation]")
cult_mind.memory += "<B>Objective #[current_objective]</B>: [explanation]<BR>"

/datum/game_mode/cult/proc/third_phase()
current_objective++
Expand All @@ -132,15 +135,16 @@

switch(last_objective)
if("harvest")
explanation = "[ticker.mode.cultdat.entity_title1] hungers for his first meal of this never-ending day. Offer him [harvest_target] humans in sacrifice."
explanation = "[ticker.mode.cultdat.entity_title1] hungers for thier first meal of this never-ending day. Offer them [harvest_target] humans in sacrifice."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

their

if("hijack")
explanation = "[ticker.mode.cultdat.entity_name] wishes for his troops to start the assault on Centcom immediately. Hijack the escape shuttle and don't let a single non-cultist board it."
explanation = "[ticker.mode.cultdat.entity_name] wishes for thier troops to start the assault on Centcom immediately. Hijack the escape shuttle and don't let a single non-cultist board it."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

their, not thier

if("massacre")
explanation = "[ticker.mode.cultdat.entity_name] wants to watch you as you massacre the remaining humans on the station (until less than [massacre_target] humans are left alive)."

for(var/datum/mind/cult_mind in cult)
to_chat(cult_mind.current, "<B>Objective #[current_objective]</B>: [explanation]")
cult_mind.memory += "<B>Objective #[current_objective]</B>: [explanation]<BR>"
if(cult_mind)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

inside a typed loop, shouldn't be null

to_chat(cult_mind.current, "<B>Objective #[current_objective]</B>: [explanation]")
cult_mind.memory += "<B>Objective #[current_objective]</B>: [explanation]<BR>"

message_admins("Last Cult Objective: [last_objective]")
log_admin("Last Cult Objective: [last_objective]")
Expand Down
5 changes: 4 additions & 1 deletion code/game/gamemodes/cult/cult_structures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@
to_chat(user, "<span class='notice'>\The [src] is [anchored ? "":"not "]secured to the floor.</span>")

/obj/structure/cult/functional/attackby(obj/I, mob/user, params)
if(HULK in user.mutations)
to_chat(user, "<span class='danger'>\"you can seem to work the structure right with your bulky hands!.\"</span>")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no capitalisation for the beginning word, and both a fullstop and an exclamation mark. The english is a bit dodge.

Also, it seems to say you CAN use it, but the immediate return shows you can't? Going to assume the can is an error also.

Suggest:

Your bulky hands are inhibiting your ability to use this!

or

You cannot seem to manipulate this structure with your bulky hands!

Something like that?

return
if(istype(I, /obj/item/weapon/tome) && iscultist(user))
anchored = !anchored
to_chat(user, "<span class='notice'>You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor.</span>")
Expand Down Expand Up @@ -161,7 +164,7 @@ var/list/blacklisted_pylon_turfs = typecacheof(list(
death_message = "<span class='warning'>The pylon's crystal vibrates and glows fiercely before violently shattering!</span>"
death_sound = 'sound/effects/pylon_shatter.ogg'

var/heal_delay = 25
var/heal_delay = 50
var/last_heal = 0
var/corrupt_delay = 50
var/last_corrupt = 0
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/cult/ritual.dm
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@
var/mob/living/carbon/human/H = user
var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot")
var/obj/item/organ/external/affecting = H.get_organ(ran_zone(dam_zone))
user.visible_message("<span class='warning'>[user] cuts open their \The [affecting] and begins writing in their own blood!</span>", "<span class='cult'>You slice open your [affecting] and begin drawing a sigil of [ticker.mode.cultdat.entity_title3].</span>")
user.visible_message("<span class='warning'>[user] cuts open their [affecting] and begins writing in their own blood!</span>", "<span class='cult'>You slice open your [affecting] and begin drawing a sigil of [ticker.mode.cultdat.entity_title3].</span>")
user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE , affecting)
if(!do_after(user, initial(rune_to_scribe.scribe_delay)-scribereduct, target = get_turf(user)))
for(var/V in shields)
Expand Down
47 changes: 40 additions & 7 deletions code/game/gamemodes/cult/runes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,9 @@ structure_check() searches for nearby cultist structures required for the invoca
//This proc determines if the rune can be invoked at the time. If there are multiple required cultists, it will find all nearby cultists.
var/list/invokers = list() //people eligible to invoke the rune
var/list/chanters = list() //people who will actually chant the rune when passed to invoke()
if(invisibility == 0)
return

if(user)
chanters |= user
invokers |= user
Expand Down Expand Up @@ -316,6 +319,12 @@ var/list/teleport_runes = list()
to_chat(user, "<span class='cult'>You[moveuserlater ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"].</span>")
if(moveuserlater)
user.forceMove(get_turf(actual_selected_rune))
user.apply_damage(6, BRUTE)
var/mob/living/carbon/human/H = user
if(user.z != T.z)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe have extra damage for people who are teleporting to/from deep space? (IE: not station or mining zlevels)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats really what that check is. i think theres a specific check i can pull.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My point is: there's a difference between a cult base on the mining or science outpost (which is discoverable/raidable) and one in deep space (which isn't typically findable, let alone attackable).

The code for teleport runes should distinguish between the two. The former should have a substantial penalty. The latter should have a severe penalty... or cults will just continue creating their bases in places like the white ship, where they're functionally invincible.

H.drip(60)
else
H.drip(rand(10,56))
else
fail_invoke()

Expand All @@ -336,7 +345,7 @@ var/list/teleport_runes = list()
var/turf/T = get_turf(src)

for(var/mob/living/M in T.contents)
if(!iscultist(M) && !ismindshielded(M) && ishuman(M))
if(!iscultist(M) && !ismindshielded(M) && ishuman(M) && !istype(M, /mob/living/carbon/human/golem))
convertees.Add(M)
if(!convertees.len)
fail_invoke()
Expand Down Expand Up @@ -366,11 +375,11 @@ var/list/teleport_runes = list()
//Rite of Tribute: Sacrifices a crew member to Nar-Sie. Places them into a soul shard if they're in their body.
/obj/effect/rune/sacrifice
cultist_name = "Rite of Tribute"
cultist_desc = "sacrifices a crew member to your god. May place them into a soul shard if their spirit remains in their body."
cultist_desc = "sacrifices a crew member to your god. May place them into a soul shard if their spirit remains in their body. Target must be alive."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalise the first word.

Second is a fragment. Start with It may?

icon_state = "3"
allow_excess_invokers = 1
invocation = "Barhah hra zar'garis!"
rune_in_use = 0
req_cultists = 2

/obj/effect/rune/sacrifice/New()
..()
Expand Down Expand Up @@ -404,9 +413,16 @@ var/list/teleport_runes = list()
for(var/M in invokers)
to_chat(M, "<span class='cultitalic'>[offering] is too greatly linked to the world! You need three acolytes!</span>")
fail_invoke()
log_game("Sacrifice rune failed - not enough acolytes and target is living")
log_game("Sacrifice rune failed - not enough acolytes.")
rune_in_use = 0
return
if(offering.stat == DEAD)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, this raises 2 issues:
First, what if a sacrifice target dies? Does this leave the objective uncompleteable?
Second, isn't sacrificing the dead a means for a cult to bring itself back from the brink? Using this, a single cultist can go from just themself, to 2 shades and themself, sufficient to do full conversions.

for(var/M in invokers)
to_chat(M, "<span class='cultitalic'>[offering] is no use to our lord dead!</span>")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

capitalise Lord

fail_invoke()
log_game("Sacrifice rune failed - target dead.")
rune_in_use = 0
return
visible_message("<span class='warning'>[src] pulses blood red!</span>")
color = rgb(126, 23, 23)
..()
Expand All @@ -417,6 +433,10 @@ var/list/teleport_runes = list()
var/sacrifice_fulfilled
var/datum/game_mode/cult/cult_mode = ticker.mode
if(T)
if(istype(T, /mob/living/carbon/human/golem))
for(var/M in invokers)
var/mob/living/L = M
to_chat(L, "<span class='cultlarge'>\"This creature has no soul!\"</span>")
if(istype(T, /mob/living/simple_animal/pet/corgi))
for(var/M in invokers)
var/mob/living/L = M
Expand Down Expand Up @@ -767,7 +787,7 @@ var/list/teleport_runes = list()
affecting = null //In case it's assigned to a number or something
rune_in_use = 0
return
affecting.apply_damage(1, BRUTE)
affecting.apply_damage(3, BRUTE)
if(!(user in T.contents))
user.visible_message("<span class='warning'>A spectral tendril wraps around [user] and pulls them back to the rune!</span>")
Beam(user,icon_state="drainbeam",icon='icons/effects/effects.dmi',time=2)
Expand Down Expand Up @@ -818,7 +838,7 @@ var/list/teleport_runes = list()
"<span class='cultitalic'>You channel your life energy into [src], [density ? "preventing" : "allowing"] passage above it.</span>")
if(iscarbon(user))
var/mob/living/carbon/C = user
C.apply_damage(2, BRUTE, pick("l_arm", "r_arm"))
C.apply_damage(4, BRUTE, pick("l_arm", "r_arm"))


//Rite of Joined Souls: Summons a single cultist.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe stop this working if the cultist is cuffed?

We've had issues with teleporting cultists that we have to lethal to subdue. It sucks when a cultist is cuffed, chaired in the brig - and they just get teleported out.

Expand Down Expand Up @@ -889,7 +909,7 @@ var/list/teleport_runes = list()
C.Stun(7)
for(var/M in invokers)
var/mob/living/L = M
L.apply_damage(15, BRUTE, pick("l_arm", "r_arm"))
L.apply_damage(17, BRUTE, pick("l_arm", "r_arm"))
to_chat(L,"<span class='cultitalic'>[src] saps your strength!</span>")
qdel(src)
explosion(T, -1, 0, 1, 5)
Expand Down Expand Up @@ -940,6 +960,8 @@ var/list/teleport_runes = list()
construct_invoke = 0
color = rgb(200, 0, 0)
var/list/summoned_guys = list()
var/ghost_limit = 5
var/ghosts = 0

/obj/effect/rune/manifest/New(loc)
..()
Expand All @@ -948,6 +970,11 @@ var/list/teleport_runes = list()
notify_ghosts("Manifest rune created in [get_area(src)].", 'sound/effects/ghost2.ogg', source = src)

/obj/effect/rune/manifest/can_invoke(mob/living/user)
if(ghosts >= ghost_limit)
to_chat(user, "<span class='cultitalic'>You are sustaining too many ghosts to summon more!</span>")
fail_invoke()
log_game("Manifest rune failed - too many summoned ghosts")
return list()
if(!(user in get_turf(src)))
to_chat(user,"<span class='cultitalic'>You must be standing on [src]!</span>")
fail_invoke()
Expand All @@ -974,8 +1001,12 @@ var/list/teleport_runes = list()
var/mob/living/carbon/human/new_human = new(get_turf(src))
new_human.real_name = ghost_to_spawn.real_name
new_human.alpha = 150 //Makes them translucent
new_human.equipOutfit(/datum/outfit/ghost_cultist) //give them armor
new_human.color = "grey" //heh..cult greytide...litterly...
..()

playsound(src, 'sound/misc/exit_blood.ogg', 50, 1)
user.apply_damage(10, BRUTE)
visible_message("<span class='warning'>A cloud of red mist forms above [src], and from within steps... a man.</span>")
to_chat(user, "<span class='cultitalic'>Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely...</span>")
var/obj/machinery/shield/N = new(get_turf(src))
Expand All @@ -987,6 +1018,7 @@ var/list/teleport_runes = list()
new_human.key = ghost_to_spawn.key
ticker.mode.add_cultist(new_human.mind, 0)
summoned_guys |= new_human
ghosts++
to_chat(new_human, "<span class='cultitalic'><b>You are a servant of [ticker.mode.cultdat.entity_title3]. You have been made semi-corporeal by the cult of [ticker.mode.cultdat.entity_name], and you are to serve them at all costs.</b></span>")

while(user in get_turf(src))
Expand All @@ -1002,6 +1034,7 @@ var/list/teleport_runes = list()
for(var/obj/I in new_human)
new_human.unEquip(I)
summoned_guys -= new_human
ghosts --
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you do ghosts++ at least do ghost-- without the space to keep it consistent...

new_human.dust()

/obj/effect/rune/manifest/Destroy()
Expand Down
7 changes: 6 additions & 1 deletion code/game/gamemodes/cult/talisman.dm
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,12 @@
var/mob/living/carbon/human/H = user
user.visible_message("<span class='warning'>Otherworldly armor suddenly appears on [user]!</span>", \
"<span class='cultitalic'>You speak the words of the talisman, arming yourself!</span>")
H.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), slot_wear_suit)
if(H.get_species() == "Plasmaman")
H.equip_to_slot(new /obj/item/clothing/suit/space/eva/plasmaman/cultist(H), slot_wear_suit)
H.equip_to_slot(new /obj/item/clothing/head/helmet/space/eva/plasmaman/cultist(H), slot_head)
else
H.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), slot_wear_suit)

H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/cultpack(user), slot_back)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(user), slot_shoes)
H.put_in_hands(new /obj/item/weapon/melee/cultblade(user))
Expand Down
10 changes: 5 additions & 5 deletions code/game/gamemodes/wizard/soulstone.dm
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,9 @@
icon_state = "soulstone"
name = initial(name)
if(iswizard(usr) || usability)
to_chat(A, "<b>You have been released from your prison, but you are still bound to [usr.real_name]'s will. Help them succeed in their goals at all costs.</b>")
to_chat(A, "<span class='cult'>You have been released from your prison, but you are still bound to [usr.real_name]'s will. Help them succeed in their goals at all costs.</span>")
else if(iscultist(usr))
to_chat(A, "<b>You have been released from your prison, but you are still bound to the cult's will. Help them succeed in their goals at all costs.</b>")
to_chat(A, "<span class='cult'>You have been released from your prison, but you are still bound to the cult's will. Help them succeed in their goals at all costs.</span>")
was_used()
attack_self(U)

Expand Down Expand Up @@ -214,7 +214,7 @@
T.health = T.maxHealth
T.faction |= "\ref[U]"
C.icon_state = "soulstone2"
to_chat(T, "Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form")
to_chat(T, "<span class='cult'>Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form</span>")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing a fullstop / period at the end of the sentence. .

to_chat(U, "<span class='notice'>Capture successful!</span>: [T.name]'s has been recaptured and stored within the soul stone.")
if("CONSTRUCT")
var/obj/structure/constructshell/T = target
Expand Down Expand Up @@ -317,9 +317,9 @@
name = "soulstone: Shade of [T.real_name]"
icon_state = "soulstone2"
if(U && iswizard(U))
to_chat(S, "Your soul has been captured! You are now bound to [U.real_name]'s will. Help them succeed in their goals at all costs.")
to_chat(S, "<span class='cultlarge'>Your soul has been captured! You are now bound to [U.real_name]'s will. Help them succeed in their goals at all costs.</span>")
else if(U && iscultist(U))
to_chat(S, "Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs.")
to_chat(S, "<span class='cultlarge'>Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs.</span>")
if(vic && U)
to_chat(U, "<span class='info'><b>Capture successful!</b>:</span> [T.real_name]'s soul has been ripped from their body and stored within the soul stone.")

Expand Down