Finished rune 12. Added very simple and fairly useless rune 13 per Barh's request.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@277 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
uporotiy
2010-10-14 15:48:37 +00:00
parent b7dd6fdeb6
commit 36109de11c
9 changed files with 57 additions and 25 deletions
+10 -11
View File
@@ -7,6 +7,7 @@ var/wordblood = null
var/wordjoin = null
var/wordtech = null
var/worddestr = null
var/runedec = 0
/proc/runerandom() //randomizes word meaning
var/list/runewords=list("ire","ego","nahlizet","certum","veri","jatkaa","mgar","balaq")
@@ -105,7 +106,7 @@ var/worddestr = null
if(word1 == wordhell && word2 == wordjoin && word3 == wordself)
return tearreality()
if(word1 == worddestr && word2 == wordsee && word3 == wordtech)
return emp()
return emp(src.loc,1)
if(word1 == wordtravel && word2 == wordblood && word3 == wordself)
return drain()
if(word1 == wordsee && word2 == wordhell && word3 == wordjoin)
@@ -197,10 +198,10 @@ var/worddestr = null
var/C = 0
for(var/obj/rune/N in world)
C++
if (C>=26) //including the useless rune at the secret room, shouldn't count against the limit of 25 runes - Urist
if (C>=26+runedec) //including the useless rune at the secret room, shouldn't count against the limit of 25 runes - Urist
switch(alert("The cloth of reality can't take that much of a strain. By creating another rune, you risk locally tearing reality apart, which would prove fatal to you. Do you still wish to scribe the rune?",,"Yes","No"))
if("Yes")
if(prob(C*5-105)) //including the useless rune at the secret room, shouldn't count against the limit - Urist
if(prob(C*5-105-runedec*5)) //including the useless rune at the secret room, shouldn't count against the limit - Urist
usr.emote("scream")
user << "\red A tear momentarily appears in reality. Before it closes, you catch a glimpse of that which lies beyond. That proves to be too much for your mind."
usr.gib(1)
@@ -356,18 +357,16 @@ var/worddestr = null
var/imbue = null
attack_self(mob/user as mob)
usr.bruteloss+=20
switch(imbue)
if("newtome")
call(/obj/rune/proc/tomesummon)()
return
if("emp")
call(/obj/rune/proc/emp)()
return
call(/obj/rune/proc/emp)(usr.loc,4)
if("conceal")
call(/obj/rune/proc/obscure)(2)
del(src)
return
if(imbue)
call(/obj/rune/proc/teleport)(imbue)
if("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar")
call(/obj/rune/proc/teleport)(imbue)
if(src)
del(src)
return
return
+4 -1
View File
@@ -11,7 +11,10 @@
allrunesloc.len = index
allrunesloc[index] = R.loc
if(allrunesloc && index != 0)
usr.say("Sas'so c'arta forbici!")
if(istype(src,/obj/rune))
usr.say("Sas'so c'arta forbici!")
else
usr.whisper("Sas'so c'arta forbici!")
for (var/mob/V in viewers(src))
V.show_message("\red [usr] disappears in a flash of red light!", 3, "\red You hear a sickening crunch and sloshing of viscera.", 2)
usr.loc = allrunesloc[rand(1,index)]
+5 -2
View File
@@ -1,7 +1,7 @@
/obj/rune/proc/manifest()
if(usr.loc==src.loc)
for(var/mob/dead/observer/O in src.loc)
usr.say("Gal'h'rfikk harfrandid mud'gib!") //H'drak v'loso, mir'kanas verbot
usr.say("Gal'h'rfikk harfrandid mud'gib!")
var/mob/living/carbon/human/dummy/D = new /mob/living/carbon/human/dummy(src.loc)
for (var/mob/V in viewers(D))
V.show_message("\red A shape forms in the center of the rune. A shape of... a man.", 3, "", 2)
@@ -15,7 +15,10 @@
del(O)
for(,usr.loc==src.loc)
sleep(30)
usr.bruteloss++
if(usr.health>-100)
usr.bruteloss++
else
break
D.gib(1)
for (var/mob/V in viewers(D))
V.show_message("\red [D] explodes in a pile of gore.", 3, "\red \b SPLORCH", 2)
+4
View File
@@ -12,6 +12,7 @@
T.imbue = "[R.word3]"
del(R)
del(src)
usr.say("H'drak v'loso, mir'kanas verbot!")
return
if(R.word1==wordsee && R.word2==wordblood && R.word3==wordhell)
for(var/obj/item/weapon/paper/P in src.loc)
@@ -23,6 +24,7 @@
T.imbue = "newtome"
del(R)
del(src)
usr.say("H'drak v'loso, mir'kanas verbot!")
return
if(R.word1==worddestr && R.word2==wordsee && R.word3==wordtech)
for(var/obj/item/weapon/paper/P in src.loc)
@@ -34,6 +36,7 @@
T.imbue = "emp"
del(R)
del(src)
usr.say("H'drak v'loso, mir'kanas verbot!")
return
if(R.word1==wordblood && R.word2==wordsee && R.word3==worddestr)
for(var/obj/item/weapon/paper/P in src.loc)
@@ -45,5 +48,6 @@
T.imbue = "conceal"
del(R)
del(src)
usr.say("H'drak v'loso, mir'kanas verbot!")
return
return fizzle()
+10
View File
@@ -0,0 +1,10 @@
/obj/rune/proc/mend()
usr.say("Uhrast ka'hfa heldsagen ver'lot!")
usr.bruteloss+=200
runedec+=5
for (var/mob/V in viewers(usr))
V.show_message("\red [usr] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", 3, "", 2)
for(,usr.health<-100)
sleep(600)
runedec=0
return
+9 -3
View File
@@ -1,7 +1,13 @@
/obj/rune/proc/tomesummon()
usr.say("N'ath reth sh'yro eth d'raggathnor!")
if(istype(src,/obj/rune))
usr.say("N'ath reth sh'yro eth d'raggathnor!")
else
usr.whisper("N'ath reth sh'yro eth d'raggathnor!")
for (var/mob/V in viewers(src))
V.show_message("\red There's a flash of red light. The [src] disappears, and in its place a book lies", 3, "\red You hear a pop and smell ozone.", 2)
new /obj/item/weapon/tome(src.loc)
V.show_message("\red There's a flash of red light. The rune disappears, and in its place a book lies", 3, "\red You hear a pop and smell ozone.", 2)
if(istype(src,/obj/rune))
new /obj/item/weapon/tome(src.loc)
else
new /obj/item/weapon/tome(usr.loc)
del(src)
return
+10 -7
View File
@@ -1,7 +1,10 @@
/obj/rune/proc/emp()
usr.say("Ta'gh fara'qha fel d'amar det!")
playsound(src.loc, 'Welder2.ogg', 25, 1)
var/turf/T = get_turf(src)
/obj/rune/proc/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
if(istype(src,/obj/rune))
usr.say("Ta'gh fara'qha fel d'amar det!")
else
usr.whisper("Ta'gh fara'qha fel d'amar det!")
playsound(U, 'Welder2.ogg', 25, 1)
var/turf/T = get_turf(U)
if(T)
T.hotspot_expose(700,125)
@@ -16,7 +19,7 @@
spawn(20)
del(pulse)
for(var/obj/item/weapon/W in range(world.view-1, T))
for(var/obj/item/weapon/W in range(world.view-range_red, T))
if (istype(W, /obj/item/assembly/m_i_ptank) || istype(W, /obj/item/assembly/r_i_ptank) || istype(W, /obj/item/assembly/t_i_ptank))
@@ -32,7 +35,7 @@
fuckthis:ignite()
for(var/mob/living/M in viewers(world.view-1, T))
for(var/mob/living/M in viewers(world.view-range_red, T))
if(!istype(M, /mob/living)) continue
@@ -103,7 +106,7 @@
M << "\red <B>BZZZT</B>"
for(var/obj/machinery/A in range(world.view-1, T))
for(var/obj/machinery/A in range(world.view-range_red, T))
A.use_power(7500)
var/obj/overlay/pulse2 = new/obj/overlay ( A.loc )
+4 -1
View File
@@ -5,7 +5,10 @@
R.visibility=0
S=1
if(S)
usr.say("Kla'atu barada nikt'o!")
if(istype(src,/obj/rune))
usr.say("Kla'atu barada nikt'o!")
else
usr.whisper("Kla'atu barada nikt'o!")
return
if(istype(src,/obj/rune))
return fizzle()