mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Comments done mostly...Slughter demon whispers runtimes.
This commit is contained in:
@@ -1766,4 +1766,14 @@ var/global/list/g_fancy_list_of_types = null
|
||||
. += 4
|
||||
sleep(world.tick_lag*4)
|
||||
//you might be thinking of adding more steps to this, or making it use a loop and a counter var
|
||||
// not worth it.
|
||||
// not worth it.
|
||||
|
||||
|
||||
/proc/make_bit_triplet()
|
||||
var/list/num_sample = list(1, 2, 3, 4, 5, 6, 7, 8, 9)
|
||||
var/result = 0
|
||||
for(var/i = 0, i < 3, i++)
|
||||
var/num = pick(num_sample)
|
||||
num_sample -= num
|
||||
result += (1 << num)
|
||||
return result
|
||||
@@ -41,9 +41,9 @@ var/global/list/all_cults = list()
|
||||
config_tag = "cult"
|
||||
restricted_jobs = list("Chaplain","AI", "Cyborg", "Internal Affairs Agent", "Security Officer", "Warden", "Detective", "Security Pod Pilot", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Magistrate", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer")
|
||||
protected_jobs = list()
|
||||
required_players = 1//30
|
||||
required_enemies = 1//3
|
||||
recommended_enemies = 1//4
|
||||
required_players = 30
|
||||
required_enemies = 3
|
||||
recommended_enemies = 4
|
||||
|
||||
var/datum/mind/sacrifice_target = null
|
||||
var/finished = 0
|
||||
@@ -198,7 +198,7 @@ var/global/list/all_cults = list()
|
||||
/datum/game_mode/proc/remove_cultist(datum/mind/cult_mind, show_message = 1)
|
||||
if(cult_mind in cult)
|
||||
cult -= cult_mind
|
||||
to_chat(cult_mind.current, "\red <FONT size = 3><B>An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it.</B></FONT>")
|
||||
to_chat(cult_mind.current, "<span class='danger'>An unfamiliar white light flashes through your mind, cleansing the taint of the dark-one and the memories of your time as his servant with it.</span>")
|
||||
cult_mind.current.faction -= "cult"
|
||||
cult_mind.memory = ""
|
||||
cult_mind.special_role = null
|
||||
@@ -279,11 +279,11 @@ var/global/list/all_cults = list()
|
||||
if(!check_cult_victory())
|
||||
feedback_set_details("round_end_result","win - cult win")
|
||||
feedback_set("round_end_result",acolytes_survived)
|
||||
to_chat(world, "\red <FONT size = 3><B> The cult wins! It has succeeded in serving its dark masters!</B></FONT>")
|
||||
to_chat(world, "<span class='danger'> <FONT size = 3> The cult wins! It has succeeded in serving its dark masters!</FONT></span>")
|
||||
else
|
||||
feedback_set_details("round_end_result","loss - staff stopped the cult")
|
||||
feedback_set("round_end_result",acolytes_survived)
|
||||
to_chat(world, "\red <FONT size = 3><B> The staff managed to stop the cult!</B></FONT>")
|
||||
to_chat(world, "<span class='warning'> <FONT size = 3>The staff managed to stop the cult!</FONT></span>")
|
||||
|
||||
var/text = "<b>Cultists escaped:</b> [acolytes_survived]"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "Communion"
|
||||
button_icon_state = "cult_comms"
|
||||
background_icon_state = "bg_cult"
|
||||
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_LYING
|
||||
check_flags = AB_CHECK_STUNNED|AB_CHECK_LYING
|
||||
|
||||
/datum/action/innate/cultcomm/IsAvailable()
|
||||
if(!iscultist(owner))
|
||||
@@ -34,6 +34,6 @@
|
||||
if(iscultist(M))
|
||||
to_chat(M, my_message)
|
||||
else if(M in dead_mob_list)
|
||||
to_chat(M, "<a href='?src=\ref[M];follow=\ref[user]'>(F)</a> [my_message]")
|
||||
to_chat(M, "<span class='cultspeech'> <a href='?src=\ref[M];follow=\ref[user]'>(F)</a> [my_message] </span>")
|
||||
|
||||
log_say("[user.real_name]/[user.key] : [message]")
|
||||
@@ -3,7 +3,6 @@
|
||||
/datum/cult_info
|
||||
var/name = "Cult of Nar'Sie"
|
||||
var/theme = "blood"
|
||||
var/dam_type = BRUTE
|
||||
var/tome_icon = "tome"
|
||||
//God Entity
|
||||
var/entity_name = "Nar'Sie"
|
||||
@@ -50,7 +49,6 @@
|
||||
/datum/cult_info/fire
|
||||
name = "Cult of Pyr'Kaeus"
|
||||
theme = "fire"
|
||||
dam_type = BURN
|
||||
tome_icon = "firetome"
|
||||
|
||||
entity_name = "Pyr'Kaeus"
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
if(current_charges)
|
||||
owner.visible_message("<span class='danger'>\The [attack_text] is deflected in a burst of blood-red sparks!</span>")
|
||||
current_charges--
|
||||
new /obj/effect/overlay/temp/cult/sparks(get_turf(owner))
|
||||
PoolOrNew( /obj/effect/overlay/temp/cult/sparks, get_turf(owner))
|
||||
if(!current_charges)
|
||||
owner.visible_message("<span class='danger'>The runed shield around [owner] suddenly disappears!</span>")
|
||||
owner.update_inv_wear_suit()
|
||||
@@ -174,7 +174,7 @@
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade)
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
armor = list(melee = -100, bullet = -100, laser = -100,energy = -100, bomb = -100, bio = -100, rad = -100)
|
||||
armor = list(melee = -50, bullet = -50, laser = -100,energy = -50, bomb = -50, bio = -50, rad = -50)
|
||||
slowdown = -1
|
||||
hoodtype = /obj/item/clothing/head/berserkerhood
|
||||
|
||||
@@ -239,7 +239,7 @@
|
||||
to_chat(user, "<span class='notice'>We have exhausted our ability to curse the shuttle.</span>")
|
||||
return
|
||||
if(shuttle_master.emergency.mode == SHUTTLE_CALL)
|
||||
var/cursetime = 1500
|
||||
var/cursetime = 1800
|
||||
var/timer = shuttle_master.emergency.timeLeft(1) + cursetime
|
||||
shuttle_master.emergency.setTimer(timer)
|
||||
to_chat(user,"<span class='danger'>You shatter the orb! A dark essence spirals into the air, then disappears.</span>")
|
||||
@@ -264,7 +264,7 @@
|
||||
desc = "This relic teleports you forward a medium distance."
|
||||
icon = 'icons/obj/cult.dmi'
|
||||
icon_state ="shifter"
|
||||
var/uses = 2
|
||||
var/uses = 4
|
||||
|
||||
/obj/item/device/cult_shift/examine(mob/user)
|
||||
..()
|
||||
@@ -317,14 +317,14 @@
|
||||
if(uses <= 0)
|
||||
icon_state ="shifter_drained"
|
||||
playsound(mobloc, "sparks", 50, 1)
|
||||
new /obj/effect/overlay/temp/cult/phase/out(mobloc)
|
||||
PoolOrNew(/obj/effect/overlay/temp/cult/phase/out, mobloc)
|
||||
|
||||
var/atom/movable/pulled = handle_teleport_grab(destination, C)
|
||||
C.forceMove(destination)
|
||||
if(pulled)
|
||||
C.start_pulling(pulled) //forcemove resets pulls, so we need to re-pull
|
||||
|
||||
new /obj/effect/overlay/temp/cult/phase(destination)
|
||||
PoolOrNew(/obj/effect/overlay/temp/cult/phase, destination)
|
||||
playsound(destination, 'sound/effects/phasein.ogg', 25, 1)
|
||||
playsound(destination, "sparks", 50, 1)
|
||||
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
playsound(src, death_sound, 50, 1)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/cult/attackby(obj/item/I, mob/user, params)
|
||||
|
||||
|
||||
//Noncult As we may have this on maps
|
||||
/obj/structure/cult/talisman
|
||||
@@ -53,17 +51,14 @@
|
||||
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>")
|
||||
playsound(loc, 'sound/hallucinations/wail.ogg', 75, 1)
|
||||
if(!anchored)
|
||||
icon_state = "[initial(icon_state)]_off"
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
else
|
||||
return ..()
|
||||
|
||||
..()
|
||||
if(I.force)
|
||||
health = Clamp(health - I.force, 0, initial(health))
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(health <= 0)
|
||||
destroy_structure()
|
||||
|
||||
/obj/structure/cult/proc/getETA()
|
||||
var/time = (cooldowntime - world.time)/600
|
||||
@@ -122,6 +117,9 @@
|
||||
if(!iscarbon(G.affecting))
|
||||
to_chat(user, "<span class='warning'>You may only dunk carbon-based creatures!</span>")
|
||||
return 0
|
||||
if(G.affecting == LAVA_PROOF)
|
||||
to_chat(user, "<span class='warning'>Is immune to the lava!</span>")
|
||||
return 0
|
||||
if(G.affecting.stat == DEAD)
|
||||
to_chat(user, "<span class='warning'>[G.affecting] is dead!</span>")
|
||||
return 0
|
||||
@@ -164,6 +162,14 @@
|
||||
to_chat(user, "<span class='cultitalic'>You work the forge as dark knowledge guides your hands, creating [N]!</span>")
|
||||
|
||||
|
||||
var/list/blacklisted_pylon_turfs = typecacheof(list(
|
||||
/turf/simulated/floor/engine/cult,
|
||||
/turf/space,
|
||||
/turf/unsimulated/floor/lava,
|
||||
/turf/unsimulated/floor/chasm,
|
||||
/turf/simulated/wall,
|
||||
))
|
||||
|
||||
/obj/structure/cult/cultpylon
|
||||
name = "pylon"
|
||||
desc = "A floating crystal that slowly heals those faithful to a cult."
|
||||
@@ -194,7 +200,7 @@
|
||||
for(var/mob/living/L in range(5, src))
|
||||
if(iscultist(L) || istype(L, /mob/living/simple_animal/shade) || istype(L, /mob/living/simple_animal/hostile/construct))
|
||||
if(L.health != L.maxHealth)
|
||||
new /obj/effect/overlay/temp/heal(get_turf(src), "#960000")//not working
|
||||
PoolOrNew(/obj/effect/overlay/temp/heal, list(get_turf(src)), "#960000")
|
||||
if(ishuman(L))
|
||||
L.adjustBruteLoss(-1, 0)
|
||||
L.adjustFireLoss(-1, 0)
|
||||
@@ -206,16 +212,30 @@
|
||||
//CHECK_TICK
|
||||
if(last_corrupt <= world.time)
|
||||
var/list/validturfs = list()
|
||||
var/list/cultturfs = list()
|
||||
for(var/T in circleviewturfs(src, 5))
|
||||
if(istype(T, /turf/simulated/floor/engine/cult) || istype(T, /turf/space) || istype(T, /turf/simulated/wall) || istype(T, /turf/simulated/shuttle))
|
||||
if(istype(T, /turf/simulated/floor/engine/cult))
|
||||
cultturfs |= T
|
||||
continue
|
||||
validturfs |= T
|
||||
if(is_type_in_typecache(T, blacklisted_pylon_turfs))
|
||||
continue
|
||||
else
|
||||
validturfs |= T
|
||||
|
||||
last_corrupt = world.time + corrupt_delay
|
||||
|
||||
var/turf/T = safepick(validturfs)
|
||||
if(T)
|
||||
T.ChangeTurf(/turf/simulated/floor/engine/cult)
|
||||
last_corrupt = world.time + corrupt_delay
|
||||
else
|
||||
last_corrupt = world.time + corrupt_delay*2
|
||||
var/turf/simulated/floor/engine/cult/F = safepick(cultturfs)
|
||||
if(F)
|
||||
PoolOrNew(/obj/effect/overlay/temp/cult/turf/open/floor, F)
|
||||
else
|
||||
// Are we in space or something? No cult turfs or
|
||||
// convertable turfs?
|
||||
last_corrupt = world.time + corrupt_delay*2
|
||||
|
||||
|
||||
|
||||
/obj/structure/cult/culttome
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
return
|
||||
|
||||
/obj/effect/rune/proc/check_icon()
|
||||
icon = get_uristrune_cult(invocation)
|
||||
icon = get_rune_cult(invocation)
|
||||
|
||||
/obj/item/weapon/tome
|
||||
name = "arcane tome"
|
||||
@@ -242,7 +242,7 @@
|
||||
if(!("eldergod" in cult_mode.objectives) || !("slughter" in cult_mode.objectives))
|
||||
to_chat(user, "<span class='warning'>[cult_mode.cultdat.entity_name]'s power does not wish to be unleashed!</span>")
|
||||
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")
|
||||
var/confirm_final = alert(user, "This is the FINAL step to summon your dietys power, 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")
|
||||
to_chat(user, "<span class='cult'>You decide to prepare further before scribing the rune.</span>")
|
||||
return
|
||||
@@ -255,6 +255,22 @@
|
||||
N.icon_state = "shield-cult"
|
||||
N.health = 60
|
||||
shields |= N
|
||||
else//the game mode is not cult..but we ARE a cultist...ALL ON THE ADMINBUS
|
||||
if(!canbypass == 1)//not an admin-tome, check things
|
||||
var/confirm_final = alert(user, "This is the FINAL step to summon your dietys power, 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")
|
||||
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))
|
||||
var/turf/T = B
|
||||
var/obj/machinery/shield/N = new(T)
|
||||
N.name = "Rune-Scriber's Shield"
|
||||
N.desc = "A potent shield summoned by cultists to protect them while they prepare the final ritual"
|
||||
N.icon_state = "shield-cult"
|
||||
N.health = 60
|
||||
shields |= N
|
||||
|
||||
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))
|
||||
|
||||
@@ -884,6 +884,42 @@ var/list/teleport_runes = list()
|
||||
qdel(src)
|
||||
explosion(T, -1, 0, 1, 5)
|
||||
|
||||
//Deals brute damage to all targets on the rune and heals the invoker for each target drained.
|
||||
/obj/effect/rune/leeching
|
||||
cultist_name = "Drain Life"
|
||||
cultist_desc = "drains the life of all targets on the rune, restoring life to the user."
|
||||
invocation = "Yu'gular faras desdae. Umathar uf'kal thenar!"
|
||||
icon_state = "3"
|
||||
|
||||
/obj/effect/rune/leeching/can_invoke(mob/living/user)
|
||||
if(world.time <= user.next_move)
|
||||
return list()
|
||||
var/turf/T = get_turf(src)
|
||||
var/list/potential_targets = list()
|
||||
for(var/mob/living/carbon/M in T.contents - user)
|
||||
if(M.stat != DEAD)
|
||||
potential_targets += M
|
||||
if(!potential_targets.len)
|
||||
to_chat(user, "<span class='cultitalic'>There must be at least one valid target on the rune!</span>")
|
||||
log_game("Leeching rune failed - no valid targets")
|
||||
return list()
|
||||
return ..()
|
||||
|
||||
/obj/effect/rune/leeching/invoke(var/list/invokers)
|
||||
var/mob/living/user = invokers[1]
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
..()
|
||||
var/turf/T = get_turf(src)
|
||||
for(var/mob/living/carbon/M in T.contents - user)
|
||||
if(M.stat != DEAD)
|
||||
var/drained_amount = rand(10,20)
|
||||
M.apply_damage(drained_amount, BRUTE, "chest")
|
||||
user.adjustBruteLoss(-drained_amount)
|
||||
to_chat(M, "<span class='cultitalic'>You feel extremely weak.</span>")
|
||||
user.Beam(T,icon_state="drainbeam",icon='icons/effects/effects.dmi',time=5)
|
||||
user.visible_message("<span class='warning'>Blood flows from the rune into [user]!</span>", \
|
||||
"<span class='cult'>Blood flows into you, healing your wounds and revitalizing your spirit.</span>")
|
||||
|
||||
|
||||
//Rite of Spectral Manifestation: Summons a ghost on top of the rune as a cultist human with no items. User must stand on the rune at all times, and takes damage for each summoned ghost.
|
||||
/obj/effect/rune/manifest
|
||||
|
||||
@@ -304,17 +304,18 @@
|
||||
cultist_name = "Talisman of Construction"
|
||||
cultist_desc = "Use this talisman on at least twenty-five metal sheets to create an empty construct shell or on plasteel to make runed metal"
|
||||
invocation = "Ethra p'ni dedol!"
|
||||
uses = 25
|
||||
|
||||
/obj/item/weapon/paper/talisman/construction/attack_self(mob/living/user)
|
||||
if(iscultist(user))
|
||||
to_chat(user, "<span class='warning'>To use this talisman, place it upon a stack of metal sheets.</span>")
|
||||
to_chat(user, "<span class='warning'>To use this talisman, place it upon a stack of metal sheets or plasteel sheets!.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You see strange symbols on the paper. Are they supposed to mean something?</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/paper/talisman/construction/attack(obj/M,mob/living/user)
|
||||
if(iscultist(user))
|
||||
to_chat(user, "<span class='cultitalic'>This talisman will only work on a stack of metal sheets!</span>")
|
||||
to_chat(user, "<span class='cultitalic'>This talisman will only work on a stack of metal sheets or plasteel sheets!!</span>")
|
||||
log_game("Construct talisman failed - not a valid target")
|
||||
|
||||
/obj/item/weapon/paper/talisman/construction/afterattack(obj/item/stack/sheet/target, mob/user, proximity_flag, click_parameters)
|
||||
@@ -328,13 +329,15 @@
|
||||
user << sound('sound/magic/Staff_Chaos.ogg',0,1,25)
|
||||
qdel(src)
|
||||
if(istype(target, /obj/item/stack/sheet/plasteel))
|
||||
var/quantity = target.amount
|
||||
var/turf/T = get_turf(target)
|
||||
var/quantity = min(target.amount, uses)
|
||||
uses -= quantity
|
||||
new /obj/item/stack/sheet/runed_metal(T,quantity)
|
||||
target.use(quantity)
|
||||
to_chat(user, "<span class='warning'>The talisman clings to the plasteel, transforming it into runed metal!</span>")
|
||||
user << sound('sound/magic/Staff_Chaos.ogg',0,1,25)
|
||||
qdel(src)
|
||||
invoke(user, 1)
|
||||
if(uses <= 0)
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>The talisman must be used on metal or plasteel!</span>")
|
||||
|
||||
|
||||
@@ -52,18 +52,21 @@
|
||||
del_on_death = 1
|
||||
deathmessage = "screams in anger as it collapses into a puddle of viscera!"
|
||||
|
||||
var/datum/action/innate/demon/whisper/whisper_action
|
||||
|
||||
|
||||
/mob/living/simple_animal/slaughter/New()
|
||||
..()
|
||||
var/obj/effect/proc_holder/spell/bloodcrawl/bloodspell = new
|
||||
AddSpell(bloodspell)
|
||||
whisper_action = new()
|
||||
whisper_action.Grant(src)
|
||||
if(istype(loc, /obj/effect/dummy/slaughter))
|
||||
bloodspell.phased = 1
|
||||
if(mind)
|
||||
to_chat(src, src.playstyle_string)
|
||||
to_chat(src, "<B><span class ='notice'>You are not currently in the same plane of existence as the station. Ctrl+Click a blood pool to manifest.</span></B>")
|
||||
src << 'sound/misc/demon_dies.ogg'
|
||||
mind.current.verbs += /mob/living/simple_animal/slaughter/verb/slaughterWhisper
|
||||
if(!(vialspawned))
|
||||
var/datum/objective/slaughter/objective = new
|
||||
var/datum/objective/demonFluff/fluffObjective = new
|
||||
@@ -171,17 +174,21 @@
|
||||
//Paradise Port:I added this cuase..SPOOPY DEMON IN YOUR BRAIN
|
||||
|
||||
|
||||
/mob/living/simple_animal/slaughter/verb/slaughterWhisper()
|
||||
set name = "Whisper"
|
||||
set desc = "Whisper to a mortal"
|
||||
set category = "Daemon"
|
||||
/datum/action/innate/demon/whisper
|
||||
name = "Demonic Whisper"
|
||||
button_icon_state = "cult_comms"
|
||||
background_icon_state = "bg_demon"
|
||||
|
||||
/datum/action/innate/demon/whisper/IsAvailable()
|
||||
return ..()
|
||||
|
||||
/datum/action/innate/demon/whisper/Activate()
|
||||
var/list/choices = list()
|
||||
for(var/mob/living/carbon/C in living_mob_list)
|
||||
if(C.stat != 2 && C.client && C.stat != DEAD)
|
||||
choices += C
|
||||
|
||||
var/mob/living/carbon/M = input(src,"Who do you wish to talk to?") in null|choices
|
||||
var/mob/living/carbon/M = input(src,"Who do you wish to talk to?") in null|choices //runtime happens here.
|
||||
spawn(0)
|
||||
var/msg = stripped_input(usr, "What do you wish to tell [M]?", null, "")
|
||||
if(!(msg))
|
||||
|
||||
@@ -156,6 +156,6 @@
|
||||
if(!picked_cult)//shouldn't happen BUT JUST TO BE SURE LET US KNOW
|
||||
log_startup_progress(" Failed to select a cult datum, Shank a coder!")
|
||||
else
|
||||
log_startup_progress(" Crab'sie has risen!")
|
||||
log_startup_progress(" [picked_cult] has risen!")
|
||||
//todo:add adminonly datum var, check for said var here...
|
||||
return picked_cult
|
||||
@@ -1,38 +1,29 @@
|
||||
/proc/make_bit_triplet()
|
||||
var/list/num_sample = list(1, 2, 3, 4, 5, 6, 7, 8, 9)
|
||||
var/result = 0
|
||||
for(var/i = 0, i < 3, i++)
|
||||
var/num = pick(num_sample)
|
||||
num_sample -= num
|
||||
result += (1 << num)
|
||||
return result
|
||||
|
||||
/proc/get_uristrune_cult(word)
|
||||
/proc/get_rune_cult(word)
|
||||
var/animated
|
||||
|
||||
if(word)
|
||||
if(word && !(ticker.mode.cultdat.theme == "fire"))
|
||||
animated = 1
|
||||
else
|
||||
animated = 0
|
||||
|
||||
var/bits = make_bit_triplet()
|
||||
|
||||
return get_uristrune(bits, animated)
|
||||
return get_rune(bits, animated)
|
||||
|
||||
|
||||
var/list/uristrune_cache = list()
|
||||
var/list/rune_cache = list()
|
||||
var/runetype = "rune"
|
||||
|
||||
/proc/get_uristrune(symbol_bits, animated = 0)
|
||||
/proc/get_rune(symbol_bits, animated = 0)
|
||||
var/lookup = "[symbol_bits]-[animated]"
|
||||
|
||||
if(ticker.mode.cultdat.theme == "fire")
|
||||
runetype = "fire-rune"
|
||||
|
||||
if(lookup in uristrune_cache)
|
||||
return uristrune_cache[lookup]
|
||||
if(lookup in rune_cache)
|
||||
return rune_cache[lookup]
|
||||
|
||||
var/icon/I = icon('icons/effects/uristrunes.dmi', "blank")
|
||||
var/icon/I = icon('icons/effects/uristrunes.dmi', "[runetype]-179")
|
||||
|
||||
for(var/i = 0, i < 10, i++)
|
||||
if(symbol_bits & (1 << i))
|
||||
@@ -93,6 +84,6 @@ var/runetype = "rune"
|
||||
result.Insert(I3, "", frame = 7, delay = 2)
|
||||
result.Insert(I2, "", frame = 8, delay = 2)
|
||||
|
||||
uristrune_cache[lookup] = result
|
||||
rune_cache[lookup] = result
|
||||
|
||||
return result
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
if(ticker.mode)//game hasn't started offically don't do shit..
|
||||
new /obj/effect/overlay/temp/cult/turf(src)
|
||||
icon_state = ticker.mode.cultdat.cult_wall_icon_state
|
||||
walltype = ticker.mode.cultdat.cult_wall_icon_state
|
||||
|
||||
/turf/simulated/wall/cult/artificer
|
||||
name = "runed stone wall"
|
||||
@@ -21,7 +20,7 @@
|
||||
|
||||
/turf/simulated/wall/cult/narsie_act()
|
||||
return
|
||||
|
||||
|
||||
/turf/simulated/wall/cult/break_wall()
|
||||
new /obj/effect/decal/cleanable/blood(src)
|
||||
return (new /obj/structure/cultgirder(src))
|
||||
|
||||
@@ -37,7 +37,6 @@ var/list/admin_verbs_admin = list(
|
||||
/client/proc/jumptoturf, /*allows us to jump to a specific turf*/
|
||||
/client/proc/admin_call_shuttle, /*allows us to call the emergency shuttle*/
|
||||
/client/proc/admin_cancel_shuttle, /*allows us to cancel the emergency shuttle, sending it back to centcomm*/
|
||||
///client/proc/check_words, /*displays cult-words*/
|
||||
/client/proc/check_ai_laws, /*shows AI and borg laws*/
|
||||
/client/proc/manage_silicon_laws, /* Allows viewing and editing silicon laws. */
|
||||
/client/proc/admin_memo, /*admin memo system. show/delete/write. +SERVER needed to delete admin memos of others*/
|
||||
|
||||
@@ -328,37 +328,6 @@
|
||||
overlays += image(icon,"glow-[icon_state]",overlay_layer)
|
||||
set_light(2, -2, l_color = "#FFFFFF")
|
||||
|
||||
////////////////Powers//////////////////
|
||||
|
||||
|
||||
/*
|
||||
/client/proc/summon_cultist()
|
||||
set category = "Behemoth"
|
||||
set name = "Summon Cultist (300)"
|
||||
set desc = "Teleport a cultist to your location"
|
||||
if (istype(usr,/mob/living/simple_animal/hostile/constructbehemoth))
|
||||
|
||||
if(usr.energy<300)
|
||||
to_chat(usr, "\red You do not have enough power stored!")
|
||||
return
|
||||
|
||||
if(usr.stat)
|
||||
return
|
||||
|
||||
usr.energy -= 300
|
||||
var/list/mob/living/cultists = new
|
||||
for(var/datum/mind/H in ticker.mode.cult)
|
||||
if (istype(H.current,/mob/living))
|
||||
cultists+=H.current
|
||||
var/mob/cultist = input("Choose the one who you want to summon", "Followers of Geometer") as null|anything in (cultists - usr)
|
||||
if(!cultist)
|
||||
return
|
||||
if (cultist == usr) //just to be sure.
|
||||
return
|
||||
cultist.loc = usr.loc
|
||||
usr.visible_message("/red [cultist] appears in a flash of red light as [usr] glows with power")*/
|
||||
|
||||
|
||||
///ui stuff
|
||||
|
||||
/mob/living/simple_animal/hostile/construct/armoured/handle_hud_icons_health()
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 80 KiB |
Reference in New Issue
Block a user