Spells update. I'm still waiting for that emp_act(), muskets, so I can finish the base spells.

Traps framework complete. Two sample traps.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@885 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
uporotiy
2011-01-17 15:07:30 +00:00
parent 054319e4c4
commit da422ec0f2
7 changed files with 250 additions and 49 deletions
+44
View File
@@ -0,0 +1,44 @@
/obj/spell/conjure
name = "Summon Bigger Carp"
desc = "This spell conjures an elite carp."
school = "conjuration"
recharge = 1200
clothes_req = 1
invocation = "NOUK FHUNMM SACP RISSKA"
invocation_type = "shout"
range = 1 //radius in which objects are randomly summoned
var/list/summon_type = list("/obj/livestock/spesscarp/elite") //determines what exactly will be summoned
var/summon_duration = 0 // 0=permanent, any other time in deciseconds
var/summon_amt = 1 //amount of objects summoned
var/summon_ignore_density = 0 //if set to 1, adds dense tiles to possible spawn places
var/summon_ignore_prev_spawn_points = 0 //if set to 1, each new object is summoned on a new spawn point
/obj/spell/conjure/Click()
..()
if(!cast_check())
return
invocation()
var/list/possible_spawn_points = list()
for(var/turf/T in oview(usr,range))
if(!T.density || summon_ignore_density)
possible_spawn_points += T
for(var/i=0,i<summon_amt,i++)
if(!possible_spawn_points.len)
break
var/summoned_object_type = text2path(pick(summon_type))
var/spawn_place = pick(possible_spawn_points)
if(summon_ignore_prev_spawn_points)
possible_spawn_points -= spawn_place
var/summoned_object = new summoned_object_type(spawn_place)
if(summon_duration)
spawn(summon_duration)
if(summoned_object)
del(summoned_object)
return
+17 -5
View File
@@ -34,14 +34,26 @@
if("gib")
M.gib()
if("kill")
for(var/i=0,i<damage_amount,i++)
for(var/i=0,i<abs(damage_amount),i++)
sleep(0) //to avoid troubles with instantly applying lots of damage, it seems to be buggy
switch(damage_type)
if("brute")
M.bruteloss++
if(damage_amount>0)
M.bruteloss++
else
M.bruteloss--
if("toxin")
M.toxloss++
if(damage_amount>0)
M.toxloss++
else
M.toxloss--
if("oxygen")
M.oxyloss++
if(damage_amount>0)
M.oxyloss++
else
M.oxyloss--
if("fire")
M.fireloss++
if(damage_amount>0)
M.fireloss++
else
M.fireloss--
+3 -1
View File
@@ -25,6 +25,8 @@
forcefields += new /obj/forcefield(T)
spawn (wall_lifespan)
del (forcefields)
for(var/obj/forcefield/F in forcefields)
del(F)
del(forcefields)
return
+1 -1
View File
@@ -31,7 +31,7 @@
var/area/thearea = teleportlocs[A]
usr.say("SCYAR NILA [uppertext(A)]")
usr.say("[invocation] [uppertext(A)]")
if(usr.gender=="male")
playsound(usr.loc, pick('vs_chant_conj_hm.wav','vs_chant_conj_lm.wav','vs_chant_ench_hm.wav','vs_chant_ench_lm.wav','vs_chant_evoc_hm.wav','vs_chant_evoc_lm.wav','vs_chant_illu_hm.wav','vs_chant_illu_lm.wav','vs_chant_necr_hm.wav','vs_chant_necr_lm.wav'), 100, 1)
else