mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 21:48:21 +01:00
code'sie has risen
This commit is contained in:
@@ -106,7 +106,7 @@
|
||||
|
||||
|
||||
#define ui_construct_pull "EAST-1:28,SOUTH+1:10" //above the zone_sel icon
|
||||
#define ui_construct_health "EAST:00,CENTER:15" //same height as humans, hugging the right border
|
||||
#define ui_construct_health "EAST,CENTER:15" //same height as humans, hugging the right border
|
||||
|
||||
//Pop-up inventory
|
||||
#define ui_shoes "WEST+1:8,SOUTH:5"
|
||||
|
||||
@@ -1,32 +1,63 @@
|
||||
/mob/living/simple_animal/hostile/construct/create_mob_hud()
|
||||
/mob/living/simple_animal/hostile/construct/armoured/create_mob_hud()
|
||||
if(client && !hud_used)
|
||||
hud_used = new /datum/hud/construct(src)
|
||||
hud_used = new /datum/hud/construct/armoured(src)
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/behemoth/create_mob_hud()
|
||||
if(client && !hud_used)
|
||||
hud_used = new /datum/hud/construct/armoured(src)
|
||||
|
||||
/datum/hud/construct/armoured/New(mob/owner)
|
||||
..()
|
||||
mymob.healths = new /obj/screen()
|
||||
mymob.healths.icon = 'icons/mob/screen_construct.dmi'
|
||||
mymob.healths.icon_state = "juggernaut_health0"
|
||||
mymob.healths.name = "health"
|
||||
mymob.healths.screen_loc = ui_construct_health
|
||||
infodisplay += mymob.healths
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/builder/create_mob_hud()
|
||||
if(client && !hud_used)
|
||||
hud_used = new /datum/hud/construct/builder(src)
|
||||
|
||||
/datum/hud/construct/builder/New(mob/owner)
|
||||
..()
|
||||
mymob.healths = new /obj/screen()
|
||||
mymob.healths.icon = 'icons/mob/screen_construct.dmi'
|
||||
mymob.healths.icon_state = "artificer_health0"
|
||||
mymob.healths.name = "health"
|
||||
mymob.healths.screen_loc = ui_construct_health
|
||||
infodisplay += mymob.healths
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/wraith/create_mob_hud()
|
||||
if(client && !hud_used)
|
||||
hud_used = new /datum/hud/construct/wraith(src)
|
||||
|
||||
/datum/hud/construct/wraith/New(mob/owner)
|
||||
..()
|
||||
mymob.healths = new /obj/screen()
|
||||
mymob.healths.icon = 'icons/mob/screen_construct.dmi'
|
||||
mymob.healths.icon_state = "wraith_health0"
|
||||
mymob.healths.name = "health"
|
||||
mymob.healths.screen_loc = ui_construct_health
|
||||
infodisplay += mymob.healths
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/harvester/create_mob_hud()
|
||||
if(client && !hud_used)
|
||||
hud_used = new /datum/hud/construct/harvester(src)
|
||||
|
||||
/datum/hud/construct/harvester/New(mob/owner)
|
||||
..()
|
||||
mymob.healths = new /obj/screen()
|
||||
mymob.healths.icon = 'icons/mob/screen_construct.dmi'
|
||||
mymob.healths.icon_state = "harvester_health0"
|
||||
mymob.healths.name = "health"
|
||||
mymob.healths.screen_loc = ui_construct_health
|
||||
infodisplay += mymob.healths
|
||||
|
||||
/datum/hud/construct/New(mob/owner)
|
||||
..()
|
||||
|
||||
var/constructtype
|
||||
|
||||
if(istype(mymob,/mob/living/simple_animal/hostile/construct/armoured) || istype(mymob,/mob/living/simple_animal/hostile/construct/behemoth))
|
||||
constructtype = "juggernaut"
|
||||
else if(istype(mymob,/mob/living/simple_animal/hostile/construct/builder))
|
||||
constructtype = "artificer"
|
||||
else if(istype(mymob,/mob/living/simple_animal/hostile/construct/wraith))
|
||||
constructtype = "wraith"
|
||||
else if(istype(mymob,/mob/living/simple_animal/hostile/construct/harvester))
|
||||
constructtype = "harvester"
|
||||
|
||||
|
||||
if(constructtype)
|
||||
mymob.healths = new /obj/screen()
|
||||
mymob.healths.icon = 'icons/mob/screen_construct.dmi'
|
||||
mymob.healths.icon_state = "[constructtype]_health0"
|
||||
mymob.healths.name = "health"
|
||||
mymob.healths.screen_loc = ui_construct_health
|
||||
infodisplay += mymob.healths
|
||||
|
||||
mymob.pullin = new /obj/screen()
|
||||
mymob.pullin.icon = 'icons/mob/screen_construct.dmi'
|
||||
mymob.pullin.icon_state = "pull0"
|
||||
mymob.pullin.name = "pull"
|
||||
mymob.pullin.screen_loc = ui_construct_pull
|
||||
mymob.pullin = new /obj/screen/pull()
|
||||
mymob.pullin.icon = 'icons/mob/screen_construct.dmi'
|
||||
mymob.pullin.icon_state = "pull0"
|
||||
mymob.pullin.name = "pull"
|
||||
mymob.pullin.screen_loc = ui_construct_pull
|
||||
@@ -10,6 +10,7 @@
|
||||
CRASH("join_hud(): [M] ([M.type]) is not a mob!")
|
||||
if(M.mind.antag_hud && !slave) //note: please let this runtime if a mob has no mind, as mindless mobs shouldn't be getting antagged
|
||||
M.mind.antag_hud.leave_hud(M)
|
||||
add_to_hud(M)
|
||||
if(self_visible)
|
||||
add_hud_to(M)
|
||||
M.mind.antag_hud = src
|
||||
|
||||
@@ -30,7 +30,7 @@ var/global/list/all_cults = list()
|
||||
return 1
|
||||
|
||||
/proc/is_sacrifice_target(datum/mind/mind)
|
||||
if(ticker.mode.name == "cult")
|
||||
if(istype(ticker.mode.name, "cult"))
|
||||
var/datum/game_mode/cult/cult_mode = ticker.mode
|
||||
if(mind == cult_mode.sacrifice_target)
|
||||
return 1
|
||||
@@ -170,7 +170,7 @@ var/global/list/all_cults = list()
|
||||
)
|
||||
var/where = mob.equip_in_one_of_slots(T, slots)
|
||||
if (!where)
|
||||
to_chat(mob, "<span class='danger'> Unfortunately, you weren't able to get a talisman. This is very bad and you should adminhelp immediately.</span>")
|
||||
to_chat(mob, "<span class='danger'>Unfortunately, you weren't able to get a talisman. This is very bad and you should adminhelp immediately.</span>")
|
||||
else
|
||||
to_chat(mob, "<span class='cult'>You have a talisman in your [where], one that will help you start the cult on this station. Use it well and remember - there are others.</span>")
|
||||
mob.update_icons()
|
||||
|
||||
@@ -21,17 +21,11 @@
|
||||
/proc/cultist_commune(mob/living/user, message)
|
||||
if(!message)
|
||||
return
|
||||
if(!ishuman(user))
|
||||
user.say("O bidai nabora se[pick("'","`")]sma!")
|
||||
else
|
||||
user.whisper("O bidai nabora se[pick("'","`")]sma!")
|
||||
user.whisper("O bidai nabora se[pick("'","`")]sma!")
|
||||
sleep(10)
|
||||
if(!user)
|
||||
return
|
||||
if(!ishuman(user))
|
||||
user.say(message)
|
||||
else
|
||||
user.whisper(message)
|
||||
user.whisper(message)
|
||||
var/my_message
|
||||
if(istype(user, /mob/living/simple_animal/slaughter/cult)) //Harbringers of the Slaughter
|
||||
my_message = "<span class='cultlarge'><b>Harbringer of the Slaughter:</b> [message]</span>"
|
||||
|
||||
@@ -45,12 +45,13 @@
|
||||
..()
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
H.drip(500)
|
||||
H.drip(5000)
|
||||
|
||||
|
||||
/obj/item/weapon/legcuffs/bolas/cult
|
||||
name = "runed bola"
|
||||
desc = "A strong bola, bound with dark magic. Throw it to trip and slow your victim."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "bola_cult"
|
||||
breakouttime = 45
|
||||
|
||||
@@ -75,7 +76,7 @@
|
||||
|
||||
/obj/item/clothing/suit/cultrobes
|
||||
name = "cult robes"
|
||||
desc = "A set of armored robes worn by the followers of a cult"
|
||||
desc = "A set of armored robes worn by the followers of a cult."
|
||||
icon_state = "cultrobes"
|
||||
item_state = "cultrobes"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
@@ -178,7 +179,7 @@
|
||||
icon = 'icons/obj/projectiles.dmi'
|
||||
icon_state ="bluespace"
|
||||
color = "#ff0000"
|
||||
var/global/curselimit = 0
|
||||
var/static/curselimit = 0
|
||||
|
||||
/obj/item/device/shuttle_curse/attack_self(mob/user)
|
||||
if(!iscultist(user))
|
||||
@@ -205,7 +206,7 @@
|
||||
"A shuttle engineer began screaming 'DEATH IS NOT THE END' and ripped out wires until an arc flash seared off her flesh. The shuttle will be delayed by two minutes.",
|
||||
"A shuttle inspector started laughing madly over the radio and then threw herself into an engine turbine. The shuttle will be delayed by two minutes.",
|
||||
"The shuttle dispatcher was found dead with bloody symbols carved into their flesh. The shuttle will be delayed by two minutes.",
|
||||
"A bunch of lightbulbs exploded around Steve and he can't see the console. The shuttle will be delayed by two minutes")
|
||||
"Steve repeatedly touched a lightbulb until his hands fell off. The shuttle will be delayed by two minutes.")
|
||||
var/message = pick(curses)
|
||||
command_announcement.Announce("[message]", "System Failure", 'sound/misc/notice1.ogg')
|
||||
curselimit++
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
/datum/game_mode/cult/proc/first_phase()
|
||||
|
||||
|
||||
var/new_objective = pick_objective()
|
||||
|
||||
objectives += new_objective
|
||||
@@ -32,6 +31,7 @@
|
||||
cult_mind.memory += "<B>Objective #[current_objective]</B>: [explanation]<BR>"
|
||||
|
||||
/datum/game_mode/cult/proc/bypass_phase()
|
||||
|
||||
switch(objectives[current_objective])
|
||||
if("convert")
|
||||
mass_convert = 1
|
||||
|
||||
@@ -58,14 +58,12 @@
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
..()
|
||||
if(I.force)
|
||||
..()
|
||||
health = Clamp(health - I.force, 0, initial(health))
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(health <= 0)
|
||||
destroy_structure()
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/structure/cult/proc/getETA()
|
||||
var/time = (cooldowntime - world.time)/600
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
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='cult'>You remove the taint from [M].</span>"
|
||||
to_chat(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)
|
||||
@@ -185,13 +185,13 @@
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/tome/proc/scribe_rune(mob/living/user)
|
||||
var/turf/Turf = get_turf(user)
|
||||
var/turf/runeturf = get_turf(user)
|
||||
var/chosen_keyword
|
||||
var/obj/effect/rune/rune_to_scribe
|
||||
var/entered_rune_name
|
||||
var/list/possible_runes = list()
|
||||
var/list/shields = list()
|
||||
if(locate(/obj/effect/rune) in Turf)
|
||||
if(locate(/obj/effect/rune) in runeturf)
|
||||
to_chat(user, "<span class='cult'>There is already a rune here.</span>")
|
||||
return
|
||||
for(var/T in subtypesof(/obj/effect/rune) - /obj/effect/rune/malformed)
|
||||
@@ -215,15 +215,15 @@
|
||||
break
|
||||
if(!rune_to_scribe)
|
||||
return
|
||||
Turf = get_turf(user) //we may have moved. adjust as needed...
|
||||
if(locate(/obj/effect/rune) in Turf)
|
||||
runeturf = get_turf(user) //we may have moved. adjust as needed...
|
||||
if(locate(/obj/effect/rune) in runeturf)
|
||||
to_chat(user, "<span class='cult'>There is already a rune here.</span>")
|
||||
return
|
||||
if(!Adjacent(user) || !src || qdeleted(src) || user.incapacitated())
|
||||
return
|
||||
if(ispath(rune_to_scribe, /obj/effect/rune/narsie) || ispath(rune_to_scribe, /obj/effect/rune/slaughter))//may need to change this - Fethas
|
||||
|
||||
if(ticker.mode.name == "cult")
|
||||
if(istype(ticker.mode.name, "cult"))
|
||||
if(!canbypass)//not an admin-tome, check things
|
||||
var/datum/game_mode/cult/cult_mode = ticker.mode
|
||||
if(!("eldergod" in cult_mode.objectives) || !("slughter" in cult_mode.objectives))
|
||||
@@ -240,7 +240,7 @@
|
||||
return
|
||||
var/confirm_final = alert(user, "This is the FINAL step to summon Nar-Sie, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for Nar-Sie!", "No")
|
||||
if(confirm_final == "No")
|
||||
user << "<span class='cult'>You decide to prepare further before scribing the rune.</span>"
|
||||
to_chat(user, "<span class='cult'>You decide to prepare further before scribing the rune.</span>")
|
||||
return
|
||||
command_announcement.Announce("Figments from an eldritch god are being summoned somwhere on the station from an unknown dimension. Disrupt the ritual at all costs!","Central Command Higher Dimensionsal Affairs", 'sound/AI/spanomalies.ogg')
|
||||
for(var/B in spiral_range_turfs(1, user, 1))
|
||||
@@ -262,7 +262,7 @@
|
||||
if(S && !qdeleted(S))
|
||||
qdel(S)
|
||||
return
|
||||
if(locate(/obj/effect/rune) in Turf)
|
||||
if(locate(/obj/effect/rune) in runeturf)
|
||||
to_chat(user, "<span class='cult'>There is already a rune here.</span>")
|
||||
return
|
||||
user.visible_message("<span class='warning'>[user] creates a strange circle in their own blood.</span>", \
|
||||
@@ -271,7 +271,7 @@
|
||||
var/obj/machinery/shield/S = V
|
||||
if(S && !qdeleted(S))
|
||||
qdel(S)
|
||||
var/obj/effect/rune/R = new rune_to_scribe(Turf, chosen_keyword)
|
||||
var/obj/effect/rune/R = new rune_to_scribe(runeturf, chosen_keyword)
|
||||
R.blood_DNA = list()
|
||||
R.blood_DNA[H.dna.unique_enzymes] = H.dna.b_type
|
||||
R.add_hiddenprint(H)
|
||||
|
||||
@@ -40,8 +40,7 @@ To draw a rune, use an arcane tome.
|
||||
..()
|
||||
if(set_keyword)
|
||||
keyword = set_keyword
|
||||
if(!(istype(src, /obj/effect/rune/narsie) || istype(src, /obj/effect/rune/slaughter)))
|
||||
check_icon()
|
||||
check_icon()
|
||||
var/image/blood = image(loc = src)
|
||||
blood.override = 1
|
||||
for(var/mob/living/silicon/ai/AI in player_list)
|
||||
@@ -67,11 +66,9 @@ To draw a rune, use an arcane tome.
|
||||
user.visible_message("<span class='warning'>[I] suddenly glows with white light, forcing [user] to drop it in pain!</span>", \
|
||||
"<span class='warning'><b>[I] suddenly glows with a white light that sears your hand, forcing you to drop it!</b></span>")
|
||||
return
|
||||
user.say("BEGONE FOUL MAGIKS!!")
|
||||
to_chat(user,"<span class='danger'>You disrupt the magic of [src] with [I].</span>")
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
|
||||
/obj/effect/rune/attack_hand(mob/living/user)
|
||||
if(!iscultist(user))
|
||||
@@ -142,7 +139,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
L.say(invocation)
|
||||
var/oldtransform = transform
|
||||
spawn(0) //animate is a delay, we want to avoid being delayed
|
||||
animate(src, transform = matrix()*2, alpha = 0, time = 5) //fade out
|
||||
animate(transform = matrix()*2, alpha = 0, time = 5) //fade out
|
||||
animate(transform = oldtransform, alpha = 255, time = 0)
|
||||
|
||||
/obj/effect/rune/proc/fail_invoke(var/mob/living/user)
|
||||
@@ -150,7 +147,6 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
visible_message("<span class='warning'>The markings pulse with a small flash of red light, then fall dark.</span>")
|
||||
spawn(0) //animate is a delay, we want to avoid being delayed
|
||||
animate(src, color = rgb(255, 0, 0), time = 0)
|
||||
animate(src, color = initial(color), time = 5)
|
||||
|
||||
//Malformed Rune: This forms if a rune is not drawn correctly. Invoking it does nothing but hurt the user.
|
||||
/obj/effect/rune/malformed
|
||||
@@ -370,13 +366,6 @@ var/list/teleport_runes = list()
|
||||
if(!offering)
|
||||
rune_in_use = 0
|
||||
return
|
||||
/*var/obj/item/weapon/nullrod/N = offering.null_rod_check()
|
||||
if(N)
|
||||
user << "<span class='warning'>Something is blocking the Geometer's magic!</span>"
|
||||
log_game("Sacrifice rune failed - target has \a [N]!")
|
||||
fail_invoke()
|
||||
rune_in_use = 0
|
||||
return*/
|
||||
if(((ishuman(offering) || isrobot(offering)) && offering.stat != DEAD) || is_sacrifice_target(offering.mind)) //Requires three people to sacrifice living targets
|
||||
if(invokers.len < 3)
|
||||
for(var/M in invokers)
|
||||
@@ -453,6 +442,8 @@ var/list/teleport_runes = list()
|
||||
cultist_desc = "tears apart dimensional barriers, calling forth [ticker.mode.cultdat.entity_title3]. Requires 9 invokers."
|
||||
|
||||
|
||||
/obj/effect/rune/narsie/check_icon()
|
||||
return
|
||||
|
||||
/obj/effect/rune/narsie/talismanhide() //can't hide this, and you wouldn't want to
|
||||
return
|
||||
@@ -461,7 +452,7 @@ var/list/teleport_runes = list()
|
||||
if(used)
|
||||
return
|
||||
var/mob/living/user = invokers[1]
|
||||
if(ticker.mode.name == "cult")
|
||||
if(istype(ticker.mode.name, "cult"))
|
||||
var/datum/game_mode/cult/cult_mode = ticker.mode
|
||||
if(user.z != ZLEVEL_STATION)
|
||||
message_admins("[user.real_name]([user.ckey]) tried to summon Nar-Sie off station")
|
||||
@@ -524,6 +515,9 @@ var/list/teleport_runes = list()
|
||||
|
||||
var/used = 0
|
||||
|
||||
/obj/effect/rune/slaughter/check_icon()
|
||||
return
|
||||
|
||||
/obj/effect/rune/slaughter/talismanhide() //can't hide this, and you wouldn't want to
|
||||
return
|
||||
|
||||
@@ -547,7 +541,7 @@ var/list/teleport_runes = list()
|
||||
if(used)
|
||||
return
|
||||
var/mob/living/user = invokers[1]
|
||||
if(ticker.mode.name == "cult")
|
||||
if(istype(ticker.mode.name, "cult"))
|
||||
var/datum/game_mode/cult/cult_mode = ticker.mode
|
||||
if(!("slaughter" in cult_mode.objectives))
|
||||
message_admins("[usr.real_name]([user.ckey]) tried to summon demons when the objective was wrong")
|
||||
@@ -561,7 +555,7 @@ var/list/teleport_runes = list()
|
||||
fail_invoke()
|
||||
log_game("Summon Demons rune failed - improper objective")
|
||||
return
|
||||
if(user.z != ZLEVEL_STATION)
|
||||
if(user.z != ZLEVEL_STATION)
|
||||
message_admins("[user.real_name]([user.ckey]) tried to summon demons off station")
|
||||
for(var/M in invokers)
|
||||
var/mob/living/L = M
|
||||
@@ -668,7 +662,7 @@ var/list/teleport_runes = list()
|
||||
rune_in_use = 0
|
||||
return
|
||||
mob_to_revive.revive() //This does remove disabilities and such, but the rune might actually see some use because of it!
|
||||
mob_to_revive << "<span class='cultlarge'>\"PASNAR SAVRAE YAM'TOTH. Arise.\"</span>"
|
||||
to_chat(mob_to_revive, "<span class='cultlarge'>\"PASNAR SAVRAE YAM'TOTH. Arise.\"</span>")
|
||||
mob_to_revive.visible_message("<span class='warning'>[mob_to_revive] draws in a huge breath, red light shining from their eyes.</span>", \
|
||||
"<span class='cultlarge'>You awaken suddenly from the void. You're alive!</span>")
|
||||
rune_in_use = 0
|
||||
@@ -901,7 +895,7 @@ var/list/teleport_runes = list()
|
||||
if(O.client && !jobban_isbanned(O, ROLE_CULTIST))
|
||||
ghosts_on_rune |= O
|
||||
if(!ghosts_on_rune.len)
|
||||
user << "<span class='cultitalic'>There are no spirits near [src]!</span>"
|
||||
to_chat(user, "<span class='cultitalic'>There are no spirits near [src]!</span>")
|
||||
fail_invoke()
|
||||
log_game("Manifest rune failed - no nearby ghosts")
|
||||
return list()
|
||||
|
||||
@@ -93,8 +93,8 @@
|
||||
if("veiling")
|
||||
var/obj/item/weapon/paper/talisman/true_sight/T = new(usr)
|
||||
usr.put_in_hands(T)
|
||||
src.uses--
|
||||
if(src.uses <= 0)
|
||||
uses--
|
||||
if(uses <= 0)
|
||||
if(iscarbon(usr))
|
||||
var/mob/living/carbon/C = usr
|
||||
C.drop_item()
|
||||
@@ -263,14 +263,15 @@
|
||||
|
||||
/obj/item/weapon/paper/talisman/armor/invoke(mob/living/user, successfuluse = 1)
|
||||
. = ..()
|
||||
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>")
|
||||
user.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(user), slot_head)
|
||||
user.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), slot_wear_suit)
|
||||
user.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/cultpack(user), slot_back)
|
||||
user.drop_item()
|
||||
user.put_in_hands(new /obj/item/weapon/melee/cultblade(user))
|
||||
user.put_in_hands(new /obj/item/weapon/legcuffs/bolas/cult(user))
|
||||
H.equip_or_collect(new /obj/item/clothing/head/culthood/alt(user), slot_head)
|
||||
H.equip_or_collect(new /obj/item/clothing/suit/cultrobes/alt(user), slot_wear_suit)
|
||||
H.equip_or_collect(new /obj/item/weapon/storage/backpack/cultpack(user), slot_back)
|
||||
H.drop_item()
|
||||
H.put_in_hands(new /obj/item/weapon/melee/cultblade(user))
|
||||
H.put_in_hands(new /obj/item/weapon/legcuffs/bolas/cult(user))
|
||||
|
||||
/obj/item/weapon/paper/talisman/armor/attack(mob/living/target, mob/living/user)
|
||||
if(iscultist(user) && iscultist(target))
|
||||
|
||||
@@ -61,7 +61,6 @@
|
||||
///Attempts to select players for special roles the mode might have.
|
||||
/datum/game_mode/proc/pre_setup()
|
||||
cultdat = pick(all_cults)
|
||||
to_chat(world,"[cultdat.entity_name]")
|
||||
if(!cultdat)
|
||||
to_chat(world, "<span class='danger'>Failed to select a cult datum, Shank a coder.</span>")
|
||||
return 0
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
new_objective.owner = S.mind
|
||||
new_objective.explanation_text = "Bring forth the Slaughter to the nonbelievers."
|
||||
S.mind.objectives += new_objective
|
||||
S << "<B>Objective #[1]</B>: [new_objective.explanation_text]"
|
||||
to_chat(S, "<B>Objective #[1]</B>: [new_objective.explanation_text]")
|
||||
|
||||
////////////////////The Powers
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ var/global/list/image/splatter_cache=list()
|
||||
/obj/effect/decal/cleanable/blood/New()
|
||||
..()
|
||||
update_icon()
|
||||
if(ticker && ticker.mode && ticker.mode.name == "cult")
|
||||
if(ticker && ticker.mode && istype(ticker.mode.name, "cult"))
|
||||
var/datum/game_mode/cult/mode_ticker = ticker.mode
|
||||
var/turf/T = get_turf(src)
|
||||
if(T && (T.z == ZLEVEL_STATION))//F I V E T I L E S
|
||||
@@ -45,15 +45,13 @@ var/global/list/image/splatter_cache=list()
|
||||
dry()
|
||||
|
||||
/obj/effect/decal/cleanable/blood/Destroy()
|
||||
|
||||
if(ticker.mode && ticker.mode.name == "cult")
|
||||
if(ticker.mode && istype(ticker.mode.name, "cult"))
|
||||
var/datum/game_mode/cult/mode_ticker = ticker.mode
|
||||
var/turf/T = get_turf(src)
|
||||
if(T && (T.z == ZLEVEL_STATION))
|
||||
mode_ticker.bloody_floors -= T
|
||||
mode_ticker.blood_check()
|
||||
..()
|
||||
|
||||
.=..()
|
||||
|
||||
/obj/effect/decal/cleanable/blood/update_icon()
|
||||
if(basecolor == "rainbow") basecolor = "#[pick(list("FF0000","FF7F00","FFFF00","00FF00","0000FF","4B0082","8F00FF"))]"
|
||||
|
||||
@@ -226,7 +226,7 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
|
||||
|
||||
/obj/item/stack/sheet/runed_metal/attack_self(mob/living/user)
|
||||
if(!iscultist(user))
|
||||
user << "<span class='warning'>Only one with forbidden knowledge could hope to work this metal...</span>"
|
||||
to_chat(user, "<span class='warning'>Only one with forbidden knowledge could hope to work this metal...</span>")
|
||||
return
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
/obj/structure/table/narsie_act()
|
||||
if(prob(20))
|
||||
new /obj/structure/table/woodentable(src.loc)
|
||||
new /obj/structure/table/woodentable(loc)
|
||||
|
||||
/obj/structure/table/update_icon()
|
||||
if(smooth && !flipped)
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/ectoplasm (src.loc)
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if((M.client && !( M.blinded )))
|
||||
M.show_message("<span class='warning'> [src] collapses in a shattered heap.</span>")
|
||||
M.show_message("<span class='warning'>[src] collapses in a shattered heap.</span>")
|
||||
ghostize()
|
||||
qdel(src)
|
||||
return
|
||||
@@ -69,9 +69,9 @@
|
||||
"<span class='cult'>You repair some of your own dents, leaving you at <b>[M.health]/[M.maxHealth]</b> health.</span>")
|
||||
else
|
||||
if(src != M)
|
||||
M << "<span class='cult'>You cannot repair <b>[src]'s</b> dents, as it has none!</span>"
|
||||
to_chat(M, "<span class='cult'>You cannot repair <b>[src]'s</b> dents, as it has none!</span>")
|
||||
else
|
||||
M << "<span class='cult'>You cannot repair your own dents, as you have none!</span>"
|
||||
to_chat(M, "<span class='cult'>You cannot repair your own dents, as you have none!</span>")
|
||||
else if(src != M)
|
||||
..()
|
||||
|
||||
@@ -356,8 +356,7 @@
|
||||
|
||||
///ui stuff
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/armoured/Life()
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/armoured/handle_hud_icons_health()
|
||||
..()
|
||||
if(healths)
|
||||
switch(health)
|
||||
@@ -371,8 +370,7 @@
|
||||
else healths.icon_state = "juggernaut_health7"
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/behemoth/Life()
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/behemoth/handle_hud_icons_health()
|
||||
..()
|
||||
if(healths)
|
||||
switch(health)
|
||||
@@ -385,8 +383,7 @@
|
||||
if(1 to 124) healths.icon_state = "juggernaut_health6"
|
||||
else healths.icon_state = "juggernaut_health7"
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/builder/Life()
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/builder/handle_hud_icons_health()
|
||||
..()
|
||||
if(healths)
|
||||
switch(health)
|
||||
@@ -401,7 +398,7 @@
|
||||
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/wraith/Life()
|
||||
/mob/living/simple_animal/hostile/construct/wraith/handle_hud_icons_health()
|
||||
|
||||
..()
|
||||
if(healths)
|
||||
@@ -416,7 +413,7 @@
|
||||
else healths.icon_state = "wraith_health7"
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/harvester/Life()
|
||||
/mob/living/simple_animal/hostile/construct/harvester/handle_hud_icons_health()
|
||||
|
||||
..()
|
||||
if(healths)
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
|
||||
var/job = null//Living
|
||||
|
||||
var/cultslurring = 0 //Carbon
|
||||
var/cultslurring = 0
|
||||
|
||||
var/const/blindness = 1//Carbon
|
||||
var/const/deafness = 2//Carbon
|
||||
|
||||
@@ -169,8 +169,6 @@
|
||||
|
||||
if(mob.stat==DEAD) return
|
||||
|
||||
// handle possible spirit movement
|
||||
|
||||
if(mob.notransform) return//This is sota the goto stop mobs from moving var
|
||||
|
||||
if(isliving(mob))
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
/obj/singularity/narsie/large/New()
|
||||
..()
|
||||
to_chat(world, "<font size='15' color='red'><b>[ticker.mode.cultdat.entity_name] HAS RISEN</b></font>")
|
||||
to_chat(world, "<font size='15' color='red'><b>[uppertext(ticker.mode.cultdat.entity_name)] HAS RISEN</b></font>")
|
||||
to_chat(world, pick(sound('sound/hallucinations/im_here1.ogg'), sound('sound/hallucinations/im_here2.ogg')))
|
||||
|
||||
var/area/A = get_area(src)
|
||||
|
||||
Reference in New Issue
Block a user