Skip to content

Commit

Permalink
Cult theme update;
Browse files Browse the repository at this point in the history
Cult stuff uses cult span classes for the most part.
There are beams when using blood drain on a target and when reviving a target with the raise dead rune.
There's a nar-sie maw when you sac something, holy shit.
Sac invocation is now the old invocation, and it worked in testing I promise.
Updates construct descriptions to match what they tend to do.
There's like one or two bugfixes, you can examine talismans as a cultist without the paper menu popping up.
The supply talisman popup is like 50% smaller.
  • Loading branch information
ChangelingRain committed Nov 28, 2015
1 parent 01edb6d commit 1414070
Show file tree
Hide file tree
Showing 11 changed files with 149 additions and 147 deletions.
7 changes: 3 additions & 4 deletions code/game/gamemodes/cult/cult.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@
for(var/mob/M in mob_list)
if(iscultist(M) || (M in dead_mob_list))
if(clear || !ishuman(user))
M << "<span class='boldannounce'><i>[(ishuman(user) ? "Acolyte" : "Construct")] [user]:</i> [message]</span>"
M << "<span class='cultitalic'><b>[(ishuman(user) ? "Acolyte" : "Construct")] [user]:</b> [message]</span>"
else //Emergency comms
M << "<span class='ghostalert'><i>Acolyte ???:</i> [message]</span>"
M << "<span class='purple'><i>Acolyte ???:</i> <b>[message]</b></span>"
log_say("[user.real_name]/[user.key] : [message]")


Expand Down Expand Up @@ -76,12 +76,11 @@


/datum/game_mode/cult/pre_setup()
cult_objectives += "sacrifice"
if(prob(50))
cult_objectives += "survive"
cult_objectives += "sacrifice"
else
cult_objectives += "eldergod"
cult_objectives += "sacrifice"

if(config.protect_roles_from_antagonist)
restricted_jobs += protected_jobs
Expand Down
4 changes: 2 additions & 2 deletions code/game/gamemodes/cult/cult_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
if(!iscultist(user))
user.Weaken(5)
user.visible_message("<span class='warning'>A powerful force shoves [user] away from [target]!</span>", \
"<span class='cult'>\"You shouldn't play with sharp things. You'll poke someone's eye out.\"</span>")
"<span class='cultlarge'>\"You shouldn't play with sharp things. You'll poke someone's eye out.\"</span>")
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.apply_damage(rand(force/2, force), BRUTE, pick("l_arm", "r_arm"))
Expand All @@ -27,7 +27,7 @@

/obj/item/weapon/melee/cultblade/pickup(mob/living/user)
if(!iscultist(user))
user << "<span class='cult'>\"I wouldn't advise that.\"</span>"
user << "<span class='cultlarge'>\"I wouldn't advise that.\"</span>"
user << "<span class='warning'>An overwhelming sense of nausea overpowers you!</span>"
user.Dizzy(120)

Expand Down
57 changes: 23 additions & 34 deletions code/game/gamemodes/cult/ritual.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ It also contains rune words, which are soon to be removed.
return

if(ishuman(usr) || ismonkey(usr)) //Damage only applies to humans and monkeys, to allow constructs to communicate
usr.visible_message("<span class='warning'>[usr] starts clawing at \his arms with \his fingernails!</span>", "<span class='warning'>You begin slicing open your arms with your fingernails!</span>")
usr.visible_message("<span class='warning'>[usr] starts clawing at \his arms with \his fingernails!</span>", "<span class='cultitalic'>You begin slicing open your arms with your fingernails!</span>")
apply_damage(10,BRUTE, "l_arm")
apply_damage(10,BRUTE, "r_arm")
sleep(50)
Expand All @@ -38,7 +38,7 @@ It also contains rune words, which are soon to be removed.
apply_damage(10,BRUTE, "r_arm")
if(usr.incapacitated())
return
usr.visible_message("<span class='warning'>[usr] paints strange symbols with their own blood.</span>", "<span class='warning'>You paint a messy rune with your own blood.</span>")
usr.visible_message("<span class='warning'>[usr] paints strange symbols with their own blood.</span>", "<span class='cultitalic'>You paint a messy rune with your own blood.</span>")
sleep(20)

cultist_commune(usr, 0, 1, input)
Expand All @@ -56,22 +56,16 @@ It also contains rune words, which are soon to be removed.
/obj/item/weapon/tome/examine(mob/user)
..()
if(iscultist(user))
user << "The scriptures of the Geometer. Allows the scribing of runes and access of knowledge archives."
user << "The scriptures of the Geometer. Allows the scribing of runes and access to the knowledge archives of the cult of Nar-Sie."

/obj/item/weapon/tome/attack(mob/living/M, mob/living/user)
if(istype(M,/mob/dead/observer))
M.invisibility = 0
user.visible_message("<span class='warning'>[user] strikes the air with [src], and a spirit appears!</span>", \
"<span class='danger'>You drag the ghost to your plane of reality!</span>")
add_logs(user, M, "smacked", src)
return
if(!istype(M))
return
if(!iscultist(user))
return ..()
if(iscultist(M))
if(M.reagents && M.reagents.has_reagent("holywater")) //allows cultists to be rescued from the clutches of ordained religion
user << "<span class='notice'>You remove the taint from [M].</span>"
user << "<span class='cult'>You remove the taint from [M].</span>"
var/holy2unholy = M.reagents.get_reagent_amount("holywater")
M.reagents.del_reagent("holywater")
M.reagents.add_reagent("unholywater",holy2unholy)
Expand All @@ -92,15 +86,10 @@ It also contains rune words, which are soon to be removed.
open_tome(user)

/obj/item/weapon/tome/proc/open_tome(mob/user)
var/choice = alert(user,"You open the tome...",,"Commune","Scribe Rune","(More...)")
var/choice = alert(user,"You open the tome...",,"Commune","Scribe Rune","Read Tome")
switch(choice)
if("(More...)")
var/choice2 = alert(user,"You open the tome...",,"(Back...)", "Information")
switch(choice2)
if("(Back...)")
return open_tome(user)
if("Information")
read_tome(user)
if("Read Tome")
read_tome(user)
if("Scribe Rune")
scribe_rune(user)
if("Commune")
Expand All @@ -115,8 +104,7 @@ It also contains rune words, which are soon to be removed.
text += "As a member of the cult, your goals are almost or entirely impossible to complete without special aid from the Geometer's plane. The primary method of doing this are <b>runes</b>. These \
scribings, drawn in blood, are concentrated nodes of the magic within Nar-Sie's realm and will allow the performance of many tasks to aid you and the rest of the cult in your objectives. Runes \
have many different names, and almost all of them are known as Rites. The only rune that is not a Rite is the Ritual of Dimensional Rending, which can only be performed with nine cultists and calls \
forth the avatar of the Geometer itself (so long as it consents). A small description of each rune can be found below.<br><br>Do note that sometimes runes can be drawn incorrectly. Runes such as these \
will be colorful and written in gibberish. They are malformed, and invoking them serves only to ignite the Geometer's wrath. Be cautious in your scribings.<br><br>A rune's name and effects can be \
forth the avatar of the Geometer herself (so long as she consents). A small description of each rune can be found below.<br><br>A rune's name and effects can be \
revealed by examining the rune.<br><br><br>"/*In order to write a rune, you must know the combination of words required for the rune. These words are in the tongue of the Geometer and must be written as such. \
A rune will always have a specific combination, and the combination for runes may be revealed by perfomring actions such as conversion or sacrifice. Once a rune has been written, any cultists can \
examine it to find out its \"grammar\", or the words required to scribe it. To scribe the rune, the words must be entered in lowercase and separated by exactly one space. For instance, to draw a \
Expand Down Expand Up @@ -152,23 +140,23 @@ It also contains rune words, which are soon to be removed.

text += "<font color='red'><b>Convert</b></font><br>The Rite of Enlightment is paramount to the success of the cult. It will allow you to convert normal crew members into cultists. \
To do this, simply place the crew member upon the rune and invoke it. This rune requires two acolytes to use. If the target to be converted is loyalty-implanted or a certain assignment, they will \
be unable to be converted. People the Geometer wishes sacrificed will also be ineligible for conversion, and anyone with a shielding presence like a null rod will not be converted.<br><br>"
be unable to be converted. People the Geometer wishes sacrificed will also be ineligible for conversion, and anyone with a shielding presence like the null rod will not be converted.<br><br>"

text += "<font color='red'><b>Sacrifice</b></font><br>The Rite of Tribute is used to offer sacrifice to the Geometer. Simply place any living creature upon the rune and invoke it (this will not \
target cultists!). If this creature has a mind, a soul shard will be created and the creature's soul transported to it. This rune is required if the cult's objectives include the sacrifice of a crew \
member.<br><br>"

text += "<font color='red'><b>Raise Dead</b></font><br>The Rite of Resurrection is a delicate rite that requires two corpses. To perform the ritual, place the corpse you wish to revive onto \
the rune and the offering body adjacent to it. When the rune is invoked, the body to be sacrificed will turn to ashes, the life force flowing into the revival target. Assuming the target is not moved \
the rune and the offering body adjacent to it. When the rune is invoked, the body to be sacrificed will turn to dust, the life force flowing into the revival target. Assuming the target is not moved \
within a few seconds, they will be brought back to life, healed of all ailments.<br><br>"

text += "<font color='red'><b>Veil Runes</b></font><br>The Rite of Obscurity is a rite that will cause all nearby runes to become invisible. The runes will still be considered by other rites \
(such as the Rite of Translocation) but is unusuable directly.<br><br>"
(such as the Rite of Translocation) but will be unusuable directly.<br><br>"

text += "<font color='red'><b>Reveal Runes</b></font><br>The Rite of True Sight is the foil of the Rite of Obscurity. It will turn all invisible runes visible once more, in addition to causing \
all spirits nearby to become partially corporeal.<br><br>"
all spirits nearby to become visible.<br><br>"

text += "<font color='red'><b>Disguise Runes</b></font><br>Many crew men enjoy drawing runes in crayon that resemble spell circles in order to play pranks on their fellow crewmen. The Rite of \
text += "<font color='red'><b>Disguise Runes</b></font><br>Many crewmen enjoy drawing runes in crayon that resemble spell circles in order to play pranks on their fellow crewmen. The Rite of \
False Truths takes advantage of this very joke. When invoked, all nearby runes will appear dull, precisely resembling those drawn in crayon. They still cannot be cleaned by conventional means, so \
anyone trying to clean up the rune may become suspicious as it does not respond.<br><br>"

Expand All @@ -190,8 +178,8 @@ It also contains rune words, which are soon to be removed.
text += "<font color='red'><b>Blind</b></font><br>Much like the Rite of the Unheard Whisper, the Rite of the Unseen Glance serves a single purpose. Any non-cultists who can see \
the rune will instantly be blinded for a substantial amount of time.<br><br>"

text += "<font color='red'><b>Stun</b></font><br>A somewhat empowered version of the Rite of the Unseen Glance, this rune will cause any non-cultists that can see the rune to become \
disoriented, disabling them for a short time.<br><br>"
text += "<font color='red'><b>Stun</b></font><br>Though the Rite of Blazing Light is weak when invoked normally, using it in conjuction with the Rite of Binding makes it much more useful. \
This rune will cause any non-cultists that can see the rune to become disoriented, disabling them for a short time.<br><br>"

text += "<font color='red'><b>Summon Cultist</b></font><br>The Rite of Joined Souls requires two acolytes to use. When invoked, it will allow the user to summon a single cultist to the rune from \
any location. This will deal a moderate amount of damage to all invokers.<br><br>"
Expand All @@ -202,12 +190,12 @@ It also contains rune words, which are soon to be removed.
text += "<font color='red'><b>Fabricate Shell</b></font><br>The Rite of Fabrication is the main way of creating construct shells. To use it, one must place five sheets of plasteel on top of the rune \
and invoke it. The sheets will them be twisted into a construct shell, ready to recieve a soul to occupy it.<br><br>"

text += "<font color='red'><b>Summon Arnaments</b></font><br>The Rite of Arming will equip the user with invoker's robes, a backpack, a Nar-Sian longsword, and a pair of boots. Any items that cannot \
be equipped will instead not be summoned regardless.<br><br>"
text += "<font color='red'><b>Summon Armaments</b></font><br>The Rite of Arming will equip the user with armored robes, a backpack, an eldrich longsword, and a pair of boots. Any items that cannot \
be equipped will not be summoned.<br><br>"

text += "<font color='red'><b>Drain Life</b></font><br>The Rite of Leeching will drain the life of any non-cultist above the rune and heal the invoker for the same amount.<br><br>"

text += "<font color='red'><b>Boil Blood</b></font><br>The Rite of Boiling Blood may be considered one of the most dangerous rites composed by the Nar-Sian cult. When invoked, it will do a \
text += "<font color='red'><b>Blood Boil</b></font><br>The Rite of Boiling Blood may be considered one of the most dangerous rites composed by the cult of Nar-Sie. When invoked, it will do a \
massive amount of damage to all non-cultist viewers, but it will also emit an explosion upon invocation. Use with caution<br><br>"

text += "<font color='red'><b>Manifest Spirit</b></font><br>If you wish to bring a spirit back from the dead with a wish for vengeance and desire to serve, the Rite of Spectral \
Expand All @@ -226,12 +214,13 @@ It also contains rune words, which are soon to be removed.
text += "<font color='red'><b>Talisman of Teleportation</b></font><br>The talisman form of the Rite of Translocation will transport the invoker to a randomly chosen rune of the same keyword, then \
disappear.<br><br>"

text += "<font color='red'><b>Talisman of Tome summoning</b></font><br>This talisman functions identically to the rune. It can be used once, then disappears.<br><br>"
text += "<font color='red'><b>Talisman of Tome Summoning</b></font><br>This talisman functions nearly identically to the rune. The talisman will attempt to place the tome in your hand \
instead of on the ground, though this is the only advantage it has over the rune. It can be used once, then disappears.<br><br>"

text += "<font color='red'><b>Talismans of Veiling, Revealing, and Disguising</b></font><br>These talismans all function identically to their rune counterparts, but with less range. In addition, \
the Talisman of True Sight will not reveal spirits. They will disappear after one use.<br><br>"

text += "<font color='red'><b>Talisman of Electromagnets</b></font><br>This talisman functions like the Rite of Disruption. It disappears after one use.<br><br>"
text += "<font color='red'><b>Talisman of Electromagnetic Pulse</b></font><br>This talisman functions like the Rite of Disruption. It disappears after one use.<br><br>"

text += "<font color='red'><b>Talisman of Stunning</b></font><br>Without this talisman, the cult would have no way of easily acquiring targets to convert. Commonly called \"stunpapers\", this \
talisman functions differently from others. Rather than simply reading the words, the target must be attacked directly with the talisman. The talisman will then knock down the target for a long \
Expand Down Expand Up @@ -267,14 +256,14 @@ It also contains rune words, which are soon to be removed.
if(!rune_to_scribe)
return
user.visible_message("<span class='warning'>[user] cuts open their arm and begins writing in their own blood!</span>", \
"<span class='danger'>You slice open your arm and begin drawing a sigil of the Geometer.</span>")
"<span class='cult'>You slice open your arm and begin drawing a sigil of the Geometer.</span>")
if(iscarbon(user))
var/mob/living/carbon/C = user
C.apply_damage(0.1, BRUTE, pick("l_arm", "r_arm"))
if(!do_after(user, 50, target = get_turf(user)))
return
user.visible_message("<span class='warning'>[user] creates a strange circle in their own blood.</span>", \
"<span class='danger'>You finish drawing the arcane markings of the Geometer.</span>")
"<span class='cult'>You finish drawing the arcane markings of the Geometer.</span>")
var/obj/effect/rune/R = new rune_to_scribe(get_turf(user))
if(chosen_keyword)
R.keyword = chosen_keyword
Loading

0 comments on commit 1414070

Please sign in to comment.