Skip to content

Commit

Permalink
IPC can be converted to the cult again, but only serve as constructs (A…
Browse files Browse the repository at this point in the history
…urorastation#4779)

Due to the feedback the recent cult changes regarding IPCs have been adapted so they can be converted again, but only serve as constructs.
  • Loading branch information
Arrow768 authored and skull132 committed May 24, 2018
1 parent 4f5570f commit 088e13c
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 11 deletions.
56 changes: 45 additions & 11 deletions code/game/gamemodes/cult/runes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -133,11 +133,6 @@ var/list/sacrificed = list()
target.hallucination = min(target.hallucination, 500)
return 0

//If you dont have blood, blood magic doesnt work on you
if(target.is_mechanical())
attacker << "<span class='danger'>You sense that your powers can not effect them.</span>"
return 0

target.take_overall_damage(0, rand(5, 20)) // You dirty resister cannot handle the damage to your mind. Easily. - even cultists who accept right away should experience some effects
// Resist messages go!
if(initial_message) //don't do this stuff right away, only if they resist or hesitate.
Expand Down Expand Up @@ -181,11 +176,51 @@ var/list/sacrificed = list()
var/choice = alert(target,"Do you want to join the cult?","Submit to Nar'Sie","Resist","Submit")
waiting_for_input[target] = 0
if(choice == "Submit") //choosing 'Resist' does nothing of course.
cult.add_antagonist(target.mind)
converting -= target
target.hallucination = 0 //sudden clarity
playsound(target, 'sound/effects/bloodcult.ogg', 100, 1)

if(!target.is_mechanical())
cult.add_antagonist(target.mind)
converting -= target
target.hallucination = 0 //sudden clarity
playsound(target, 'sound/effects/bloodcult.ogg', 100, 1)
else
converting -= target
//If we are dealing with a IPC then ask the caster what construct they want
var/construct_class = alert(attacker, "Please choose which type of construct you wish to create.",,"Juggernaut","Wraith","Artificer")

playsound(target, 'sound/effects/bloodcult.ogg', 100, 1)

//Spawn some remains
new target.species.remains_type(target.loc) //spawns a skeleton based on the species remain type
target.invisibility = 101
var/atom/movable/overlay/animation = new /atom/movable/overlay( target.loc )
animation.icon_state = "blank"
animation.icon = 'icons/mob/mob.dmi'
animation.master = target
flick("dust-h", animation)
qdel(animation)

//Spawn the selected construct
switch(construct_class)
if("Juggernaut")
var/mob/living/simple_animal/construct/armoured/Z = new /mob/living/simple_animal/construct/armoured (get_turf(target.loc))
Z.key = target.key
qdel(target)
cult.add_antagonist(Z.mind)
Z << "<B>You are playing a Juggernaut. Though slow, you can withstand extreme punishment, and rip apart enemies and walls alike.</B>"
Z << "<B>You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.</B>"
if("Wraith")
var/mob/living/simple_animal/construct/wraith/Z = new /mob/living/simple_animal/construct/wraith (get_turf(target.loc))
Z.key = target.key
qdel(target)
cult.add_antagonist(Z.mind)
Z << "<B>You are playing a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls.</B>"
Z << "<B>You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.</B>"
if("Artificer")
var/mob/living/simple_animal/construct/builder/Z = new /mob/living/simple_animal/construct/builder (get_turf(target.loc))
Z.key = target.key
qdel(target)
cult.add_antagonist(Z.mind)
Z << "<B>You are playing an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, repair allied constructs (by clicking on them), and even create new constructs</B>"
Z << "<B>You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.</B>"
sleep(100) //proc once every 10 seconds
return 1

Expand Down Expand Up @@ -1064,7 +1099,6 @@ var/list/sacrificed = list()
/////////////////////////////////////////TWENTY-FIFTH RUNE

/obj/effect/rune/proc/armor(var/mob/living/user)

if(istype(src,/obj/effect/rune))
user.say("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!")
else
Expand Down
37 changes: 37 additions & 0 deletions html/changelogs/arrow768-cultipcs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
# balance
#################################

# Your name.
author: Arrow768

# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True

# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "IPCs can be converted to the cult again, but only serve as constructs."

0 comments on commit 088e13c

Please sign in to comment.