mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Rune logging.
Adds various rune logging.
This commit is contained in:
@@ -57,7 +57,7 @@ Also, you never added distance checking after target is selected. I've went ahea
|
|||||||
var/mob/caster = user//The wizard/whomever doing the body transferring.
|
var/mob/caster = user//The wizard/whomever doing the body transferring.
|
||||||
|
|
||||||
//SPELL LOSS BEGIN
|
//SPELL LOSS BEGIN
|
||||||
admin_attack_log(caster, victim, "Used mind transfer on", "Had mind transfer used on him by", "used mind transfer on")
|
admin_attack_log(caster, victim, "Used mind transfer", "Was the victim of mind transfer", "used mind transfer on")
|
||||||
|
|
||||||
//NOTE: The caster must ALWAYS keep mind transfer, even when other spells are lost.
|
//NOTE: The caster must ALWAYS keep mind transfer, even when other spells are lost.
|
||||||
var/obj/effect/proc_holder/spell/targeted/mind_transfer/m_transfer = locate() in user.spell_list//Find mind transfer directly.
|
var/obj/effect/proc_holder/spell/targeted/mind_transfer/m_transfer = locate() in user.spell_list//Find mind transfer directly.
|
||||||
|
|||||||
@@ -2,12 +2,30 @@ proc/log_and_message_admins(var/message as text)
|
|||||||
log_admin(usr ? "[key_name(usr)] [message]" : "EVENT [message]")
|
log_admin(usr ? "[key_name(usr)] [message]" : "EVENT [message]")
|
||||||
message_admins(usr ? "[key_name(usr)] [message]" : "EVENT [message]")
|
message_admins(usr ? "[key_name(usr)] [message]" : "EVENT [message]")
|
||||||
|
|
||||||
|
proc/log_and_message_admins_many(var/list/mob/users, var/message)
|
||||||
|
if(!users || !users.len)
|
||||||
|
return
|
||||||
|
|
||||||
|
var/list/user_keys = list()
|
||||||
|
for(var/mob/user in users)
|
||||||
|
user_keys += key_name(user)
|
||||||
|
|
||||||
|
log_admin("[english_list(user_keys)] [message]")
|
||||||
|
message_admins("[english_list(user_keys)] [message]")
|
||||||
|
|
||||||
proc/admin_log_and_message_admins(var/message as text)
|
proc/admin_log_and_message_admins(var/message as text)
|
||||||
log_admin(usr ? "[key_name_admin(usr)] [message]" : "EVENT [message]")
|
log_admin(usr ? "[key_name_admin(usr)] [message]" : "EVENT [message]")
|
||||||
message_admins(usr ? "[key_name_admin(usr)] [message]" : "EVENT [message]", 1)
|
message_admins(usr ? "[key_name_admin(usr)] [message]" : "EVENT [message]", 1)
|
||||||
|
|
||||||
proc/admin_attack_log(var/mob/attacker, var/mob/victim, var/attacker_message, var/victim_message, var/admin_message)
|
proc/admin_attack_log(var/mob/attacker, var/mob/victim, var/attacker_message, var/victim_message, var/admin_message)
|
||||||
victim.attack_log += text("\[[time_stamp()]\] <font color='orange'>[victim_message] [key_name(attacker)]</font>")
|
victim.attack_log += text("\[[time_stamp()]\] <font color='orange'>[key_name(attacker)] - [victim_message]</font>")
|
||||||
attacker.attack_log += text("\[[time_stamp()]\] <font color='red'>[attacker_message] [key_name(victim)]</font>")
|
attacker.attack_log += text("\[[time_stamp()]\] <font color='red'>[key_name(victim)] - [attacker_message]</font>")
|
||||||
|
|
||||||
msg_admin_attack("[key_name(attacker)] [admin_message] [key_name(victim)] (INTENT: [uppertext(attacker.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[attacker.x];Y=[attacker.y];Z=[attacker.z]'>JMP</a>)")
|
msg_admin_attack("[key_name(attacker)] [admin_message] [key_name(victim)] (INTENT: [uppertext(attacker.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[attacker.x];Y=[attacker.y];Z=[attacker.z]'>JMP</a>)")
|
||||||
|
|
||||||
|
proc/admin_attacker_log_many_victims(var/mob/attacker, var/list/mob/victims, var/attacker_message, var/victim_message, var/admin_message)
|
||||||
|
if(!victims || !victims.len)
|
||||||
|
return
|
||||||
|
|
||||||
|
for(var/mob/victim in victims)
|
||||||
|
admin_attack_log(attacker, victim, attacker_message, victim_message, admin_message)
|
||||||
|
|||||||
@@ -458,6 +458,8 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
|||||||
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."
|
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."
|
||||||
user.take_overall_damage((rand(9)+1)/10) // 0.1 to 1.0 damage
|
user.take_overall_damage((rand(9)+1)/10) // 0.1 to 1.0 damage
|
||||||
if(do_after(user, 50))
|
if(do_after(user, 50))
|
||||||
|
var/area/A = get_area(user)
|
||||||
|
log_and_message_admins("created \an [chosen_rune] rune at \the [A.name] - [user.loc.x]-[user.loc.y]-[user.loc.z].")
|
||||||
if(usr.get_active_hand() != src)
|
if(usr.get_active_hand() != src)
|
||||||
return
|
return
|
||||||
var/mob/living/carbon/human/H = user
|
var/mob/living/carbon/human/H = user
|
||||||
@@ -515,6 +517,8 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
|||||||
var/mob/living/carbon/human/H = user
|
var/mob/living/carbon/human/H = user
|
||||||
R.blood_DNA = list()
|
R.blood_DNA = list()
|
||||||
R.blood_DNA[H.dna.unique_enzymes] = H.dna.b_type
|
R.blood_DNA[H.dna.unique_enzymes] = H.dna.b_type
|
||||||
|
var/area/A = get_area(user)
|
||||||
|
log_and_message_admins("created \an [r] rune at \the [A.name] - [user.loc.x]-[user.loc.y]-[user.loc.z].")
|
||||||
switch(r)
|
switch(r)
|
||||||
if("teleport")
|
if("teleport")
|
||||||
var/list/words = list("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri")
|
var/list/words = list("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri")
|
||||||
|
|||||||
@@ -116,6 +116,7 @@ var/list/sacrificed = list()
|
|||||||
// Mostly for the benefit of those who resist, but it makes sense for even those who join to have some.. effect.
|
// Mostly for the benefit of those who resist, but it makes sense for even those who join to have some.. effect.
|
||||||
M.take_overall_damage(0, 10)
|
M.take_overall_damage(0, 10)
|
||||||
|
|
||||||
|
admin_attack_log(usr, M, "Used a convert rune", "Was subjected to a convert rune", "used a convert rune on")
|
||||||
var/choice = alert(M,"Do you want to join the cult?","Submit to Nar'Sie","Resist","Submit")
|
var/choice = alert(M,"Do you want to join the cult?","Submit to Nar'Sie","Resist","Submit")
|
||||||
if(choice == "Submit")
|
if(choice == "Submit")
|
||||||
ticker.mode.add_cultist(M.mind)
|
ticker.mode.add_cultist(M.mind)
|
||||||
@@ -146,12 +147,13 @@ var/list/sacrificed = list()
|
|||||||
/////////////////////////////////////////FOURTH RUNE
|
/////////////////////////////////////////FOURTH RUNE
|
||||||
|
|
||||||
tearreality()
|
tearreality()
|
||||||
var/cultist_count = 0
|
var/list/cultists = new()
|
||||||
for(var/mob/M in range(1,src))
|
for(var/mob/M in range(1,src))
|
||||||
if(iscultist(M) && !M.stat)
|
if(iscultist(M) && !M.stat)
|
||||||
M.say("Tok-lyr rqa'nap g[pick("'","`")]lt-ulotf!")
|
M.say("Tok-lyr rqa'nap g[pick("'","`")]lt-ulotf!")
|
||||||
cultist_count += 1
|
cultists += 1
|
||||||
if(cultist_count >= 9)
|
if(cultists.len >= 9)
|
||||||
|
log_and_message_admins_many(cultists, "summoned Nar-sie.")
|
||||||
new /obj/machinery/singularity/narsie/large(src.loc)
|
new /obj/machinery/singularity/narsie/large(src.loc)
|
||||||
if(ticker.mode.name == "cult")
|
if(ticker.mode.name == "cult")
|
||||||
ticker.mode:eldergod = 0
|
ticker.mode:eldergod = 0
|
||||||
@@ -162,6 +164,7 @@ var/list/sacrificed = list()
|
|||||||
/////////////////////////////////////////FIFTH RUNE
|
/////////////////////////////////////////FIFTH RUNE
|
||||||
|
|
||||||
emp(var/U,var/range_red) //range_red - var which determines by which number to reduce the default emp range, U is the source loc, needed because of talisman emps which are held in hand at the moment of using and that apparently messes things up -- Urist
|
emp(var/U,var/range_red) //range_red - var which determines by which number to reduce the default emp range, U is the source loc, needed because of talisman emps which are held in hand at the moment of using and that apparently messes things up -- Urist
|
||||||
|
log_and_message_admins("activated an EMP rune.")
|
||||||
if(istype(src,/obj/effect/rune))
|
if(istype(src,/obj/effect/rune))
|
||||||
usr.say("Ta'gh fara[pick("'","`")]qha fel d'amar det!")
|
usr.say("Ta'gh fara[pick("'","`")]qha fel d'amar det!")
|
||||||
else
|
else
|
||||||
@@ -183,6 +186,7 @@ var/list/sacrificed = list()
|
|||||||
if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"])
|
if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"])
|
||||||
for(var/mob/living/carbon/D in R.loc)
|
for(var/mob/living/carbon/D in R.loc)
|
||||||
if(D.stat!=2)
|
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)
|
var/bdrain = rand(1,25)
|
||||||
D << "\red You feel weakened."
|
D << "\red You feel weakened."
|
||||||
D.take_overall_damage(bdrain, 0)
|
D.take_overall_damage(bdrain, 0)
|
||||||
@@ -423,6 +427,7 @@ var/list/sacrificed = list()
|
|||||||
|
|
||||||
D << "<font color=\"purple\"><b><i>Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.</b></i></font>"
|
D << "<font color=\"purple\"><b><i>Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.</b></i></font>"
|
||||||
D << "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>"
|
D << "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>"
|
||||||
|
log_and_message_admins("used a manifest rune.")
|
||||||
|
|
||||||
var/mob/living/user = usr
|
var/mob/living/user = usr
|
||||||
while(this_rune && user && user.stat==CONSCIOUS && user.client && user.loc==this_rune.loc)
|
while(this_rune && user && user.stat==CONSCIOUS && user.client && user.loc==this_rune.loc)
|
||||||
@@ -591,7 +596,7 @@ var/list/sacrificed = list()
|
|||||||
C.say("Barhah hra zar[pick("'","`")]garis!")
|
C.say("Barhah hra zar[pick("'","`")]garis!")
|
||||||
|
|
||||||
for(var/mob/H in victims)
|
for(var/mob/H in victims)
|
||||||
|
var/accepted = 0
|
||||||
var/worth = 0
|
var/worth = 0
|
||||||
if(istype(H,/mob/living/carbon/human))
|
if(istype(H,/mob/living/carbon/human))
|
||||||
var/mob/living/carbon/human/lamb = H
|
var/mob/living/carbon/human/lamb = H
|
||||||
@@ -606,6 +611,7 @@ var/list/sacrificed = list()
|
|||||||
H.dust()//To prevent the MMI from remaining
|
H.dust()//To prevent the MMI from remaining
|
||||||
else
|
else
|
||||||
H.gib()
|
H.gib()
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete."
|
usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete."
|
||||||
else
|
else
|
||||||
usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual."
|
usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual."
|
||||||
@@ -613,9 +619,11 @@ var/list/sacrificed = list()
|
|||||||
if(cultsinrange.len >= 3)
|
if(cultsinrange.len >= 3)
|
||||||
if(H.stat !=2)
|
if(H.stat !=2)
|
||||||
if(prob(80) || worth)
|
if(prob(80) || worth)
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice."
|
usr << "\red The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice."
|
||||||
ticker.mode:grant_runeword(usr)
|
ticker.mode:grant_runeword(usr)
|
||||||
else
|
else
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, this soul was not enough to gain His favor."
|
usr << "\red However, this soul was not enough to gain His favor."
|
||||||
if(isrobot(H))
|
if(isrobot(H))
|
||||||
@@ -624,9 +632,11 @@ var/list/sacrificed = list()
|
|||||||
H.gib()
|
H.gib()
|
||||||
else
|
else
|
||||||
if(prob(40) || worth)
|
if(prob(40) || worth)
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of blood accepts this [worth ? "exotic " : ""]sacrifice."
|
usr << "\red The Geometer of blood accepts this [worth ? "exotic " : ""]sacrifice."
|
||||||
ticker.mode:grant_runeword(usr)
|
ticker.mode:grant_runeword(usr)
|
||||||
else
|
else
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||||
if(isrobot(H))
|
if(isrobot(H))
|
||||||
@@ -638,9 +648,11 @@ var/list/sacrificed = list()
|
|||||||
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
|
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
|
||||||
else
|
else
|
||||||
if(prob(40))
|
if(prob(40))
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
ticker.mode:grant_runeword(usr)
|
ticker.mode:grant_runeword(usr)
|
||||||
else
|
else
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||||
if(isrobot(H))
|
if(isrobot(H))
|
||||||
@@ -651,9 +663,11 @@ var/list/sacrificed = list()
|
|||||||
if(cultsinrange.len >= 3)
|
if(cultsinrange.len >= 3)
|
||||||
if(H.stat !=2)
|
if(H.stat !=2)
|
||||||
if(prob(80))
|
if(prob(80))
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of Blood accepts this sacrifice."
|
usr << "\red The Geometer of Blood accepts this sacrifice."
|
||||||
ticker.mode:grant_runeword(usr)
|
ticker.mode:grant_runeword(usr)
|
||||||
else
|
else
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, this soul was not enough to gain His favor."
|
usr << "\red However, this soul was not enough to gain His favor."
|
||||||
if(isrobot(H))
|
if(isrobot(H))
|
||||||
@@ -662,9 +676,11 @@ var/list/sacrificed = list()
|
|||||||
H.gib()
|
H.gib()
|
||||||
else
|
else
|
||||||
if(prob(40))
|
if(prob(40))
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
ticker.mode:grant_runeword(usr)
|
ticker.mode:grant_runeword(usr)
|
||||||
else
|
else
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||||
if(isrobot(H))
|
if(isrobot(H))
|
||||||
@@ -676,15 +692,20 @@ var/list/sacrificed = list()
|
|||||||
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
|
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
|
||||||
else
|
else
|
||||||
if(prob(40))
|
if(prob(40))
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
ticker.mode:grant_runeword(usr)
|
ticker.mode:grant_runeword(usr)
|
||||||
else
|
else
|
||||||
|
accepted = 1
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||||
if(isrobot(H))
|
if(isrobot(H))
|
||||||
H.dust()//To prevent the MMI from remaining
|
H.dust()//To prevent the MMI from remaining
|
||||||
else
|
else
|
||||||
H.gib()
|
H.gib()
|
||||||
|
if(accepted)
|
||||||
|
admin_attack_log(usr, H, "Used a sacrifice rune.", "Was victim of a sacrifice rune.", "used a sacrifice rune on")
|
||||||
|
log_and_message_admins_many(cultsinrange - usr, "Assisted activating a sacrifice rune.")
|
||||||
for(var/mob/living/carbon/monkey/M in src.loc)
|
for(var/mob/living/carbon/monkey/M in src.loc)
|
||||||
if (ticker.mode.name == "cult")
|
if (ticker.mode.name == "cult")
|
||||||
if(M.mind == ticker.mode:sacrifice_target)
|
if(M.mind == ticker.mode:sacrifice_target)
|
||||||
@@ -855,7 +876,7 @@ var/list/sacrificed = list()
|
|||||||
|
|
||||||
deafen()
|
deafen()
|
||||||
if(istype(src,/obj/effect/rune))
|
if(istype(src,/obj/effect/rune))
|
||||||
var/affected = 0
|
var/list/affected = new()
|
||||||
for(var/mob/living/carbon/C in range(7,src))
|
for(var/mob/living/carbon/C in range(7,src))
|
||||||
if (iscultist(C))
|
if (iscultist(C))
|
||||||
continue
|
continue
|
||||||
@@ -864,17 +885,18 @@ var/list/sacrificed = list()
|
|||||||
continue
|
continue
|
||||||
C.ear_deaf += 50
|
C.ear_deaf += 50
|
||||||
C.show_message("\red The world around you suddenly becomes quiet.", 3)
|
C.show_message("\red The world around you suddenly becomes quiet.", 3)
|
||||||
affected++
|
affected += C
|
||||||
if(prob(1))
|
if(prob(1))
|
||||||
C.sdisabilities |= DEAF
|
C.sdisabilities |= DEAF
|
||||||
if(affected)
|
if(affected.len)
|
||||||
usr.say("Sti[pick("'","`")] kaliedir!")
|
usr.say("Sti[pick("'","`")] kaliedir!")
|
||||||
usr << "\red The world becomes quiet as the deafening rune dissipates into fine dust."
|
usr << "\red The world becomes quiet as the deafening rune dissipates into fine dust."
|
||||||
|
admin_attacker_log_many_victims(usr, affected, "Used a deafen rune.", "Was victim of a deafen rune.", "used a deafen rune on")
|
||||||
del(src)
|
del(src)
|
||||||
else
|
else
|
||||||
return fizzle()
|
return fizzle()
|
||||||
else
|
else
|
||||||
var/affected = 0
|
var/list/affected = new()
|
||||||
for(var/mob/living/carbon/C in range(7,usr))
|
for(var/mob/living/carbon/C in range(7,usr))
|
||||||
if (iscultist(C))
|
if (iscultist(C))
|
||||||
continue
|
continue
|
||||||
@@ -884,10 +906,11 @@ var/list/sacrificed = list()
|
|||||||
C.ear_deaf += 30
|
C.ear_deaf += 30
|
||||||
//talismans is weaker.
|
//talismans is weaker.
|
||||||
C.show_message("\red The world around you suddenly becomes quiet.", 3)
|
C.show_message("\red The world around you suddenly becomes quiet.", 3)
|
||||||
affected++
|
affected += C
|
||||||
if(affected)
|
if(affected.len)
|
||||||
usr.whisper("Sti[pick("'","`")] kaliedir!")
|
usr.whisper("Sti[pick("'","`")] kaliedir!")
|
||||||
usr << "\red Your talisman turns into gray dust, deafening everyone around."
|
usr << "\red Your talisman turns into gray dust, deafening everyone around."
|
||||||
|
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))
|
for (var/mob/V in orange(1,src))
|
||||||
if(!(iscultist(V)))
|
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("\red Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3)
|
||||||
@@ -895,7 +918,7 @@ var/list/sacrificed = list()
|
|||||||
|
|
||||||
blind()
|
blind()
|
||||||
if(istype(src,/obj/effect/rune))
|
if(istype(src,/obj/effect/rune))
|
||||||
var/affected = 0
|
var/list/affected = new()
|
||||||
for(var/mob/living/carbon/C in viewers(src))
|
for(var/mob/living/carbon/C in viewers(src))
|
||||||
if (iscultist(C))
|
if (iscultist(C))
|
||||||
continue
|
continue
|
||||||
@@ -909,15 +932,16 @@ var/list/sacrificed = list()
|
|||||||
if(prob(10))
|
if(prob(10))
|
||||||
C.sdisabilities |= BLIND
|
C.sdisabilities |= BLIND
|
||||||
C.show_message("\red Suddenly you see red flash that blinds you.", 3)
|
C.show_message("\red Suddenly you see red flash that blinds you.", 3)
|
||||||
affected++
|
affected += C
|
||||||
if(affected)
|
if(affected.len)
|
||||||
usr.say("Sti[pick("'","`")] kaliesin!")
|
usr.say("Sti[pick("'","`")] kaliesin!")
|
||||||
usr << "\red The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust."
|
usr << "\red The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust."
|
||||||
|
admin_attacker_log_many_victims(usr, affected, "Used a blindness rune.", "Was victim of a blindness rune.", "used a blindness rune on")
|
||||||
del(src)
|
del(src)
|
||||||
else
|
else
|
||||||
return fizzle()
|
return fizzle()
|
||||||
else
|
else
|
||||||
var/affected = 0
|
var/list/affected = new()
|
||||||
for(var/mob/living/carbon/C in view(2,usr))
|
for(var/mob/living/carbon/C in view(2,usr))
|
||||||
if (iscultist(C))
|
if (iscultist(C))
|
||||||
continue
|
continue
|
||||||
@@ -927,11 +951,12 @@ var/list/sacrificed = list()
|
|||||||
C.eye_blurry += 30
|
C.eye_blurry += 30
|
||||||
C.eye_blind += 10
|
C.eye_blind += 10
|
||||||
//talismans is weaker.
|
//talismans is weaker.
|
||||||
affected++
|
affected += C
|
||||||
C.show_message("\red You feel a sharp pain in your eyes, and the world disappears into darkness..", 3)
|
C.show_message("\red You feel a sharp pain in your eyes, and the world disappears into darkness..", 3)
|
||||||
if(affected)
|
if(affected.len)
|
||||||
usr.whisper("Sti[pick("'","`")] kaliesin!")
|
usr.whisper("Sti[pick("'","`")] kaliesin!")
|
||||||
usr << "\red Your talisman turns into gray dust, blinding those who not follow the Nar-Sie."
|
usr << "\red Your talisman turns into gray dust, blinding those who not follow the Nar-Sie."
|
||||||
|
admin_attacker_log_many_victims(usr, affected, "Used a blindness rune.", "Was victim of a blindness rune.", "used a blindness rune on")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -942,12 +967,13 @@ var/list/sacrificed = list()
|
|||||||
if (istype(H.current,/mob/living/carbon))
|
if (istype(H.current,/mob/living/carbon))
|
||||||
cultists+=H.current
|
cultists+=H.current
|
||||||
*/
|
*/
|
||||||
var/culcount = 0 //also, wording for it is old wording for obscure rune, which is now hide-see-blood.
|
var/list/cultists = new //also, wording for it is old wording for obscure rune, which is now hide-see-blood.
|
||||||
|
var/list/victims = new
|
||||||
// var/list/cultboil = list(cultists-usr) //and for this words are destroy-see-blood.
|
// var/list/cultboil = list(cultists-usr) //and for this words are destroy-see-blood.
|
||||||
for(var/mob/living/carbon/C in orange(1,src))
|
for(var/mob/living/carbon/C in orange(1,src))
|
||||||
if(iscultist(C) && !C.stat)
|
if(iscultist(C) && !C.stat)
|
||||||
culcount++
|
cultists+=C
|
||||||
if(culcount>=3)
|
if(cultists.len>=3)
|
||||||
for(var/mob/living/carbon/M in viewers(usr))
|
for(var/mob/living/carbon/M in viewers(usr))
|
||||||
if(iscultist(M))
|
if(iscultist(M))
|
||||||
continue
|
continue
|
||||||
@@ -956,6 +982,7 @@ var/list/sacrificed = list()
|
|||||||
continue
|
continue
|
||||||
M.take_overall_damage(51,51)
|
M.take_overall_damage(51,51)
|
||||||
M << "\red Your blood boils!"
|
M << "\red Your blood boils!"
|
||||||
|
victims += M
|
||||||
if(prob(5))
|
if(prob(5))
|
||||||
spawn(5)
|
spawn(5)
|
||||||
M.gib()
|
M.gib()
|
||||||
@@ -966,6 +993,8 @@ var/list/sacrificed = list()
|
|||||||
if(iscultist(C) && !C.stat)
|
if(iscultist(C) && !C.stat)
|
||||||
C.say("Dedo ol[pick("'","`")]btoh!")
|
C.say("Dedo ol[pick("'","`")]btoh!")
|
||||||
C.take_overall_damage(15, 0)
|
C.take_overall_damage(15, 0)
|
||||||
|
admin_attacker_log_many_victims(usr, victims, "Used a blood boil rune.", "Was the victim of a blood boil rune.", "used a blood boil rune on")
|
||||||
|
log_and_message_admins_many(cultists - usr, "assisted activating a blood boil rune.")
|
||||||
del(src)
|
del(src)
|
||||||
else
|
else
|
||||||
return fizzle()
|
return fizzle()
|
||||||
@@ -1005,7 +1034,6 @@ var/list/sacrificed = list()
|
|||||||
if(istype(src,/obj/effect/rune)) ///When invoked as rune, flash and stun everyone around.
|
if(istype(src,/obj/effect/rune)) ///When invoked as rune, flash and stun everyone around.
|
||||||
usr.say("Fuu ma[pick("'","`")]jin!")
|
usr.say("Fuu ma[pick("'","`")]jin!")
|
||||||
for(var/mob/living/L in viewers(src))
|
for(var/mob/living/L in viewers(src))
|
||||||
|
|
||||||
if(iscarbon(L))
|
if(iscarbon(L))
|
||||||
var/mob/living/carbon/C = L
|
var/mob/living/carbon/C = L
|
||||||
flick("e_flash", C.flash)
|
flick("e_flash", C.flash)
|
||||||
@@ -1014,11 +1042,13 @@ var/list/sacrificed = list()
|
|||||||
C.Weaken(1)
|
C.Weaken(1)
|
||||||
C.Stun(1)
|
C.Stun(1)
|
||||||
C.show_message("\red The rune explodes in a bright flash.", 3)
|
C.show_message("\red The rune explodes in a bright flash.", 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))
|
else if(issilicon(L))
|
||||||
var/mob/living/silicon/S = L
|
var/mob/living/silicon/S = L
|
||||||
S.Weaken(5)
|
S.Weaken(5)
|
||||||
S.show_message("\red BZZZT... The rune has exploded in a bright flash.", 3)
|
S.show_message("\red BZZZT... The rune has exploded in a bright flash.", 3)
|
||||||
|
admin_attack_log(usr, S, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on")
|
||||||
del(src)
|
del(src)
|
||||||
else ///When invoked as talisman, stun and mute the target mob.
|
else ///When invoked as talisman, stun and mute the target mob.
|
||||||
usr.say("Dream sign ''Evil sealing talisman'[pick("'","`")]!")
|
usr.say("Dream sign ''Evil sealing talisman'[pick("'","`")]!")
|
||||||
@@ -1032,7 +1062,7 @@ var/list/sacrificed = list()
|
|||||||
|
|
||||||
if(issilicon(T))
|
if(issilicon(T))
|
||||||
T.Weaken(15)
|
T.Weaken(15)
|
||||||
|
admin_attack_log(usr, T, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on")
|
||||||
else if(iscarbon(T))
|
else if(iscarbon(T))
|
||||||
var/mob/living/carbon/C = T
|
var/mob/living/carbon/C = T
|
||||||
flick("e_flash", C.flash)
|
flick("e_flash", C.flash)
|
||||||
@@ -1040,6 +1070,7 @@ var/list/sacrificed = list()
|
|||||||
C.silent += 15
|
C.silent += 15
|
||||||
C.Weaken(25)
|
C.Weaken(25)
|
||||||
C.Stun(25)
|
C.Stun(25)
|
||||||
|
admin_attack_log(usr, C, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on")
|
||||||
return
|
return
|
||||||
|
|
||||||
/////////////////////////////////////////TWENTY-FIFTH RUNE
|
/////////////////////////////////////////TWENTY-FIFTH RUNE
|
||||||
|
|||||||
Reference in New Issue
Block a user