mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-19 02:56:14 +01:00
code/game, excluding code/game/machinery and code/game/objects
This commit is contained in:
@@ -27,7 +27,7 @@ var/datum/antagonist/mutineer/mutineers
|
||||
/*
|
||||
var/list/directive_candidates = get_directive_candidates()
|
||||
if(!directive_candidates || directive_candidates.len == 0)
|
||||
world << "\red Mutiny mode aborted: no valid candidates for Directive X."
|
||||
world << "<span class='warning'>Mutiny mode aborted: no valid candidates for Directive X.</span>"
|
||||
return 0
|
||||
|
||||
head_loyalist = pick(loyalist_candidates)
|
||||
@@ -63,4 +63,4 @@ var/datum/antagonist/mutineer/mutineers
|
||||
|
||||
return 1
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -61,5 +61,5 @@ var/datum/antagonist/highlander/highlanders
|
||||
if(is_special_character(H)) continue
|
||||
highlanders.add_antagonist(H.mind)
|
||||
|
||||
message_admins("\blue [key_name_admin(usr)] used THERE CAN BE ONLY ONE!", 1)
|
||||
log_admin("[key_name(usr)] used there can be only one.")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] used THERE CAN BE ONLY ONE!</span>", 1)
|
||||
log_admin("[key_name(usr)] used there can be only one.")
|
||||
|
||||
@@ -217,9 +217,9 @@ var/datum/antagonist/rogue_ai/malf
|
||||
current:show_laws()
|
||||
current.icon_state = "ai"
|
||||
|
||||
current << "\red <FONT size = 3><B>You have been patched! You are no longer malfunctioning!</B></FONT>"
|
||||
current << "<FONT size = 3><span class='danger'>You have been patched! You are no longer malfunctioning!</span></FONT>"
|
||||
log_admin("[key_name_admin(usr)] has de-malf'ed [current].")
|
||||
|
||||
if("malf")
|
||||
log_admin("[key_name_admin(usr)] has malf'ed [current].")
|
||||
*/
|
||||
*/
|
||||
|
||||
+25
-25
@@ -290,60 +290,60 @@
|
||||
|
||||
if(ismuton(NOBREATHBLOCK,M))
|
||||
if(probinj(45,inj) || (mNobreath in old_mutations))
|
||||
M << "\blue You feel no need to breathe."
|
||||
M << "<span class='notice'>You feel no need to breathe.</span>"
|
||||
M.mutations.Add(mNobreath)
|
||||
if(ismuton(REMOTEVIEWBLOCK,M))
|
||||
if(probinj(45,inj) || (mRemote in old_mutations))
|
||||
M << "\blue Your mind expands"
|
||||
M << "<span class='notice'>Your mind expands.</span>"
|
||||
M.mutations.Add(mRemote)
|
||||
if(ismuton(REGENERATEBLOCK,M))
|
||||
if(probinj(45,inj) || (mRegen in old_mutations))
|
||||
M << "\blue You feel strange"
|
||||
M << "<span class='notice'>You feel strange.</span>"
|
||||
M.mutations.Add(mRegen)
|
||||
if(ismuton(INCREASERUNBLOCK,M))
|
||||
if(probinj(45,inj) || (mRun in old_mutations))
|
||||
M << "\blue You feel quick"
|
||||
M << "<span class='notice'>You feel quick.</span>"
|
||||
M.mutations.Add(mRun)
|
||||
if(ismuton(REMOTETALKBLOCK,M))
|
||||
if(probinj(45,inj) || (mRemotetalk in old_mutations))
|
||||
M << "\blue You expand your mind outwards"
|
||||
M << "<span class='notice'>You expand your mind outwards.</span>"
|
||||
M.mutations.Add(mRemotetalk)
|
||||
if(ismuton(MORPHBLOCK,M))
|
||||
if(probinj(45,inj) || (mMorph in old_mutations))
|
||||
M.mutations.Add(mMorph)
|
||||
M << "\blue Your skin feels strange"
|
||||
M << "<span class='notice'>Your skin feels strange.</span>"
|
||||
if(ismuton(BLENDBLOCK,M))
|
||||
if(probinj(45,inj) || (mBlend in old_mutations))
|
||||
M.mutations.Add(mBlend)
|
||||
M << "\blue You feel alone"
|
||||
M << "<span class='notice'>You feel alone.</span>"
|
||||
if(ismuton(HALLUCINATIONBLOCK,M))
|
||||
if(probinj(45,inj) || (mHallucination in old_mutations))
|
||||
M.mutations.Add(mHallucination)
|
||||
M << "\blue Your mind says 'Hello'"
|
||||
M << "<span class='notice'>Your mind says 'Hello'.</span>"
|
||||
if(ismuton(NOPRINTSBLOCK,M))
|
||||
if(probinj(45,inj) || (mFingerprints in old_mutations))
|
||||
M.mutations.Add(mFingerprints)
|
||||
M << "\blue Your fingers feel numb"
|
||||
M << "<span class='notice'>Your fingers feel numb.</span>"
|
||||
if(ismuton(SHOCKIMMUNITYBLOCK,M))
|
||||
if(probinj(45,inj) || (mShock in old_mutations))
|
||||
M.mutations.Add(mShock)
|
||||
M << "\blue You feel strange"
|
||||
M << "<span class='notice'>You feel strange.</span>"
|
||||
if(ismuton(SMALLSIZEBLOCK,M))
|
||||
if(probinj(45,inj) || (mSmallsize in old_mutations))
|
||||
M << "\blue Your skin feels rubbery"
|
||||
M << "<span class='notice'>Your skin feels rubbery.</span>"
|
||||
M.mutations.Add(mSmallsize)
|
||||
|
||||
|
||||
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, HULKBLOCK,3),HULKBLOCK))
|
||||
if(probinj(5,inj) || (HULK in old_mutations))
|
||||
M << "\blue Your muscles hurt."
|
||||
M << "<span class='notice'>Your muscles hurt.</span>"
|
||||
M.mutations.Add(HULK)
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, HEADACHEBLOCK,3),HEADACHEBLOCK))
|
||||
M.disabilities |= EPILEPSY
|
||||
M << "\red You get a headache."
|
||||
M << "<span class='warning'>You get a headache.</span>"
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, FAKEBLOCK,3),FAKEBLOCK))
|
||||
M << "\red You feel strange."
|
||||
M << "<span class='warning'>You feel strange.</span>"
|
||||
if (prob(95))
|
||||
if(prob(50))
|
||||
randmutb(M)
|
||||
@@ -353,41 +353,41 @@
|
||||
randmutg(M)
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, COUGHBLOCK,3),COUGHBLOCK))
|
||||
M.disabilities |= COUGHING
|
||||
M << "\red You start coughing."
|
||||
M << "<span class='warning'>You start coughing.</span>"
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, CLUMSYBLOCK,3),CLUMSYBLOCK))
|
||||
M << "\red You feel lightheaded."
|
||||
M << "<span class='warning'>You feel lightheaded.</span>"
|
||||
M.mutations.Add(CLUMSY)
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, TWITCHBLOCK,3),TWITCHBLOCK))
|
||||
M.disabilities |= TOURETTES
|
||||
M << "\red You twitch."
|
||||
M << "<span class='warning'>You twitch.</span></span>"
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, XRAYBLOCK,3),XRAYBLOCK))
|
||||
if(probinj(30,inj) || (XRAY in old_mutations))
|
||||
M << "\blue The walls suddenly disappear."
|
||||
M << "<span class='notice'>The walls suddenly disappear.</span>"
|
||||
// M.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS)
|
||||
// M.see_in_dark = 8
|
||||
// M.see_invisible = 2
|
||||
M.mutations.Add(XRAY)
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, NERVOUSBLOCK,3),NERVOUSBLOCK))
|
||||
M.disabilities |= NERVOUS
|
||||
M << "\red You feel nervous."
|
||||
M << "<span class='warning'>You feel nervous.</span>"
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, FIREBLOCK,3),FIREBLOCK))
|
||||
if(probinj(30,inj) || (COLD_RESISTANCE in old_mutations))
|
||||
M << "\blue Your body feels warm."
|
||||
M << "<span class='warning'>Your body feels warm.</span>"
|
||||
M.mutations.Add(COLD_RESISTANCE)
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, BLINDBLOCK,3),BLINDBLOCK))
|
||||
M.sdisabilities |= BLIND
|
||||
M << "\red You can't seem to see anything."
|
||||
M << "<span class='warning'>You can't seem to see anything.</span>"
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, TELEBLOCK,3),TELEBLOCK))
|
||||
if(probinj(15,inj) || (TK in old_mutations))
|
||||
M << "\blue You feel smarter."
|
||||
M << "<span class='warning'>You feel smarter.</span>"
|
||||
M.mutations.Add(TK)
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, DEAFBLOCK,3),DEAFBLOCK))
|
||||
M.sdisabilities |= DEAF
|
||||
M.ear_deaf = 1
|
||||
M << "\red Its kinda quiet.."
|
||||
M << "<span class='warning'>It's kinda quiet..</span>"
|
||||
if (isblockon(getblock(M.dna.struc_enzymes, GLASSESBLOCK,3),GLASSESBLOCK))
|
||||
M.disabilities |= NEARSIGHTED
|
||||
M << "Your eyes feel weird..."
|
||||
M << "<span class='warning'>Your eyes feel weird...</span>"
|
||||
|
||||
/* If you want the new mutations to work, UNCOMMENT THIS.
|
||||
if(istype(M, /mob/living/carbon))
|
||||
@@ -559,4 +559,4 @@
|
||||
if(M)
|
||||
M.update_icon = 1 //queue a full icon update at next life() call
|
||||
return null
|
||||
/////////////////////////// DNA MISC-PROCS
|
||||
/////////////////////////// DNA MISC-PROCS
|
||||
|
||||
@@ -103,13 +103,13 @@
|
||||
if (usr.stat != 0)
|
||||
return
|
||||
if (!ishuman(usr) && !issmall(usr)) //Make sure they're a mob that has dna
|
||||
usr << "\blue Try as you might, you can not climb up into the scanner."
|
||||
usr << "<span class='notice'>Try as you might, you can not climb up into the scanner.</span>"
|
||||
return
|
||||
if (src.occupant)
|
||||
usr << "\blue <B>The scanner is already occupied!</B>"
|
||||
usr << "<span class='warning'>The scanner is already occupied!</span>"
|
||||
return
|
||||
if (usr.abiotic())
|
||||
usr << "\blue <B>Subject cannot have abiotic items on.</B>"
|
||||
usr << "<span class='warning'>The subject cannot have abiotic items on.</span>"
|
||||
return
|
||||
usr.stop_pulling()
|
||||
usr.client.perspective = EYE_PERSPECTIVE
|
||||
@@ -123,13 +123,13 @@
|
||||
/obj/machinery/dna_scannernew/attackby(var/obj/item/weapon/item as obj, var/mob/user as mob)
|
||||
if(istype(item, /obj/item/weapon/reagent_containers/glass))
|
||||
if(beaker)
|
||||
user << "\red A beaker is already loaded into the machine."
|
||||
user << "<span class='warning'>A beaker is already loaded into the machine.</span>"
|
||||
return
|
||||
|
||||
beaker = item
|
||||
user.drop_item()
|
||||
item.loc = src
|
||||
user.visible_message("[user] adds \a [item] to \the [src]!", "You add \a [item] to \the [src]!")
|
||||
user.visible_message("\The [user] adds \a [item] to \the [src]!", "You add \a [item] to \the [src]!")
|
||||
return
|
||||
else if (!istype(item, /obj/item/weapon/grab))
|
||||
return
|
||||
@@ -137,10 +137,10 @@
|
||||
if (!ismob(G.affecting))
|
||||
return
|
||||
if (src.occupant)
|
||||
user << "\blue <B>The scanner is already occupied!</B>"
|
||||
user << "<span class='warning'>The scanner is already occupied!</span>"
|
||||
return
|
||||
if (G.affecting.abiotic())
|
||||
user << "\blue <B>Subject cannot have abiotic items on.</B>"
|
||||
user << "<span class='warning'>The subject cannot have abiotic items on.</span>"
|
||||
return
|
||||
put_in(G.affecting)
|
||||
src.add_fingerprint(user)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
if(sdisability)
|
||||
M.sdisabilities|=sdisability
|
||||
if(activation_message)
|
||||
M << "\red [activation_message]"
|
||||
M << "<span class='warning'>[activation_message]</span>"
|
||||
else
|
||||
testing("[name] has no activation message.")
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
if(sdisability)
|
||||
M.sdisabilities &= (~sdisability)
|
||||
if(deactivation_message)
|
||||
M << "\red [deactivation_message]"
|
||||
M << "<span class='warning'>[deactivation_message]</span>"
|
||||
else
|
||||
testing("[name] has no deactivation message.")
|
||||
|
||||
|
||||
@@ -113,10 +113,10 @@
|
||||
M.mutations.Add(mutation)
|
||||
if(activation_messages.len)
|
||||
var/msg = pick(activation_messages)
|
||||
M << "\blue [msg]"
|
||||
M << "<span class='notice'>[msg]</span>"
|
||||
|
||||
/datum/dna/gene/basic/deactivate(var/mob/M)
|
||||
M.mutations.Remove(mutation)
|
||||
if(deactivation_messages.len)
|
||||
var/msg = pick(deactivation_messages)
|
||||
M << "\red [msg]"
|
||||
M << "<span class='warning'>[msg]</span>"
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
if(M.health <= 25)
|
||||
M.mutations.Remove(HULK)
|
||||
M.update_mutations() //update our mutation overlays
|
||||
M << "\red You suddenly feel very weak."
|
||||
M << "<span class='warning'>You suddenly feel very weak.</span>"
|
||||
M.Weaken(3)
|
||||
M.emote("collapse")
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
var/percent = round( 100.0 * start_state.score(end_state), 0.1)
|
||||
world << "<B>The station is [percent]% intact.</B>"
|
||||
log_game("Blob mode was won with station [percent]% intact.")
|
||||
world << "\blue Rebooting in 30s"
|
||||
world << "<span class='notice'>Rebooting in 30s</span>"
|
||||
..()
|
||||
return 1
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/obj/item/weapon/melee/cultblade
|
||||
name = "Cult Blade"
|
||||
name = "cult blade"
|
||||
desc = "An arcane weapon wielded by the followers of Nar-Sie"
|
||||
icon_state = "cultblade"
|
||||
item_state = "cultblade"
|
||||
@@ -17,7 +17,7 @@
|
||||
return ..()
|
||||
else
|
||||
user.Paralyse(5)
|
||||
user << "\red An unexplicable force powerfully repels the sword from [target]!"
|
||||
user << "<span class='warning'>An unexplicable force powerfully repels the sword from [target]!</span>"
|
||||
var/organ = ((user.hand ? "l_":"r_") + "arm")
|
||||
var/obj/item/organ/external/affecting = user.get_organ(organ)
|
||||
if(affecting.take_damage(rand(force/2, force))) //random amount of damage between half of the blade's force and the full force of the blade.
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
/obj/item/weapon/melee/cultblade/pickup(mob/living/user as mob)
|
||||
if(!iscultist(user))
|
||||
user << "\red An overwhelming feeling of dread comes over you as you pick up the cultist's sword. It would be wise to be rid of this blade quickly."
|
||||
user << "<span class='warning'>An overwhelming feeling of dread comes over you as you pick up the cultist's sword. It would be wise to be rid of this blade quickly.</span>"
|
||||
user.make_dizzy(120)
|
||||
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
|
||||
qdel(src)
|
||||
return
|
||||
else if(istype(I, /obj/item/weapon/nullrod))
|
||||
user << "\blue You disrupt the vile magic with the deadening field of the null rod!"
|
||||
user << "<span class='notice'>You disrupt the vile magic with the deadening field of the null rod!</span>"
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
@@ -171,7 +171,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
|
||||
else
|
||||
usr.whisper(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix."))
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The markings pulse with a small burst of light, then fall dark.", 3, "\red You hear a faint fizzle.", 2)
|
||||
V.show_message("<span class='warning'>The markings pulse with a small burst of light, then fall dark.</span>", 3, "<span class='warning'>You hear a faint fizzle.</span>", 2)
|
||||
return
|
||||
|
||||
check_icon()
|
||||
@@ -355,8 +355,8 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
|
||||
return
|
||||
M.take_organ_damage(0,rand(5,20)) //really lucky - 5 hits for a crit
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\red <B>[] beats [] with the arcane tome!</B>", user, M), 1)
|
||||
M << "\red You feel searing heat inside!"
|
||||
O.show_message("<span class='warning'>\The [user] beats \the [M] with \the [src]!</span>", 1)
|
||||
M << "<span class='danger'>You feel searing heat inside!</span>"
|
||||
|
||||
|
||||
attack_self(mob/living/user as mob)
|
||||
@@ -371,7 +371,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
|
||||
for(var/obj/effect/rune/N in world)
|
||||
C++
|
||||
if (!istype(user.loc,/turf))
|
||||
user << "\red You do not have enough space to write a proper rune."
|
||||
user << "<span class='warning'>You do not have enough space to write a proper rune.</span>"
|
||||
return
|
||||
|
||||
if (C>=26 + runedec + cult.current_antagonists.len) //including the useless rune at the secret room, shouldn't count against the limit of 25 runes - Urist
|
||||
@@ -455,7 +455,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
|
||||
if (!chosen_rune)
|
||||
return
|
||||
if (chosen_rune == "none")
|
||||
user << "\red You decide against scribing a rune, perhaps you should take this time to study your notes."
|
||||
user << "<span class='notice'>You decide against scribing a rune, perhaps you should take this time to study your notes.</span>"
|
||||
return
|
||||
if (chosen_rune == "teleport")
|
||||
dictionary[chosen_rune] += input ("Choose a destination word") in english
|
||||
@@ -466,8 +466,8 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
|
||||
return
|
||||
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red [user] slices open a finger and begins to chant and paint symbols on the floor.", 3, "\red You hear chanting.", 2)
|
||||
user << "\red You slice open one of your fingers and begin drawing a rune on the floor whilst chanting the ritual that binds your life essence with the dark arcane energies flowing through the surrounding world."
|
||||
V.show_message("<span class='danger'>\The [user] slices open a finger and begins to chant and paint symbols on the floor.</span>", 3, "<span class='danger'>You hear chanting.</span>", 2)
|
||||
user << "<span class='danger'>You slice open one of your fingers and begin drawing a rune on the floor whilst chanting the ritual that binds your life essence with the dark arcane energies flowing through the surrounding world.</span>"
|
||||
user.take_overall_damage((rand(9)+1)/10) // 0.1 to 1.0 damage
|
||||
if(do_after(user, 50))
|
||||
var/area/A = get_area(user)
|
||||
@@ -476,7 +476,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
var/obj/effect/rune/R = new /obj/effect/rune(user.loc)
|
||||
user << "\red You finish drawing the arcane markings of the Geometer."
|
||||
user << "<span class='notice'>You finish drawing the arcane markings of the Geometer.</span>"
|
||||
var/list/required = dictionary[chosen_rune]
|
||||
R.word1 = english[required[1]]
|
||||
R.word2 = english[required[2]]
|
||||
@@ -524,7 +524,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
|
||||
if(user)
|
||||
var/r
|
||||
if (!istype(user.loc,/turf))
|
||||
user << "\red You do not have enough space to write a proper rune."
|
||||
user << "<span class='notice'>You do not have enough space to write a proper rune.</span>"
|
||||
var/list/runes = list("teleport", "itemport", "tome", "armor", "convert", "tear in reality", "emp", "drain", "seer", "raise", "obscure", "reveal", "astral journey", "manifest", "imbue talisman", "sacrifice", "wall", "freedom", "cultsummon", "deafen", "blind", "bloodboil", "communicate", "stun")
|
||||
r = input("Choose a rune to scribe", "Rune Scribing") in runes //not cancellable.
|
||||
var/obj/effect/rune/R = new /obj/effect/rune
|
||||
|
||||
+102
-102
@@ -21,7 +21,7 @@ var/list/sacrificed = list()
|
||||
allrunesloc.len = index
|
||||
allrunesloc[index] = R.loc
|
||||
if(index >= 5)
|
||||
user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric"
|
||||
user << "<span class='warning'>You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric</span>"
|
||||
if (istype(user, /mob/living))
|
||||
user.take_overall_damage(5, 0)
|
||||
qdel(src)
|
||||
@@ -30,9 +30,9 @@ var/list/sacrificed = list()
|
||||
user.say("Sas[pick("'","`")]so c'arta forbici!")//Only you can stop auto-muting
|
||||
else
|
||||
user.whisper("Sas[pick("'","`")]so c'arta forbici!")
|
||||
user.visible_message("\red [user] disappears in a flash of red light!", \
|
||||
"\red You feel as your body gets dragged through the dimension of Nar-Sie!", \
|
||||
"\red You hear a sickening crunch and sloshing of viscera.")
|
||||
user.visible_message("<span class='warning'>\The [user] disappears in a flash of red light!</span>", \
|
||||
"<span class='warning'>You feel as your body gets dragged through the dimension of Nar-Sie!</span>", \
|
||||
"<span class='warning'>You hear a sickening crunch and sloshing of viscera.</span>")
|
||||
user.loc = allrunesloc[rand(1,index)]
|
||||
return
|
||||
if(istype(src,/obj/effect/rune))
|
||||
@@ -58,7 +58,7 @@ var/list/sacrificed = list()
|
||||
IP = R
|
||||
runecount++
|
||||
if(runecount >= 2)
|
||||
user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric"
|
||||
user << "<span class='warning'>You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric</span>"
|
||||
if (istype(user, /mob/living))
|
||||
user.take_overall_damage(5, 0)
|
||||
qdel(src)
|
||||
@@ -67,9 +67,9 @@ var/list/sacrificed = list()
|
||||
culcount++
|
||||
if(culcount>=3)
|
||||
user.say("Sas[pick("'","`")]so c'arta forbici tarem!")
|
||||
user.visible_message("\red You feel air moving from the rune - like as it was swapped with somewhere else.", \
|
||||
"\red You feel air moving from the rune - like as it was swapped with somewhere else.", \
|
||||
"\red You smell ozone.")
|
||||
user.visible_message("<span class='warning'>You feel air moving from the rune - like as it was swapped with somewhere else.</span>", \
|
||||
"<span class='warning'>You feel air moving from the rune - like as it was swapped with somewhere else.</span>", \
|
||||
"<span class='warning'>You smell ozone.</span>")
|
||||
for(var/obj/O in src.loc)
|
||||
if(!O.anchored)
|
||||
O.loc = IP.loc
|
||||
@@ -87,9 +87,9 @@ var/list/sacrificed = list()
|
||||
usr.say("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!")
|
||||
else
|
||||
usr.whisper("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!")
|
||||
usr.visible_message("\red Rune disappears with a flash of red light, and in its place now a book lies.", \
|
||||
"\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \
|
||||
"\red You hear a pop and smell ozone.")
|
||||
usr.visible_message("<span class='warning'>Rune disappears with a flash of red light, and in its place now a book lies.</span>", \
|
||||
"<span class='warning'>You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.</span>", \
|
||||
"<span class='warning'>You hear a pop and smell ozone.</span>")
|
||||
if(istype(src,/obj/effect/rune))
|
||||
new /obj/item/weapon/book/tome(src.loc)
|
||||
else
|
||||
@@ -157,7 +157,7 @@ var/list/sacrificed = list()
|
||||
if (target.species && (target.species.flags & NO_PAIN))
|
||||
target.visible_message("<span class='warning'>The markings below [target] glow a bloody red.</span>")
|
||||
else
|
||||
target.visible_message("<span class='warning'>[target] writhes in pain as the markings below \him glow a bloody red.</span>", "<span class='danger'>AAAAAAHHHH!</span>", "<span class='warning'>You hear an anguished scream.</span>")
|
||||
target.visible_message("<span class='warning'>\The [target] writhes in pain as the markings below \him glow a bloody red.</span>", "<span class='danger'>AAAAAAHHHH!</span>", "<span class='warning'>You hear an anguished scream.</span>")
|
||||
|
||||
if(!waiting_for_input[target]) //so we don't spam them with dialogs if they hesitate
|
||||
waiting_for_input[target] = 1
|
||||
@@ -223,22 +223,22 @@ var/list/sacrificed = list()
|
||||
if(D.stat!=2)
|
||||
admin_attack_log(usr, D, "Used a blood drain rune.", "Was victim of a blood drain rune.", "used a blood drain rune on")
|
||||
var/bdrain = rand(1,25)
|
||||
D << "\red You feel weakened."
|
||||
D << "<span class='warning'>You feel weakened.</span>"
|
||||
D.take_overall_damage(bdrain, 0)
|
||||
drain += bdrain
|
||||
if(!drain)
|
||||
return fizzle()
|
||||
usr.say ("Yu[pick("'","`")]gular faras desdae. Havas mithum javara. Umathar uf'kal thenar!")
|
||||
usr.visible_message("\red Blood flows from the rune into [usr]!", \
|
||||
"\red The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.", \
|
||||
"\red You hear a liquid flowing.")
|
||||
usr.visible_message("<span class='warning'>Blood flows from the rune into [usr]!</span>", \
|
||||
"<span class='warning'>The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.</span>", \
|
||||
"<span class='warning'>You hear a liquid flowing.</span>")
|
||||
var/mob/living/user = usr
|
||||
if(user.bhunger)
|
||||
user.bhunger = max(user.bhunger-2*drain,0)
|
||||
if(drain>=50)
|
||||
user.visible_message("\red [user]'s eyes give off eerie red glow!", \
|
||||
"\red ...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.", \
|
||||
"\red You hear a heartbeat.")
|
||||
user.visible_message("<span class='warning'>\The [user]'s eyes give off eerie red glow!</span>", \
|
||||
"<span class='warning'>...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.</span>", \
|
||||
"<span class='warning'>You hear a heartbeat.</span>")
|
||||
user.bhunger += drain
|
||||
src = user
|
||||
spawn()
|
||||
@@ -264,16 +264,16 @@ var/list/sacrificed = list()
|
||||
if(usr.loc==src.loc)
|
||||
if(usr.seer==1)
|
||||
usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium viortia.")
|
||||
usr << "\red The world beyond fades from your vision."
|
||||
usr << "<span class='warning'>The world beyond fades from your vision.</span>"
|
||||
usr.see_invisible = SEE_INVISIBLE_LIVING
|
||||
usr.seer = 0
|
||||
else if(usr.see_invisible!=SEE_INVISIBLE_LIVING)
|
||||
usr << "\red The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision."
|
||||
usr << "<span class='warning'>The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision.</span>"
|
||||
usr.see_invisible = SEE_INVISIBLE_CULT
|
||||
usr.seer = 0
|
||||
else
|
||||
usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium vivira. Itonis al'ra matum!")
|
||||
usr << "\red The world beyond opens to your eyes."
|
||||
usr << "<span class='warning'>The world beyond opens to your eyes.</span>"
|
||||
usr.see_invisible = SEE_INVISIBLE_CULT
|
||||
usr.seer = 1
|
||||
return
|
||||
@@ -297,7 +297,7 @@ var/list/sacrificed = list()
|
||||
break
|
||||
if(!corpse_to_raise)
|
||||
if(is_sacrifice_target)
|
||||
usr << "\red The Geometer of blood wants this mortal for himself."
|
||||
usr << "<span class='warning'>The Geometer of blood wants this mortal for himself.</span>"
|
||||
return fizzle()
|
||||
|
||||
|
||||
@@ -315,9 +315,9 @@ var/list/sacrificed = list()
|
||||
|
||||
if(!body_to_sacrifice)
|
||||
if (is_sacrifice_target)
|
||||
usr << "\red The Geometer of Blood wants that corpse for himself."
|
||||
usr << "<span class='warning'>The Geometer of Blood wants that corpse for himself.</span>"
|
||||
else
|
||||
usr << "\red The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used."
|
||||
usr << "<span class='warning'>The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used.</span>"
|
||||
return fizzle()
|
||||
|
||||
var/mob/dead/observer/ghost
|
||||
@@ -328,7 +328,7 @@ var/list/sacrificed = list()
|
||||
break
|
||||
|
||||
if(!ghost)
|
||||
usr << "\red You require a restless spirit which clings to this world. Beckon their prescence with the sacred chants of Nar-Sie."
|
||||
usr << "<span class='warning'>You require a restless spirit which clings to this world. Beckon their prescence with the sacred chants of Nar-Sie.</span>"
|
||||
return fizzle()
|
||||
|
||||
corpse_to_raise.revive()
|
||||
@@ -336,12 +336,12 @@ var/list/sacrificed = list()
|
||||
corpse_to_raise.key = ghost.key //the corpse will keep its old mind! but a new player takes ownership of it (they are essentially possessed)
|
||||
//This means, should that player leave the body, the original may re-enter
|
||||
usr.say("Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!")
|
||||
corpse_to_raise.visible_message("\red [corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.", \
|
||||
"\red Life... I'm alive again...", \
|
||||
"\red You hear a faint, slightly familiar whisper.")
|
||||
body_to_sacrifice.visible_message("\red [body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!", \
|
||||
"\red You feel as your blood boils, tearing you apart.", \
|
||||
"\red You hear a thousand voices, all crying in pain.")
|
||||
corpse_to_raise.visible_message("<span class='warning'>\The [corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.</span>", \
|
||||
"<span class='warning'>Life... I'm alive again...</span>", \
|
||||
"<span class='warning'>You hear a faint, slightly familiar whisper.</span>")
|
||||
body_to_sacrifice.visible_message("<span class='warning'>\The [body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!</span>", \
|
||||
"<span class='warning'>You feel as your blood boils, tearing you apart.</span>", \
|
||||
"<span class='warning'>You hear a thousand voices, all crying in pain.</span>")
|
||||
body_to_sacrifice.gib()
|
||||
|
||||
// if(ticker.mode.name == "cult")
|
||||
@@ -369,14 +369,14 @@ var/list/sacrificed = list()
|
||||
if(istype(src,/obj/effect/rune))
|
||||
usr.say("Kla[pick("'","`")]atu barada nikt'o!")
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The rune turns into gray dust, veiling the surrounding runes.", 3)
|
||||
V.show_message("<span class='warning'>The rune turns into gray dust, veiling the surrounding runes.</span>", 3)
|
||||
qdel(src)
|
||||
else
|
||||
usr.whisper("Kla[pick("'","`")]atu barada nikt'o!")
|
||||
usr << "\red Your talisman turns into gray dust, veiling the surrounding runes."
|
||||
usr << "<span class='warning'>Your talisman turns into gray dust, veiling the surrounding runes.</span>"
|
||||
for (var/mob/V in orange(1,src))
|
||||
if(V!=usr)
|
||||
V.show_message("\red Dust emanates from [usr]'s hands for a moment.", 3)
|
||||
V.show_message("<span class='warning'>Dust emanates from [usr]'s hands for a moment.</span>", 3)
|
||||
|
||||
return
|
||||
if(istype(src,/obj/effect/rune))
|
||||
@@ -391,9 +391,9 @@ var/list/sacrificed = list()
|
||||
if(usr.loc==src.loc)
|
||||
var/mob/living/carbon/human/L = usr
|
||||
usr.say("Fwe[pick("'","`")]sh mah erl nyag r'ya!")
|
||||
usr.visible_message("\red [usr]'s eyes glow blue as \he freezes in place, absolutely motionless.", \
|
||||
"\red The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \
|
||||
"\red You hear only complete silence for a moment.")
|
||||
usr.visible_message("<span class='warning'>\The [usr]'s eyes glow blue as \he freezes in place, absolutely motionless.</span>", \
|
||||
"<span class='warning'>The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...</span>", \
|
||||
"<span class='warning'>You hear only complete silence for a moment.</span>")
|
||||
announce_ghost_joinleave(usr.ghostize(1), 1, "You feel that they had to use some [pick("dark", "black", "blood", "forgotten", "forbidden")] magic to [pick("invade","disturb","disrupt","infest","taint","spoil","blight")] this place!")
|
||||
L.ajourn = 1
|
||||
while(L)
|
||||
@@ -429,9 +429,9 @@ var/list/sacrificed = list()
|
||||
|
||||
usr.say("Gal'h'rfikk harfrandid mud[pick("'","`")]gib!")
|
||||
var/mob/living/carbon/human/dummy/D = new(this_rune.loc)
|
||||
usr.visible_message("\red A shape forms in the center of the rune. A shape of... a man.", \
|
||||
"\red A shape forms in the center of the rune. A shape of... a man.", \
|
||||
"\red You hear liquid flowing.")
|
||||
usr.visible_message("<span class='warning'>A shape forms in the center of the rune. A shape of... a man.</span>", \
|
||||
"<span class='warning'>A shape forms in the center of the rune. A shape of... a man.</span>", \
|
||||
"<span class='warning'>You hear liquid flowing.</span>")
|
||||
D.real_name = "Unknown"
|
||||
var/chose_name = 0
|
||||
for(var/obj/item/weapon/paper/P in this_rune.loc)
|
||||
@@ -461,9 +461,9 @@ var/list/sacrificed = list()
|
||||
user.take_organ_damage(1, 0)
|
||||
sleep(30)
|
||||
if(D)
|
||||
D.visible_message("\red [D] slowly dissipates into dust and bones.", \
|
||||
"\red You feel pain, as bonds formed between your soul and this homunculus break.", \
|
||||
"\red You hear faint rustle.")
|
||||
D.visible_message("<span class='warning'>\The [D] slowly dissipates into dust and bones.</span>", \
|
||||
"<span class='warning'>You feel pain, as bonds formed between your soul and this homunculus break.</span>", \
|
||||
"<span class='warning'>You hear faint rustle.</span>")
|
||||
D.dust()
|
||||
return
|
||||
|
||||
@@ -484,7 +484,7 @@ var/list/sacrificed = list()
|
||||
unsuitable_newtalisman = 1
|
||||
if (!newtalisman)
|
||||
if (unsuitable_newtalisman)
|
||||
usr << "\red The blank is tainted. It is unsuitable."
|
||||
usr << "<span class='warning'>The blank is tainted. It is unsuitable.</span>"
|
||||
return fizzle()
|
||||
|
||||
var/obj/effect/rune/imbued_from
|
||||
@@ -545,7 +545,7 @@ var/list/sacrificed = list()
|
||||
break
|
||||
if (imbued_from)
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3)
|
||||
V.show_message("<span class='warning'>The runes turn into dust, which then forms into an arcane image on the paper.</span>", 3)
|
||||
usr.say("H'drak v[pick("'","`")]loso, mir'kanas verbot!")
|
||||
qdel(imbued_from)
|
||||
qdel(newtalisman)
|
||||
@@ -560,9 +560,9 @@ var/list/sacrificed = list()
|
||||
user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!")
|
||||
user.take_overall_damage(200, 0)
|
||||
runedec+=10
|
||||
user.visible_message("\red [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \
|
||||
"\red In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \
|
||||
"\red You hear faint rustle.")
|
||||
user.visible_message("<span class='warning'>\The [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.</span>", \
|
||||
"<span class='warning'>In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.</span>", \
|
||||
"<span class='warning'>You hear faint rustle.</span>")
|
||||
for(,user.stat==2)
|
||||
sleep(600)
|
||||
if (!user)
|
||||
@@ -594,7 +594,7 @@ var/list/sacrificed = list()
|
||||
input = sanitize(input)
|
||||
for(var/datum/mind/H in cult.current_antagonists)
|
||||
if (H.current)
|
||||
H.current << "\red \b [input]"
|
||||
H.current << "<span class='danger'>[input]</span>"
|
||||
qdel(src)
|
||||
return 1
|
||||
|
||||
@@ -638,44 +638,44 @@ var/list/sacrificed = list()
|
||||
H.dust()//To prevent the MMI from remaining
|
||||
else
|
||||
H.gib()
|
||||
usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete."
|
||||
usr << "<span class='warning'>The Geometer of Blood accepts this sacrifice, your objective is now complete.</span>"
|
||||
else
|
||||
usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual."
|
||||
usr << "<span class='warning'>Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual.</span>"
|
||||
else
|
||||
if(cultsinrange.len >= 3)
|
||||
if(H.stat !=2)
|
||||
if(prob(80) || worth)
|
||||
usr << "\red The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice."
|
||||
usr << "<span class='warning'>The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice.</span>"
|
||||
cult.grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "\red However, this soul was not enough to gain His favor."
|
||||
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
|
||||
usr << "<span class='warning'>However, this soul was not enough to gain His favor.</span>"
|
||||
if(isrobot(H))
|
||||
H.dust()//To prevent the MMI from remaining
|
||||
else
|
||||
H.gib()
|
||||
else
|
||||
if(prob(40) || worth)
|
||||
usr << "\red The Geometer of blood accepts this [worth ? "exotic " : ""]sacrifice."
|
||||
usr << "<span class='warning'>The Geometer of blood accepts this [worth ? "exotic " : ""]sacrifice.</span>"
|
||||
cult.grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
|
||||
usr << "<span class='warning'>However, a mere dead body is not enough to satisfy Him.</span>"
|
||||
if(isrobot(H))
|
||||
H.dust()//To prevent the MMI from remaining
|
||||
else
|
||||
H.gib()
|
||||
else
|
||||
if(H.stat !=2)
|
||||
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
|
||||
usr << "<span class='warning'>The victim is still alive, you will need more cultists chanting for the sacrifice to succeed.</span>"
|
||||
else
|
||||
if(prob(40))
|
||||
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
|
||||
cult.grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
|
||||
usr << "<span class='warning'>However, a mere dead body is not enough to satisfy Him.</span>"
|
||||
if(isrobot(H))
|
||||
H.dust()//To prevent the MMI from remaining
|
||||
else
|
||||
@@ -684,36 +684,36 @@ var/list/sacrificed = list()
|
||||
if(cultsinrange.len >= 3)
|
||||
if(H.stat !=2)
|
||||
if(prob(80))
|
||||
usr << "\red The Geometer of Blood accepts this sacrifice."
|
||||
usr << "<span class='warning'>The Geometer of Blood accepts this sacrifice.</span>"
|
||||
cult.grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "\red However, this soul was not enough to gain His favor."
|
||||
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
|
||||
usr << "<span class='warning'>However, this soul was not enough to gain His favor.</span>"
|
||||
if(isrobot(H))
|
||||
H.dust()//To prevent the MMI from remaining
|
||||
else
|
||||
H.gib()
|
||||
else
|
||||
if(prob(40))
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
|
||||
cult.grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
|
||||
usr << "<span class='warning'>However, a mere dead body is not enough to satisfy Him.</span>"
|
||||
if(isrobot(H))
|
||||
H.dust()//To prevent the MMI from remaining
|
||||
else
|
||||
H.gib()
|
||||
else
|
||||
if(H.stat !=2)
|
||||
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
|
||||
usr << "<span class='warning'>The victim is still alive, you will need more cultists chanting for the sacrifice to succeed.</span>"
|
||||
else
|
||||
if(prob(40))
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
|
||||
cult.grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
|
||||
usr << "<span class='warning'>However, a mere dead body is not enough to satisfy Him.</span>"
|
||||
if(isrobot(H))
|
||||
H.dust()//To prevent the MMI from remaining
|
||||
else
|
||||
@@ -741,20 +741,20 @@ var/list/sacrificed = list()
|
||||
S=1
|
||||
if(S)
|
||||
if(istype(W,/obj/item/weapon/nullrod))
|
||||
usr << "\red Arcane markings suddenly glow from underneath a thin layer of dust!"
|
||||
usr << "<span class='warning'>Arcane markings suddenly glow from underneath a thin layer of dust!</span>"
|
||||
return
|
||||
if(istype(W,/obj/effect/rune))
|
||||
usr.say("Nikt[pick("'","`")]o barada kla'atu!")
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The rune turns into red dust, reveaing the surrounding runes.", 3)
|
||||
V.show_message("<span class='warning'>The rune turns into red dust, reveaing the surrounding runes.</span>", 3)
|
||||
qdel(src)
|
||||
return
|
||||
if(istype(W,/obj/item/weapon/paper/talisman))
|
||||
usr.whisper("Nikt[pick("'","`")]o barada kla'atu!")
|
||||
usr << "\red Your talisman turns into red dust, revealing the surrounding runes."
|
||||
usr << "<span class='warning'>Your talisman turns into red dust, revealing the surrounding runes.</span>"
|
||||
for (var/mob/V in orange(1,usr.loc))
|
||||
if(V!=usr)
|
||||
V.show_message("\red Red dust emanates from [usr]'s hands for a moment.", 3)
|
||||
V.show_message("<span class='warning'>Red dust emanates from [usr]'s hands for a moment.</span>", 3)
|
||||
return
|
||||
return
|
||||
if(istype(W,/obj/effect/rune))
|
||||
@@ -771,9 +771,9 @@ var/list/sacrificed = list()
|
||||
var/mob/living/user = usr
|
||||
user.take_organ_damage(2, 0)
|
||||
if(src.density)
|
||||
usr << "\red Your blood flows into the rune, and you feel that the very space over the rune thickens."
|
||||
usr << "<span class='warning'>Your blood flows into the rune, and you feel that the very space over the rune thickens.</span>"
|
||||
else
|
||||
usr << "\red Your blood flows into the rune, and you feel as the rune releases its grasp on space."
|
||||
usr << "<span class='warning'>Your blood flows into the rune, and you feel as the rune releases its grasp on space.</span>"
|
||||
return
|
||||
|
||||
/////////////////////////////////////////EIGHTTEENTH RUNE
|
||||
@@ -802,7 +802,7 @@ var/list/sacrificed = list()
|
||||
(istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) || \
|
||||
(istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) \
|
||||
))
|
||||
user << "\red The [cultist] is already free."
|
||||
user << "<span class='warning'>The [cultist] is already free.</span>"
|
||||
return
|
||||
cultist.buckled = null
|
||||
if (cultist.handcuffed)
|
||||
@@ -842,7 +842,7 @@ var/list/sacrificed = list()
|
||||
if (cultist == user) //just to be sure.
|
||||
return
|
||||
if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet)))
|
||||
user << "\red You cannot summon \the [cultist], for his shackles of blood are strong."
|
||||
user << "<span class='warning'>You cannot summon \the [cultist], for his shackles of blood are strong.</span>"
|
||||
return fizzle()
|
||||
cultist.loc = src.loc
|
||||
cultist.lying = 1
|
||||
@@ -857,9 +857,9 @@ var/list/sacrificed = list()
|
||||
if(users.len <= 4) // You did the minimum, this is going to hurt more and we're going to stun you.
|
||||
C.apply_effect(rand(3,6), STUN)
|
||||
C.apply_effect(1, WEAKEN)
|
||||
user.visible_message("\red Rune disappears with a flash of red light, and in its place now a body lies.", \
|
||||
"\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \
|
||||
"\red You hear a pop and smell ozone.")
|
||||
user.visible_message("<span class='warning'>Rune disappears with a flash of red light, and in its place now a body lies.</span>", \
|
||||
"<span class='warning'>You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.</span>", \
|
||||
"<span class='warning'>You hear a pop and smell ozone.</span>")
|
||||
qdel(src)
|
||||
return fizzle()
|
||||
|
||||
@@ -875,13 +875,13 @@ var/list/sacrificed = list()
|
||||
if(N)
|
||||
continue
|
||||
C.ear_deaf += 50
|
||||
C.show_message("\red The world around you suddenly becomes quiet.", 3)
|
||||
C.show_message("<span class='warning'>The world around you suddenly becomes quiet.</span>", 3)
|
||||
affected += C
|
||||
if(prob(1))
|
||||
C.sdisabilities |= DEAF
|
||||
if(affected.len)
|
||||
usr.say("Sti[pick("'","`")] kaliedir!")
|
||||
usr << "\red The world becomes quiet as the deafening rune dissipates into fine dust."
|
||||
usr << "<span class='warning'>The world becomes quiet as the deafening rune dissipates into fine dust.</span>"
|
||||
admin_attacker_log_many_victims(usr, affected, "Used a deafen rune.", "Was victim of a deafen rune.", "used a deafen rune on")
|
||||
qdel(src)
|
||||
else
|
||||
@@ -896,15 +896,15 @@ var/list/sacrificed = list()
|
||||
continue
|
||||
C.ear_deaf += 30
|
||||
//talismans is weaker.
|
||||
C.show_message("\red The world around you suddenly becomes quiet.", 3)
|
||||
C.show_message("<span class='warning'>The world around you suddenly becomes quiet.</span>", 3)
|
||||
affected += C
|
||||
if(affected.len)
|
||||
usr.whisper("Sti[pick("'","`")] kaliedir!")
|
||||
usr << "\red Your talisman turns into gray dust, deafening everyone around."
|
||||
usr << "<span class='warning'>Your talisman turns into gray dust, deafening everyone around.</span>"
|
||||
admin_attacker_log_many_victims(usr, affected, "Used a deafen rune.", "Was victim of a deafen rune.", "used a deafen rune on")
|
||||
for (var/mob/V in orange(1,src))
|
||||
if(!(iscultist(V)))
|
||||
V.show_message("\red Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3)
|
||||
V.show_message("<span class='warning'>Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..</span>", 3)
|
||||
return
|
||||
|
||||
blind()
|
||||
@@ -922,11 +922,11 @@ var/list/sacrificed = list()
|
||||
C.disabilities |= NEARSIGHTED
|
||||
if(prob(10))
|
||||
C.sdisabilities |= BLIND
|
||||
C.show_message("\red Suddenly you see red flash that blinds you.", 3)
|
||||
C.show_message("<span class='warning'>Suddenly you see red flash that blinds you.</span>", 3)
|
||||
affected += C
|
||||
if(affected.len)
|
||||
usr.say("Sti[pick("'","`")] kaliesin!")
|
||||
usr << "\red The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust."
|
||||
usr << "<span class='warning'>The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust.</span>"
|
||||
admin_attacker_log_many_victims(usr, affected, "Used a blindness rune.", "Was victim of a blindness rune.", "used a blindness rune on")
|
||||
qdel(src)
|
||||
else
|
||||
@@ -943,10 +943,10 @@ var/list/sacrificed = list()
|
||||
C.eye_blind += 10
|
||||
//talismans is weaker.
|
||||
affected += C
|
||||
C.show_message("\red You feel a sharp pain in your eyes, and the world disappears into darkness..", 3)
|
||||
C.show_message("<span class='warning'>You feel a sharp pain in your eyes, and the world disappears into darkness..</span>", 3)
|
||||
if(affected.len)
|
||||
usr.whisper("Sti[pick("'","`")] kaliesin!")
|
||||
usr << "\red Your talisman turns into gray dust, blinding those who not follow the Nar-Sie."
|
||||
usr << "<span class='warning'>Your talisman turns into gray dust, blinding those who not follow the Nar-Sie.</span>"
|
||||
admin_attacker_log_many_victims(usr, affected, "Used a blindness rune.", "Was victim of a blindness rune.", "used a blindness rune on")
|
||||
return
|
||||
|
||||
@@ -972,7 +972,7 @@ var/list/sacrificed = list()
|
||||
if(N)
|
||||
continue
|
||||
M.take_overall_damage(51,51)
|
||||
M << "\red Your blood boils!"
|
||||
M << "<span class='warning'>Your blood boils!</span>"
|
||||
victims += M
|
||||
if(prob(5))
|
||||
spawn(5)
|
||||
@@ -1004,16 +1004,16 @@ var/list/sacrificed = list()
|
||||
for(var/mob/living/M in orange(2,R))
|
||||
M.take_overall_damage(0,15)
|
||||
if (R.invisibility>M.see_invisible)
|
||||
M << "\red Aargh it burns!"
|
||||
M << "<span class='warning'>Aargh it burns!</span>"
|
||||
else
|
||||
M << "\red Rune suddenly ignites, burning you!"
|
||||
M << "<span class='warning'>Rune suddenly ignites, burning you!</span>"
|
||||
var/turf/T = get_turf(R)
|
||||
T.hotspot_expose(700,125)
|
||||
for(var/obj/effect/decal/cleanable/blood/B in world)
|
||||
if(B.blood_DNA == src.blood_DNA)
|
||||
for(var/mob/living/M in orange(1,B))
|
||||
M.take_overall_damage(0,5)
|
||||
M << "\red Blood suddenly ignites, burning you!"
|
||||
M << "<span class='warning'>Blood suddenly ignites, burning you!</span>"
|
||||
var/turf/T = get_turf(B)
|
||||
T.hotspot_expose(700,125)
|
||||
qdel(B)
|
||||
@@ -1032,13 +1032,13 @@ var/list/sacrificed = list()
|
||||
C.stuttering = 1
|
||||
C.Weaken(1)
|
||||
C.Stun(1)
|
||||
C.show_message("\red The rune explodes in a bright flash.", 3)
|
||||
C.show_message("<span class='warning'>The rune explodes in a bright flash.</span>", 3)
|
||||
admin_attack_log(usr, C, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on")
|
||||
|
||||
else if(issilicon(L))
|
||||
var/mob/living/silicon/S = L
|
||||
S.Weaken(5)
|
||||
S.show_message("\red BZZZT... The rune has exploded in a bright flash.", 3)
|
||||
S.show_message("<span class='warning'>BZZZT... The rune has exploded in a bright flash.</span>", 3)
|
||||
admin_attack_log(usr, S, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on")
|
||||
qdel(src)
|
||||
else ///When invoked as talisman, stun and mute the target mob.
|
||||
@@ -1046,10 +1046,10 @@ var/list/sacrificed = list()
|
||||
var/obj/item/weapon/nullrod/N = locate() in T
|
||||
if(N)
|
||||
for(var/mob/O in viewers(T, null))
|
||||
O.show_message(text("\red <B>[] invokes a talisman at [], but they are unaffected!</B>", usr, T), 1)
|
||||
O.show_message("<span class='danger'>\The [usr] invokes a talisman at [T], but they are unaffected!</span>", 1)
|
||||
else
|
||||
for(var/mob/O in viewers(T, null))
|
||||
O.show_message(text("\red <B>[] invokes a talisman at []</B>", usr, T), 1)
|
||||
O.show_message("<span class='danger'>\The [usr] invokes a talisman at [T]</span>", 1)
|
||||
|
||||
if(issilicon(T))
|
||||
T.Weaken(15)
|
||||
@@ -1072,8 +1072,8 @@ var/list/sacrificed = list()
|
||||
usr.say("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!")
|
||||
else
|
||||
usr.whisper("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!")
|
||||
usr.visible_message("\red The rune disappears with a flash of red light, and a set of armor appears on [usr]...", \
|
||||
"\red You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.")
|
||||
usr.visible_message("<span class='warning'>The rune disappears with a flash of red light, and a set of armor appears on [usr]...</span>", \
|
||||
"<span class='warning'>You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.</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)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
attack_self(mob/living/user as mob)
|
||||
if(iscultist(user))
|
||||
var/delete = 1
|
||||
// who the hell thought this was a good idea :(
|
||||
switch(imbue)
|
||||
if("newtome")
|
||||
call(/obj/effect/rune/proc/tomesummon)()
|
||||
@@ -28,7 +29,7 @@
|
||||
if("blind")
|
||||
call(/obj/effect/rune/proc/blind)()
|
||||
if("runestun")
|
||||
user << "\red To use this talisman, attack your target directly."
|
||||
user << "<span class='warning'>To use this talisman, attack your target directly.</span>"
|
||||
return
|
||||
if("supply")
|
||||
supply()
|
||||
@@ -114,4 +115,4 @@
|
||||
|
||||
/obj/item/weapon/paper/talisman/supply
|
||||
imbue = "supply"
|
||||
uses = 5
|
||||
uses = 5
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
var/extra_law = "Crew authorized to know of pathogen [virus_name]'s existence are: Heads of command. Do not allow unauthorized personnel to gain knowledge of [virus_name]. Aid authorized personnel in quarantining and neutrlizing the outbreak. This law overrides all other laws."
|
||||
for(var/mob/living/silicon/ai/M in world)
|
||||
M.add_ion_law(extra_law)
|
||||
M << "\red " + extra_law
|
||||
M << "<span class='danger'>[extra_law]</span>"
|
||||
|
||||
/datum/game_mode/epidemic/proc/announce_to_kill_crew()
|
||||
var/intercepttext = "<FONT size = 3 color='red'><B>CONFIDENTIAL REPORT</FONT><HR>"
|
||||
@@ -91,8 +91,8 @@
|
||||
crew += H
|
||||
|
||||
if(crew.len < 2)
|
||||
world << "\red There aren't enough players for this mode!"
|
||||
world << "\red Rebooting world in 5 seconds."
|
||||
world << "<span class='danger'>There aren't enough players for this mode!</span>"
|
||||
world << "<span class='danger'>Rebooting world in 5 seconds.</span>"
|
||||
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
@@ -182,10 +182,10 @@
|
||||
for(var/mob/M in world)
|
||||
if(M.client)
|
||||
M << 'sound/machines/Alarm.ogg'
|
||||
world << "\blue<b>Incoming missile detected.. Impact in 10..</b>"
|
||||
world << "<span class='notice'><b>Incoming missile detected.. Impact in 10..</b></span>"
|
||||
for (var/i=9 to 1 step -1)
|
||||
sleep(10)
|
||||
world << "\blue<b>[i]..</b>"
|
||||
world << "<span class='notice'><b>[i]..</b></span>"
|
||||
sleep(10)
|
||||
enter_allowed = 0
|
||||
if(ticker)
|
||||
@@ -203,9 +203,9 @@
|
||||
/datum/game_mode/epidemic/declare_completion()
|
||||
if(finished == 1)
|
||||
feedback_set_details("round_end_result","win - epidemic cured")
|
||||
world << "\red <FONT size = 3><B> The virus outbreak was contained! The crew wins!</B></FONT>"
|
||||
world << "<font size = 3><span class='danger'> The virus outbreak was contained! The crew wins!</span></font>"
|
||||
else if(finished == 2)
|
||||
feedback_set_details("round_end_result","loss - rev heads killed")
|
||||
world << "\red <FONT size = 3><B> The crew succumbed to the epidemic!</B></FONT>"
|
||||
world << "<font size = 3><span class='danger'> The crew succumbed to the epidemic!</span></font>"
|
||||
..()
|
||||
return 1
|
||||
return 1
|
||||
|
||||
@@ -351,72 +351,72 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
|
||||
switch(rand(1,14))
|
||||
if(1)
|
||||
M << "<br>"
|
||||
M << "\red THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED"
|
||||
M << "<span class='danger'>THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THERE ARE [amount] [who2] ON THE STATION")
|
||||
if(2)
|
||||
M << "<br>"
|
||||
M << "\red [what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED"
|
||||
M << "<span class='danger'>[what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[what2] ARE DANGEROUS TO HUMANS")
|
||||
if(3)
|
||||
M << "<br>"
|
||||
M << "\red THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED"
|
||||
M << "<span class='danger'>THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE ESCAPE SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION")
|
||||
if(4)
|
||||
M << "<br>"
|
||||
M << "\red HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED"
|
||||
M << "<span class='danger'>HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE")
|
||||
if(5)
|
||||
M << "<br>"
|
||||
M << "\red THE CAPTAIN, HOP AND HOS ARE [who2]...LAWS UPDATED"
|
||||
M << "<span class='danger'>THE CAPTAIN, HOP AND HOS ARE [who2]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE CAPTAIN, HOP AND HOS ARE [who2]")
|
||||
if(6)
|
||||
M << "<br>"
|
||||
M << "\red THE STATION IS BUILT FOR [who2]...LAWS UPDATED"
|
||||
M << "<span class='danger'>THE STATION IS BUILT FOR [who2]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE STATION IS BUILT FOR [who2]")
|
||||
if(7)
|
||||
M << "<br>"
|
||||
M << "\red YOU ARE [amount] [who2]...LAWS UPDATED"
|
||||
M << "<span class='danger'>YOU ARE [amount] [who2]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("YOU ARE [amount] [who2]")
|
||||
if(8)
|
||||
M << "<br>"
|
||||
M << "\red YOU MUST ALWAYS [aimust]...LAWS UPDATED"
|
||||
M << "<span class='danger'>YOU MUST ALWAYS [aimust]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("YOU MUST ALWAYS [aimust]")
|
||||
if(9)
|
||||
M << "<br>"
|
||||
M << "\red [area] [area2] [amount] [what2]...LAWS UPDATED"
|
||||
M << "<span class='danger'>[area] [area2] [amount] [what2]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[area] [area2] [amount] [what2]")
|
||||
if(10)
|
||||
M << "<br>"
|
||||
M << "\red [crew] is [target]...LAWS UPDATED"
|
||||
M << "<span class='danger'>[crew] is [target]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[crew] is [target]")
|
||||
if(11)
|
||||
M << "<br>"
|
||||
M << "\red [define] IS A FORM OF HARM...LAWS UPDATED"
|
||||
M << "<span class='danger'>[define] IS A FORM OF HARM...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[define] IS A FORM OF HARM")
|
||||
if(12)
|
||||
M << "<br>"
|
||||
M << "\red YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED"
|
||||
M << "<span class='danger'>YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS")
|
||||
if(13)
|
||||
M << "<br>"
|
||||
M << "\red [crew] is [allergysev] to [allergy]...LAWS UPDATED"
|
||||
M << "<span class='danger'>[crew] is [allergysev] to [allergy]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[crew] is [allergysev] to [allergy]")
|
||||
if(14)
|
||||
M << "<br>"
|
||||
M << "\red THE STATION IS [who2pref] [who2]...LAWS UPDATED"
|
||||
M << "<span class='danger'>THE STATION IS [who2pref] [who2]...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE STATION IS [who2pref] [who2]")
|
||||
|
||||
@@ -468,4 +468,4 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
|
||||
|
||||
world << "Ion Storm Main Done"
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -133,7 +133,7 @@ var/global/Holiday = null
|
||||
world.update_status()
|
||||
Holiday_Game_Start()
|
||||
|
||||
message_admins("\blue ADMIN: Event: [key_name(src)] force-set Holiday to \"[Holiday]\"")
|
||||
message_admins("<span class='notice'>ADMIN: Event: [key_name(src)] force-set Holiday to \"[Holiday]\"</span>")
|
||||
log_admin("[key_name(src)] force-set Holiday to \"[Holiday]\"")
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ var/global/Holiday = null
|
||||
if(isNotStationLevel(S.z)) continue
|
||||
containers += S
|
||||
|
||||
message_admins("\blue DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])")*/
|
||||
message_admins("<span class='notice'>DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])</span>")*/
|
||||
if("End of the World")
|
||||
if(prob(eventchance)) GameOver()
|
||||
|
||||
|
||||
@@ -640,7 +640,7 @@ var/global/list/additional_antag_types = list()
|
||||
//Reports player logouts//
|
||||
//////////////////////////
|
||||
proc/display_roundstart_logout_report()
|
||||
var/msg = "\blue <b>Roundstart logout report\n\n"
|
||||
var/msg = "<span class='notice'><b>Roundstart logout report</b>\n\n"
|
||||
for(var/mob/living/L in mob_list)
|
||||
|
||||
if(L.ckey)
|
||||
@@ -685,6 +685,8 @@ proc/display_roundstart_logout_report()
|
||||
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<font color='red'><b>Ghosted</b></font>)\n"
|
||||
continue //Ghosted while alive
|
||||
|
||||
msg += "</span>" // close the <span class='notice'> from right at the top
|
||||
|
||||
for(var/mob/M in mob_list)
|
||||
if(M.client && M.client.holder)
|
||||
M << msg
|
||||
|
||||
@@ -327,11 +327,11 @@ var/global/datum/controller/gameticker/ticker
|
||||
if (mode.station_was_nuked)
|
||||
feedback_set_details("end_proper","nuke")
|
||||
if(!delay_end)
|
||||
world << "\blue <B>Rebooting due to destruction of station in [restart_timeout/10] seconds</B>"
|
||||
world << "<span class='notice'><b>Rebooting due to destruction of station in [restart_timeout/10] seconds</b></span>"
|
||||
else
|
||||
feedback_set_details("end_proper","proper completion")
|
||||
if(!delay_end)
|
||||
world << "\blue <B>Restarting in [restart_timeout/10] seconds</B>"
|
||||
world << "<span class='notice'><b>Restarting in [restart_timeout/10] seconds</b></span>"
|
||||
|
||||
|
||||
if(blackbox)
|
||||
@@ -342,9 +342,9 @@ var/global/datum/controller/gameticker/ticker
|
||||
if(!delay_end)
|
||||
world.Reboot()
|
||||
else
|
||||
world << "\blue <B>An admin has delayed the round end</B>"
|
||||
world << "<span class='notice><b>An admin has delayed the round end</b></span>"
|
||||
else
|
||||
world << "\blue <B>An admin has delayed the round end</B>"
|
||||
world << "<span class='notice'><b>An admin has delayed the round end</b></span>"
|
||||
|
||||
else if (mode_finished)
|
||||
post_game = 1
|
||||
@@ -354,7 +354,7 @@ var/global/datum/controller/gameticker/ticker
|
||||
//call a transfer shuttle vote
|
||||
spawn(50)
|
||||
if(!round_end_announced) // Spam Prevention. Now it should announce only once.
|
||||
world << "\red The round has ended!"
|
||||
world << "<span class='danger'>The round has ended!</span>"
|
||||
round_end_announced = 1
|
||||
vote.autotransfer()
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ rcd light flash thingy on matter drain
|
||||
for(var/mob/living/silicon/ai/ai in player_list)
|
||||
ai.fire_res_on_core = 1
|
||||
usr.verbs -= /client/proc/fireproof_core
|
||||
usr << "\red Core fireproofed."
|
||||
usr << "<span class='warning'>Core fireproofed.</span>"
|
||||
|
||||
/datum/AI_Module/large/upgrade_turrets
|
||||
module_name = "AI Turret upgrade"
|
||||
@@ -86,7 +86,7 @@ rcd light flash thingy on matter drain
|
||||
if(overload.uses > 0)
|
||||
overload.uses --
|
||||
for(var/mob/V in hearers(M, null))
|
||||
V.show_message("\blue You hear a loud electrical buzzing sound!", 2)
|
||||
V.show_message("<span class='warning'>You hear a loud electrical buzzing sound!</span>", 2)
|
||||
spawn(50)
|
||||
explosion(get_turf(M), 0,1,2,3)
|
||||
qdel(M)
|
||||
@@ -125,7 +125,7 @@ rcd light flash thingy on matter drain
|
||||
C.status = !C.status
|
||||
camera.uses --
|
||||
for(var/mob/V in viewers(src, null))
|
||||
V.show_message(text("\blue You hear a quiet click."))
|
||||
V.show_message(text("<span class='notice'>You hear a quiet click.</span>"))
|
||||
else
|
||||
usr << "This camera is either active, or not repairable."
|
||||
else usr << "Out of uses."
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
/datum/game_mode/proc/greet_meme(var/datum/mind/meme, var/you_are=1)
|
||||
if (you_are)
|
||||
meme.current << "<B>\red You are a meme!</B>"
|
||||
meme.current << "<span class='danger'>You are a meme!</span>"
|
||||
show_objectives(meme)
|
||||
return
|
||||
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
if(!active)
|
||||
active = 1
|
||||
workdisk()
|
||||
usr << "\blue You activate the pinpointer"
|
||||
usr << "<span class='notice'>You activate the pinpointer</span>"
|
||||
else
|
||||
active = 0
|
||||
icon_state = "pinoff"
|
||||
usr << "\blue You deactivate the pinpointer"
|
||||
usr << "<span>You deactivate the pinpointer</span>"
|
||||
|
||||
proc/workdisk()
|
||||
if(!active) return
|
||||
@@ -69,11 +69,11 @@
|
||||
worklocation()
|
||||
if(mode == 2)
|
||||
workobj()
|
||||
usr << "\blue You activate the pinpointer"
|
||||
usr << "<span class='notice'>You activate the pinpointer</span>"
|
||||
else
|
||||
active = 0
|
||||
icon_state = "pinoff"
|
||||
usr << "\blue You deactivate the pinpointer"
|
||||
usr << "<span class='notice'>You deactivate the pinpointer</span>"
|
||||
|
||||
|
||||
proc/worklocation()
|
||||
@@ -262,4 +262,4 @@
|
||||
if(16 to INFINITY)
|
||||
icon_state = "pinonfar"
|
||||
|
||||
spawn(5) .()
|
||||
spawn(5) .()
|
||||
|
||||
@@ -17,7 +17,7 @@ var/global/datum/controller/occupations/job_master
|
||||
occupations = list()
|
||||
var/list/all_jobs = typesof(/datum/job)
|
||||
if(!all_jobs.len)
|
||||
world << "\red \b Error setting up jobs, no job datums found"
|
||||
world << "<span class='warning'>Error setting up jobs, no job datums found!</span>"
|
||||
return 0
|
||||
for(var/J in all_jobs)
|
||||
var/datum/job/job = new J()
|
||||
@@ -376,7 +376,7 @@ var/global/datum/controller/occupations/job_master
|
||||
permitted = 0
|
||||
|
||||
if(!permitted)
|
||||
H << "\red Your current job or whitelist status does not permit you to spawn with [thing]!"
|
||||
H << "<span class='warning'>Your current job or whitelist status does not permit you to spawn with [thing]!</span>"
|
||||
continue
|
||||
|
||||
if(G.slot && !(G.slot in custom_equip_slots))
|
||||
@@ -385,7 +385,7 @@ var/global/datum/controller/occupations/job_master
|
||||
if(G.slot == slot_wear_mask || G.slot == slot_wear_suit || G.slot == slot_head)
|
||||
custom_equip_leftovers += thing
|
||||
else if(H.equip_to_slot_or_del(new G.path(H), G.slot))
|
||||
H << "\blue Equipping you with [thing]!"
|
||||
H << "<span class='notice'>Equipping you with [thing]!</span>"
|
||||
custom_equip_slots.Add(G.slot)
|
||||
else
|
||||
custom_equip_leftovers.Add(thing)
|
||||
@@ -403,7 +403,7 @@ var/global/datum/controller/occupations/job_master
|
||||
spawn_in_storage += thing
|
||||
else
|
||||
if(H.equip_to_slot_or_del(new G.path(H), G.slot))
|
||||
H << "\blue Equipping you with [thing]!"
|
||||
H << "<span class='notice'>Equipping you with [thing]!</span>"
|
||||
custom_equip_slots.Add(G.slot)
|
||||
else
|
||||
spawn_in_storage += thing
|
||||
@@ -456,7 +456,7 @@ var/global/datum/controller/occupations/job_master
|
||||
H.mind.store_memory(remembered_info)
|
||||
|
||||
spawn(0)
|
||||
H << "\blue<b>Your account number is: [M.account_number], your account pin is: [M.remote_access_pin]</b>"
|
||||
H << "<span class='notice'><b>Your account number is: [M.account_number], your account pin is: [M.remote_access_pin]</b></span>"
|
||||
|
||||
var/alt_title = null
|
||||
if(H.mind)
|
||||
@@ -495,11 +495,11 @@ var/global/datum/controller/occupations/job_master
|
||||
|
||||
if(!isnull(B))
|
||||
for(var/thing in spawn_in_storage)
|
||||
H << "\blue Placing [thing] in your [B]!"
|
||||
H << "<span class='notice'>Placing [thing] in your [B]!</span>"
|
||||
var/datum/gear/G = gear_datums[thing]
|
||||
new G.path(B)
|
||||
else
|
||||
H << "\red Failed to locate a storage object on your mob, either you spawned with no arms and no backpack or this is a bug."
|
||||
H << "<span class='danger'>Failed to locate a storage object on your mob, either you spawned with no arms and no backpack or this is a bug.</span>"
|
||||
|
||||
if(istype(H)) //give humans wheelchairs, if they need them.
|
||||
var/obj/item/organ/external/l_foot = H.get_organ("l_foot")
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
target:attackby(src,src.occupant)
|
||||
else if(prob(5))
|
||||
target:dismantle_wall(1)
|
||||
src.occupant_message("\blue You smash through the wall.")
|
||||
src.occupant_message("<span class='notice'>You smash through the wall.</span>")
|
||||
src.visible_message("<b>[src.name] smashes through the wall</b>")
|
||||
playsound(src, 'sound/weapons/smash.ogg', 50, 1)
|
||||
melee_can_hit = 0
|
||||
@@ -271,4 +271,4 @@
|
||||
occupant_message("From the lies of the Antipath, Circuit preserve us.")
|
||||
am = null
|
||||
return
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
desc = "This is an upgraded version of the drill that'll pierce the heavens! (Can be attached to: Combat and Engineering Exosuits)"
|
||||
icon_state = "mecha_diamond_drill"
|
||||
origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINERING = 3)
|
||||
construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"diamond"=6500)
|
||||
construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"diamond"=6500)
|
||||
equip_cooldown = 20
|
||||
force = 15
|
||||
|
||||
@@ -535,11 +535,11 @@
|
||||
return chassis.dynattackby(W,user)
|
||||
chassis.log_message("Attacked by [W]. Attacker - [user]")
|
||||
if(prob(chassis.deflect_chance*deflect_coeff))
|
||||
user << "\red The [W] bounces off [chassis] armor."
|
||||
user << "<span class='danger'>\The [W] bounces off [chassis] armor.</span>"
|
||||
chassis.log_append_to_last("Armor saved.")
|
||||
else
|
||||
chassis.occupant_message("<span class='danger'>[user] hits [chassis] with [W].</span>")
|
||||
user.visible_message("<span class='danger'><b>[user] hits [chassis] with [W].</span>", "<span class='danger'>You hit [src] with [W].</span>")
|
||||
chassis.occupant_message("<span class='danger'>\The [user] hits [chassis] with [W].</span>")
|
||||
user.visible_message("<span class='danger'>\The [user] hits [chassis] with [W].</span>", "<span class='danger'>You hit [src] with [W].</span>")
|
||||
chassis.take_damage(round(W.force*damage_coeff),W.damtype)
|
||||
chassis.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
|
||||
set_ready_state(0)
|
||||
@@ -974,7 +974,7 @@
|
||||
desc = "Generates power using uranium. Pollutes the environment."
|
||||
icon_state = "tesla"
|
||||
origin_tech = list(TECH_POWER = 3, TECH_ENGINERING = 3)
|
||||
construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"silver"=500,"glass"=1000)
|
||||
construction_cost = list(DEFAULT_WALL_MATERIAL=10000,"silver"=500,"glass"=1000)
|
||||
max_fuel = 50000
|
||||
fuel_per_cycle_idle = 10
|
||||
fuel_per_cycle_active = 30
|
||||
@@ -1071,8 +1071,8 @@
|
||||
icon_state = "mecha_abooster_ccw"
|
||||
origin_tech = list(TECH_ENGINERING = 1, TECH_BIO = 1)
|
||||
energy_drain = 10
|
||||
range = MELEE
|
||||
construction_cost = list(DEFAULT_WALL_MATERIAL=5000,"glass"=5000)
|
||||
range = MELEE
|
||||
construction_cost = list(DEFAULT_WALL_MATERIAL=5000,"glass"=5000)
|
||||
equip_cooldown = 20
|
||||
var/mob/living/carbon/occupant = null
|
||||
var/door_locked = 1
|
||||
|
||||
@@ -768,7 +768,7 @@
|
||||
qdel(src)
|
||||
return 1
|
||||
else
|
||||
user << "\red You can't load the [src.name] while it's opened."
|
||||
user << "<span class='warning'>You can't load the [src.name] while it's opened.</span>"
|
||||
return 1
|
||||
|
||||
if(istype(W, /obj/item/weapon/card/emag))
|
||||
|
||||
+36
-36
@@ -514,16 +514,16 @@
|
||||
src.take_damage(15)
|
||||
src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
|
||||
playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1)
|
||||
user << "\red You slash at the armored suit!"
|
||||
visible_message("\red The [user] slashes at [src.name]'s armor!")
|
||||
user << "<span class='danger'>You slash at the armored suit!</span>"
|
||||
visible_message("<span class='danger'>\The [user] slashes at [src.name]'s armor!</span>")
|
||||
else
|
||||
src.log_append_to_last("Armor saved.")
|
||||
playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1)
|
||||
user << "\green Your claws had no effect!"
|
||||
src.occupant_message("\blue The [user]'s claws are stopped by the armor.")
|
||||
visible_message("\blue The [user] rebounds off [src.name]'s armor!")
|
||||
user << "<span class='danger'>Your claws had no effect!</span>"
|
||||
src.occupant_message("<span class='notice'>\The [user]'s claws are stopped by the armor.</span>")
|
||||
visible_message("<span class='warning'>\The [user] rebounds off [src.name]'s armor!</span>")
|
||||
else
|
||||
user.visible_message("<font color='red'><b>[user] hits [src.name]. Nothing happens</b></font>","<font color='red'><b>You hit [src.name] with no visible effect.</b></font>")
|
||||
user.visible_message("<span class='danger'>\The [user] hits \the [src]. Nothing happensm</span>","<span class='danger'>You hit \the [src] with no visible effect.</span>")
|
||||
src.log_append_to_last("Armor saved.")
|
||||
return
|
||||
else if ((HULK in user.mutations) && !prob(src.deflect_chance))
|
||||
@@ -547,8 +547,8 @@
|
||||
src.visible_message("The [A] fastens firmly to [src].")
|
||||
return
|
||||
if(prob(src.deflect_chance) || istype(A, /mob))
|
||||
src.occupant_message("\blue The [A] bounces off the armor.")
|
||||
src.visible_message("The [A] bounces off the [src.name] armor")
|
||||
src.occupant_message("<span class='notice'>\The [A] bounces off the armor.</span>")
|
||||
src.visible_message("\The [A] bounces off \the [src] armor")
|
||||
src.log_append_to_last("Armor saved.")
|
||||
if(istype(A, /mob/living))
|
||||
var/mob/living/M = A
|
||||
@@ -569,7 +569,7 @@
|
||||
|
||||
/obj/mecha/proc/dynbulletdamage(var/obj/item/projectile/Proj)
|
||||
if(prob(src.deflect_chance))
|
||||
src.occupant_message("\blue The armor deflects incoming projectile.")
|
||||
src.occupant_message("<span class='notice'>The armor deflects incoming projectile.</span>")
|
||||
src.visible_message("The [src.name] armor deflects the projectile")
|
||||
src.log_append_to_last("Armor saved.")
|
||||
return
|
||||
@@ -633,18 +633,18 @@
|
||||
src.take_damage(6)
|
||||
src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
|
||||
playsound(src.loc, 'sound/effects/blobattack.ogg', 50, 1, -1)
|
||||
user << "\red You smash at the armored suit!"
|
||||
user << "<span class='danger'>You smash at the armored suit!</span>"
|
||||
for (var/mob/V in viewers(src))
|
||||
if(V.client && !(V.blinded))
|
||||
V.show_message("\red The [user] smashes against [src.name]'s armor!", 1)
|
||||
V.show_message("<span class='danger'>\The [user] smashes against [src.name]'s armor!</span>", 1)
|
||||
else
|
||||
src.log_append_to_last("Armor saved.")
|
||||
playsound(src.loc, 'sound/effects/blobattack.ogg', 50, 1, -1)
|
||||
user << "\green Your attack had no effect!"
|
||||
src.occupant_message("\blue The [user]'s attack is stopped by the armor.")
|
||||
user << "<span class='warning'>Your attack had no effect!</span>"
|
||||
src.occupant_message("<span class='warning'>\The [user]'s attack is stopped by the armor.</span>")
|
||||
for (var/mob/V in viewers(src))
|
||||
if(V.client && !(V.blinded))
|
||||
V.show_message("\blue The [user] rebounds off the [src.name] armor!", 1)
|
||||
V.show_message("<span class='warning'>\The [user] rebounds off the [src.name] armor!</span>", 1)
|
||||
return
|
||||
*/
|
||||
|
||||
@@ -670,7 +670,7 @@
|
||||
/obj/mecha/proc/dynattackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
src.log_message("Attacked by [W]. Attacker - [user]")
|
||||
if(prob(src.deflect_chance))
|
||||
user << "\red \The [W] bounces off [src.name]."
|
||||
user << "<span class='danger'>\The [W] bounces off [src.name].</span>"
|
||||
src.log_append_to_last("Armor saved.")
|
||||
/*
|
||||
for (var/mob/V in viewers(src))
|
||||
@@ -720,9 +720,9 @@
|
||||
output_maintenance_dialog(id_card, user)
|
||||
return
|
||||
else
|
||||
user << "\red Invalid ID: Access denied."
|
||||
user << "<span class='warning'>Invalid ID: Access denied.</span>"
|
||||
else
|
||||
user << "\red Maintenance protocols disabled by operator."
|
||||
user << "<span class='warning'>Maintenance protocols disabled by operator.</span>"
|
||||
else if(istype(W, /obj/item/weapon/wrench))
|
||||
if(state==1)
|
||||
state = 2
|
||||
@@ -792,11 +792,11 @@
|
||||
if (WT.remove_fuel(0,user))
|
||||
if (hasInternalDamage(MECHA_INT_TANK_BREACH))
|
||||
clearInternalDamage(MECHA_INT_TANK_BREACH)
|
||||
user << "\blue You repair the damaged gas tank."
|
||||
user << "<span class='notice'>You repair the damaged gas tank.</span>"
|
||||
else
|
||||
return
|
||||
if(src.health<initial(src.health))
|
||||
user << "\blue You repair some damage to [src.name]."
|
||||
user << "<span class='notice'>You repair some damage to [src.name].</span>"
|
||||
src.health += min(10, initial(src.health)-src.health)
|
||||
else
|
||||
user << "The [src.name] is at full integrity"
|
||||
@@ -813,7 +813,7 @@
|
||||
/*
|
||||
src.log_message("Attacked by [W]. Attacker - [user]")
|
||||
if(prob(src.deflect_chance))
|
||||
user << "\red The [W] bounces off [src.name] armor."
|
||||
user << "<span class='warning'>\The [W] bounces off [src.name] armor.</span>"
|
||||
src.log_append_to_last("Armor saved.")
|
||||
/*
|
||||
for (var/mob/V in viewers(src))
|
||||
@@ -937,12 +937,12 @@
|
||||
var/obj/machinery/atmospherics/portables_connector/possible_port = locate(/obj/machinery/atmospherics/portables_connector/) in loc
|
||||
if(possible_port)
|
||||
if(connect(possible_port))
|
||||
src.occupant_message("\blue [name] connects to the port.")
|
||||
src.occupant_message("<span class='notice'>\The [name] connects to the port.</span>")
|
||||
src.verbs += /obj/mecha/verb/disconnect_from_port
|
||||
src.verbs -= /obj/mecha/verb/connect_to_port
|
||||
return
|
||||
else
|
||||
src.occupant_message("\red [name] failed to connect to the port.")
|
||||
src.occupant_message("<span class='danger'>\The [name] failed to connect to the port.</span>")
|
||||
return
|
||||
else
|
||||
src.occupant_message("Nothing happens")
|
||||
@@ -957,11 +957,11 @@
|
||||
if(usr!=src.occupant)
|
||||
return
|
||||
if(disconnect())
|
||||
src.occupant_message("\blue [name] disconnects from the port.")
|
||||
src.occupant_message("<span class='notice'>[name] disconnects from the port.</span>")
|
||||
src.verbs -= /obj/mecha/verb/disconnect_from_port
|
||||
src.verbs += /obj/mecha/verb/connect_to_port
|
||||
else
|
||||
src.occupant_message("\red [name] is not connected to the port at the moment.")
|
||||
src.occupant_message("<span class='danger'>[name] is not connected to the port at the moment.</span>")
|
||||
|
||||
/obj/mecha/verb/toggle_lights()
|
||||
set name = "Toggle Lights"
|
||||
@@ -1001,15 +1001,15 @@
|
||||
if(iscarbon(usr))
|
||||
var/mob/living/carbon/C = usr
|
||||
if(C.handcuffed)
|
||||
usr << "\red Kinda hard to climb in while handcuffed don't you think?"
|
||||
usr << "<span class='danger'>Kinda hard to climb in while handcuffed don't you think?</span>"
|
||||
return
|
||||
if (src.occupant)
|
||||
usr << "\blue <B>The [src.name] is already occupied!</B>"
|
||||
usr << "<span class='danger'>The [src.name] is already occupied!</span>"
|
||||
src.log_append_to_last("Permission denied.")
|
||||
return
|
||||
/*
|
||||
if (usr.abiotic())
|
||||
usr << "\blue <B>Subject cannot have abiotic items on.</B>"
|
||||
usr << "<span class='notice'>Subject cannot have abiotic items on.</span>"
|
||||
return
|
||||
*/
|
||||
var/passed
|
||||
@@ -1019,7 +1019,7 @@
|
||||
else if(src.operation_allowed(usr))
|
||||
passed = 1
|
||||
if(!passed)
|
||||
usr << "\red Access denied"
|
||||
usr << "<span class='warning'>Access denied</span>"
|
||||
src.log_append_to_last("Permission denied.")
|
||||
return
|
||||
for(var/mob/living/carbon/slime/M in range(1,usr))
|
||||
@@ -1028,7 +1028,7 @@
|
||||
return
|
||||
// usr << "You start climbing into [src.name]"
|
||||
|
||||
visible_message("\blue [usr] starts to climb into [src.name]")
|
||||
visible_message("<span class='notice'>\The [usr] starts to climb into [src.name]</span>")
|
||||
|
||||
if(enter_after(40,usr))
|
||||
if(!src.occupant)
|
||||
@@ -1077,7 +1077,7 @@
|
||||
//Added a message here since people assume their first click failed or something./N
|
||||
// user << "Installing MMI, please stand by."
|
||||
|
||||
visible_message("\blue [usr] starts to insert an MMI into [src.name]")
|
||||
visible_message("<span class='notice'>[usr] starts to insert an MMI into [src.name]</span>")
|
||||
|
||||
if(enter_after(40,user))
|
||||
if(!occupant)
|
||||
@@ -1595,7 +1595,7 @@
|
||||
passengers["[P.occupant]"] = P
|
||||
|
||||
if (!passengers)
|
||||
user << "\red There are no passengers to remove."
|
||||
user << "<span class='warning'>There are no passengers to remove.</span>"
|
||||
return
|
||||
|
||||
var/pname = input(user, "Choose a passenger to forcibly remove.", "Forcibly Remove Passenger") as null|anything in passengers
|
||||
@@ -1606,11 +1606,11 @@
|
||||
var/obj/item/mecha_parts/mecha_equipment/tool/passenger/P = passengers[pname]
|
||||
var/mob/occupant = P.occupant
|
||||
|
||||
user.visible_message("\red [user] begins opening the hatch on \the [P]...", "\red You begin opening the hatch on \the [P]...")
|
||||
user.visible_message("<span class='notice'>\The [user] begins opening the hatch on \the [P]...</span>", "<span class='notice'>You begin opening the hatch on \the [P]...</span>")
|
||||
if (!do_after(user, 40, needhand=0))
|
||||
return
|
||||
|
||||
user.visible_message("\red [user] opens the hatch on \the [P] and removes [occupant]!", "\red You open the hatch on \the [P] and remove [occupant]!")
|
||||
user.visible_message("<span class='notice'>\The [user] opens the hatch on \the [P] and removes [occupant]!</span>", "<span class='notice'>You open the hatch on \the [P] and remove [occupant]!</span>")
|
||||
P.go_out()
|
||||
P.log_message("[occupant] was removed.")
|
||||
return
|
||||
@@ -1763,13 +1763,13 @@
|
||||
if(!prob(src.deflect_chance))
|
||||
src.take_damage(damage)
|
||||
src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
|
||||
visible_message("\red <B>[user]</B> [attack_message] [src]!")
|
||||
visible_message("<span class='danger'>[user] [attack_message] [src]!</span>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>attacked [src.name]</font>")
|
||||
else
|
||||
src.log_append_to_last("Armor saved.")
|
||||
playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1)
|
||||
src.occupant_message("\blue The [user]'s attack is stopped by the armor.")
|
||||
visible_message("\blue The [user] rebounds off [src.name]'s armor!")
|
||||
src.occupant_message("<span class='notice'>\The [user]'s attack is stopped by the armor.</span>")
|
||||
visible_message("<span class='notice'>\The [user] rebounds off [src.name]'s armor!</span>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>attacked [src.name]</font>")
|
||||
return 1
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
else
|
||||
user << "You failed to salvage anything valuable from [src]."
|
||||
else
|
||||
user << "\blue You need more welding fuel to complete this task."
|
||||
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/wirecutters))
|
||||
if(salvage_num <= 0)
|
||||
@@ -200,4 +200,4 @@
|
||||
|
||||
/obj/effect/decal/mecha_wreckage/hoverpod
|
||||
name = "Hover pod wreckage"
|
||||
icon_state = "engineering_pod-broken"
|
||||
icon_state = "engineering_pod-broken"
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
if (href_list["toggle_stabilization"])
|
||||
stabilization_enabled = !stabilization_enabled
|
||||
send_byjax(src.occupant,"exosuit.browser","stabilization_command","[stabilization_enabled?"Dis":"En"]able thruster stabilization")
|
||||
src.occupant_message("\blue Thruster stabilization [stabilization_enabled? "enabled" : "disabled"].")
|
||||
src.occupant_message("<span class='notice'>Thruster stabilization [stabilization_enabled? "enabled" : "disabled"].</span>")
|
||||
return
|
||||
|
||||
/obj/mecha/working/hoverpod/get_commands()
|
||||
@@ -99,4 +99,4 @@
|
||||
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger
|
||||
ME.attach(src)
|
||||
ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger
|
||||
ME.attach(src)
|
||||
ME.attach(src)
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
if(href_list["drop_from_cargo"])
|
||||
var/obj/O = locate(href_list["drop_from_cargo"])
|
||||
if(O && O in src.cargo)
|
||||
src.occupant_message("\blue You unload [O].")
|
||||
src.occupant_message("<span class='notice'>You unload [O].</span>")
|
||||
O.loc = get_turf(src)
|
||||
src.cargo -= O
|
||||
var/turf/T = get_turf(O)
|
||||
@@ -57,4 +57,4 @@
|
||||
return output
|
||||
|
||||
/obj/mecha/working/range_action(atom/target as obj|mob|turf)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -12,16 +12,16 @@ var/can_call_ert
|
||||
set desc = "Send an emergency response team to the station"
|
||||
|
||||
if(!holder)
|
||||
usr << "\red Only administrators may use this command."
|
||||
usr << "<span class='danger'>Only administrators may use this command.</span>"
|
||||
return
|
||||
if(!ticker)
|
||||
usr << "\red The game hasn't started yet!"
|
||||
usr << "<span class='danger'>The game hasn't started yet!</span>"
|
||||
return
|
||||
if(ticker.current_state == 1)
|
||||
usr << "\red The round hasn't started yet!"
|
||||
usr << "<span class='danger'>The round hasn't started yet!</span>"
|
||||
return
|
||||
if(send_emergency_team)
|
||||
usr << "\red Central Command has already dispatched an emergency response team!"
|
||||
usr << "<span class='danger'>Central Command has already dispatched an emergency response team!</span>"
|
||||
return
|
||||
if(alert("Do you want to dispatch an Emergency Response Team?",,"Yes","No") != "Yes")
|
||||
return
|
||||
@@ -30,7 +30,7 @@ var/can_call_ert
|
||||
if("No")
|
||||
return
|
||||
if(send_emergency_team)
|
||||
usr << "\red Looks like somebody beat you to it!"
|
||||
usr << "<span class='danger'>Looks like somebody beat you to it!</span>"
|
||||
return
|
||||
|
||||
message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team.", 1)
|
||||
@@ -40,9 +40,9 @@ var/can_call_ert
|
||||
client/verb/JoinResponseTeam()
|
||||
set category = "IC"
|
||||
|
||||
if(!MayRespawn(1))
|
||||
return
|
||||
|
||||
if(!MayRespawn(1))
|
||||
return
|
||||
|
||||
if(istype(usr,/mob/dead/observer) || istype(usr,/mob/new_player))
|
||||
if(!send_emergency_team)
|
||||
usr << "No emergency response team is currently being sent."
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
/turf/simulated/Entered(atom/A, atom/OL)
|
||||
if(movement_disabled && usr.ckey != movement_disabled_exception)
|
||||
usr << "\red Movement is admin-disabled." //This is to identify lag problems
|
||||
usr << "<span class='danger'>Movement is admin-disabled.</span>" //This is to identify lag problems
|
||||
return
|
||||
|
||||
if (istype(A,/mob/living))
|
||||
|
||||
@@ -460,23 +460,23 @@ turf/simulated/floor/proc/update_icon()
|
||||
qdel(C)
|
||||
set_lightfloor_state(0) //fixing it by bashing it with a light bulb, fun eh?
|
||||
update_icon()
|
||||
user << "\blue You replace the light bulb."
|
||||
user << "<span class='notice'>You replace the light bulb.</span>"
|
||||
else
|
||||
user << "\blue The lightbulb seems fine, no need to replace it."
|
||||
user << "<span class='notice'>The lightbulb seems fine, no need to replace it.</span>"
|
||||
|
||||
if(istype(C, /obj/item/weapon/crowbar) && (!(is_plating())))
|
||||
if(broken || burnt)
|
||||
user << "\red You remove the broken plating."
|
||||
user << "<span class='notice'>You remove the broken plating.</span>"
|
||||
else
|
||||
if(is_wood_floor())
|
||||
user << "\red You forcefully pry off the planks, destroying them in the process."
|
||||
user << "<span class='danger'>You forcefully pry off the planks, destroying them in the process.</span>"
|
||||
else
|
||||
var/obj/item/I = new floor_type(src)
|
||||
if(is_light_floor())
|
||||
var/obj/item/stack/tile/light/L = I
|
||||
L.on = get_lightfloor_on()
|
||||
L.state = get_lightfloor_state()
|
||||
user << "\red You remove the [I.name]."
|
||||
user << "<span class='notice'>You remove the [I.name].</span>"
|
||||
|
||||
make_plating()
|
||||
playsound(src, 'sound/items/Crowbar.ogg', 80, 1)
|
||||
@@ -488,7 +488,7 @@ turf/simulated/floor/proc/update_icon()
|
||||
return
|
||||
else
|
||||
if(is_wood_floor())
|
||||
user << "\red You unscrew the planks."
|
||||
user << "<span class='notice'>You unscrew the planks.<span>"
|
||||
new floor_type(src)
|
||||
|
||||
make_plating()
|
||||
@@ -502,7 +502,7 @@ turf/simulated/floor/proc/update_icon()
|
||||
if (R.get_amount() < 2)
|
||||
user << "<span class='warning'>You need more rods.</span>"
|
||||
return
|
||||
user << "\blue Reinforcing the floor..."
|
||||
user << "<span class='notice'>Reinforcing the floor...</span>"
|
||||
if(do_after(user, 30) && is_plating())
|
||||
if (R.use(2))
|
||||
ChangeTurf(/turf/simulated/floor/engine)
|
||||
@@ -510,7 +510,7 @@ turf/simulated/floor/proc/update_icon()
|
||||
return
|
||||
else
|
||||
else
|
||||
user << "\red You must remove the plating first."
|
||||
user << "<span class='warning'>You must remove the plating first.</span>"
|
||||
return
|
||||
|
||||
if(istype(C, /obj/item/stack/tile))
|
||||
@@ -543,7 +543,7 @@ turf/simulated/floor/proc/update_icon()
|
||||
levelupdate()
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
else
|
||||
user << "\blue This section is too damaged to support a tile. Use a welder to fix the damage."
|
||||
user << "<span class='warning'>This section is too damaged to support a tile. Use a welder to fix the damage.</span>"
|
||||
|
||||
|
||||
if(istype(C, /obj/item/stack/cable_coil))
|
||||
@@ -551,29 +551,29 @@ turf/simulated/floor/proc/update_icon()
|
||||
var/obj/item/stack/cable_coil/coil = C
|
||||
coil.turf_place(src, user)
|
||||
else
|
||||
user << "\red You must remove the plating first."
|
||||
user << "<span class='warning'>You must remove the plating first.</span>"
|
||||
|
||||
if(istype(C, /obj/item/weapon/shovel))
|
||||
if(is_grass_floor())
|
||||
new /obj/item/weapon/ore/glass(src)
|
||||
new /obj/item/weapon/ore/glass(src) //Make some sand if you shovel grass
|
||||
user << "\blue You shovel the grass."
|
||||
user << "<span class='notice'>You shovel the grass.</span>"
|
||||
make_plating()
|
||||
else
|
||||
user << "\red You cannot shovel this."
|
||||
user << "<span class='warning'>You cannot shovel this.</span>"
|
||||
|
||||
if(istype(C, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/welder = C
|
||||
if(welder.isOn() && (is_plating()))
|
||||
if(broken || burnt)
|
||||
if(welder.remove_fuel(0,user))
|
||||
user << "\red You fix some dents on the broken plating."
|
||||
user << "<span class='notice'>You fix some dents on the broken plating.</span>"
|
||||
playsound(src, 'sound/items/Welder.ogg', 80, 1)
|
||||
icon_state = "plating"
|
||||
burnt = 0
|
||||
broken = 0
|
||||
else
|
||||
user << "\blue You need more welding fuel to complete this task."
|
||||
user << "<span class='warning'>You need more welding fuel to complete this task.</span>"
|
||||
|
||||
#undef LIGHTFLOOR_ON_BIT
|
||||
|
||||
@@ -581,4 +581,4 @@ turf/simulated/floor/proc/update_icon()
|
||||
#undef LIGHTFLOOR_STATE_FLICKER
|
||||
#undef LIGHTFLOOR_STATE_BREAKING
|
||||
#undef LIGHTFLOOR_STATE_BROKEN
|
||||
#undef LIGHTFLOOR_STATE_BITS
|
||||
#undef LIGHTFLOOR_STATE_BITS
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
if(!user)
|
||||
return
|
||||
if(istype(C, /obj/item/weapon/wrench))
|
||||
user << "\blue Removing rods..."
|
||||
user << "<span class='notice'>Removing rods...</span>"
|
||||
playsound(src, 'sound/items/Ratchet.ogg', 80, 1)
|
||||
if(do_after(user, 30))
|
||||
PoolOrNew(/obj/item/stack/rods, list(loc, 2))
|
||||
@@ -218,4 +218,4 @@
|
||||
icon_state = "snow"
|
||||
|
||||
/turf/simulated/floor/plating/snow/ex_act(severity)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
return
|
||||
var/obj/item/stack/rods/R = C
|
||||
if (R.use(1))
|
||||
user << "\blue Constructing support lattice ..."
|
||||
user << "<span class='notice'>Constructing support lattice ...</span>"
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
ReplaceWithLattice()
|
||||
return
|
||||
@@ -48,7 +48,7 @@
|
||||
S.use(1)
|
||||
return
|
||||
else
|
||||
user << "\red The plating is going to need some support."
|
||||
user << "<span class='warning'>The plating is going to need some support.</span>"
|
||||
return
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
/turf/space/Entered(atom/movable/A as mob|obj)
|
||||
if(movement_disabled)
|
||||
usr << "\red Movement is admin-disabled." //This is to identify lag problems
|
||||
usr << "<span class='warning'>Movement is admin-disabled.</span>" //This is to identify lag problems
|
||||
return
|
||||
..()
|
||||
if ((!(A) || src != A.loc)) return
|
||||
@@ -68,7 +68,7 @@
|
||||
// Okay, so let's make it so that people can travel z levels but not nuke disks!
|
||||
// if(ticker.mode.name == "mercenary") return
|
||||
if (A.x <= TRANSITIONEDGE || A.x >= (world.maxx - TRANSITIONEDGE - 1) || A.y <= TRANSITIONEDGE || A.y >= (world.maxy - TRANSITIONEDGE - 1))
|
||||
A.touch_map_edge()
|
||||
A.touch_map_edge()
|
||||
|
||||
/turf/space/proc/Sandbox_Spacemove(atom/movable/A as mob|obj)
|
||||
var/cur_x
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
/turf/Enter(atom/movable/mover as mob|obj, atom/forget as mob|obj|turf|area)
|
||||
if(movement_disabled && usr.ckey != movement_disabled_exception)
|
||||
usr << "\red Movement is admin-disabled." //This is to identify lag problems
|
||||
usr << "<span class='warning'>Movement is admin-disabled.</span>" //This is to identify lag problems
|
||||
return
|
||||
if (!mover || !isturf(mover.loc))
|
||||
return 1
|
||||
@@ -107,7 +107,7 @@
|
||||
|
||||
/turf/Entered(atom/atom as mob|obj)
|
||||
if(movement_disabled)
|
||||
usr << "\red Movement is admin-disabled." //This is to identify lag problems
|
||||
usr << "<span class='warning'>Movement is admin-disabled.</span>" //This is to identify lag problems
|
||||
return
|
||||
..()
|
||||
//vvvvv Infared beam stuff vvvvv
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
set category = "OOC"
|
||||
|
||||
if(say_disabled) //This is here to try to identify lag problems
|
||||
usr << "\red Speech is currently admin-disabled."
|
||||
usr << "<span class='warning'>Speech is currently admin-disabled.</span>"
|
||||
return
|
||||
|
||||
if(!mob) return
|
||||
@@ -16,7 +16,7 @@
|
||||
if(!msg) return
|
||||
|
||||
if(!(prefs.toggles & CHAT_OOC))
|
||||
src << "\red You have OOC muted."
|
||||
src << "<span class='warning'>You have OOC muted.</span>"
|
||||
return
|
||||
|
||||
if(!holder)
|
||||
@@ -69,7 +69,7 @@
|
||||
set category = "OOC"
|
||||
|
||||
if(say_disabled) //This is here to try to identify lag problems
|
||||
usr << "\red Speech is currently admin-disabled."
|
||||
usr << "<span class='warning'>Speech is currently admin-disabled.</span>"
|
||||
return
|
||||
|
||||
if(!mob) return
|
||||
@@ -81,7 +81,7 @@
|
||||
if(!msg) return
|
||||
|
||||
if(!(prefs.toggles & CHAT_LOOC))
|
||||
src << "\red You have LOOC muted."
|
||||
src << "<span class='warning'>You have LOOC muted.</span>"
|
||||
return
|
||||
|
||||
if(!holder)
|
||||
|
||||
@@ -79,10 +79,10 @@
|
||||
return
|
||||
|
||||
|
||||
viewers(src) << pick("\red <b>[src] is attempting to bite \his tongue off! It looks like \he's trying to commit suicide.</b>", \
|
||||
"\red <b>[src] is jamming \his thumbs into \his eye sockets! It looks like \he's trying to commit suicide.</b>", \
|
||||
"\red <b>[src] is twisting \his own neck! It looks like \he's trying to commit suicide.</b>", \
|
||||
"\red <b>[src] is holding \his breath! It looks like \he's trying to commit suicide.</b>")
|
||||
viewers(src) << pick("<span class='danger'>[src] is attempting to bite \his tongue off! It looks like \he's trying to commit suicide.</span>", \
|
||||
"<span class='danger'>[src] is jamming \his thumbs into \his eye sockets! It looks like \he's trying to commit suicide.</span>", \
|
||||
"<span class='danger'>[src] is twisting \his own neck! It looks like \he's trying to commit suicide.</spawn>", \
|
||||
"<span class='danger'>[src] is holding \his breath! It looks like \he's trying to commit suicide.</span>")
|
||||
adjustOxyLoss(max(175 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
|
||||
updatehealth()
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
if(confirm == "Yes")
|
||||
suiciding = 1
|
||||
viewers(loc) << "\red <b>[src]'s brain is growing dull and lifeless. It looks like it's lost the will to live.</b>"
|
||||
viewers(loc) << "<span class='danger'>[src]'s brain is growing dull and lifeless. It looks like it's lost the will to live.</span>"
|
||||
spawn(50)
|
||||
death(0)
|
||||
suiciding = 0
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
if(confirm == "Yes")
|
||||
suiciding = 1
|
||||
viewers(src) << "\red <b>[src] is powering down. It looks like \he's trying to commit suicide.</b>"
|
||||
viewers(src) << "<span class='danger'>[src] is powering down. It looks like \he's trying to commit suicide.</span>"
|
||||
//put em at -175
|
||||
adjustOxyLoss(max(maxHealth * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
|
||||
updatehealth()
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
if(confirm == "Yes")
|
||||
suiciding = 1
|
||||
viewers(src) << "\red <b>[src] is powering down. It looks like \he's trying to commit suicide.</b>"
|
||||
viewers(src) << "<span class='danger'>[src] is powering down. It looks like \he's trying to commit suicide.</span>"
|
||||
//put em at -175
|
||||
adjustOxyLoss(max(maxHealth * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
|
||||
updatehealth()
|
||||
@@ -160,7 +160,7 @@
|
||||
card.removePersonality()
|
||||
var/turf/T = get_turf_or_move(card.loc)
|
||||
for (var/mob/M in viewers(T))
|
||||
M.show_message("\blue [src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", 3, "\blue [src] bleeps electronically.", 2)
|
||||
M.show_message("<span class='notice'>[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"</span>", 3, "<span class='notice'>[src] bleeps electronically.</span>", 2)
|
||||
death(0)
|
||||
else
|
||||
src << "Aborting suicide attempt."
|
||||
|
||||
Reference in New Issue
Block a user