Merge branch 'master' of https://github.com/tgstation/-tg-station into explosive

This commit is contained in:
Iamgoofball
2015-04-07 16:21:07 -07:00
529 changed files with 13541 additions and 7660 deletions
+1 -1
View File
@@ -27,7 +27,7 @@
/obj/effect/anomaly/proc/anomalyNeutralize()
new /obj/effect/effect/bad_smoke(loc)
PoolOrNew(/obj/effect/effect/bad_smoke, loc)
for(var/atom/movable/O in src)
O.loc = src.loc
@@ -11,7 +11,7 @@
icon_state = "xfloor1"
random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7")
var/list/viruses = list()
blood_DNA = list()
blood_DNA = list("UNKNOWN DNA" = "X*")
/obj/effect/decal/cleanable/xenoblood/Destroy()
for(var/datum/disease/D in viruses)
@@ -63,4 +63,5 @@
/obj/effect/decal/cleanable/blood/xtracks
icon_state = "xtracks"
random_icon_states = null
random_icon_states = null
blood_DNA = list("UNKNOWN DNA" = "X*")
+7 -3
View File
@@ -12,12 +12,16 @@
return
/obj/effect/decal/cleanable/crayon/New(location, main = "#FFFFFF", var/type = "rune1", var/e_name = "rune")
/obj/effect/decal/cleanable/crayon/New(location, main = "#FFFFFF", var/type = "rune1", var/e_name = "rune", var/rotation = 0)
..()
loc = location
name = e_name
desc = "A [name] drawn in crayon."
icon_state = type
color = main
var/matrix/M = matrix()
M.Turn(rotation)
src.transform = M
color = main
@@ -13,11 +13,10 @@ would spawn and follow the beaker, even if it is carried or thrown.
unacidable = 1//So effect are not targeted by alien acid.
pass_flags = PASSTABLE | PASSGRILLE
/obj/effect/proc/delete()
loc = null
if(reagents)
reagents.delete()
return
/obj/effect/effect/Destroy()
..()
PlaceInPool(src)
return 1
/datum/effect/effect/proc/fadeOut(var/atom/A, var/frames = 16)
if(A.alpha == 0) //Handle already transparent case
@@ -37,6 +36,11 @@ would spawn and follow the beaker, even if it is carried or thrown.
var/atom/holder
var/setup = 0
/datum/effect/effect/system/Destroy()
holder = null
location = null
..()
/datum/effect/effect/system/proc/set_up(n = 3, c = 0, turf/loc)
if(n > 10)
n = 10
@@ -33,6 +33,9 @@
SSobj.processing.Add(src)
playsound(src, 'sound/effects/bubbles2.ogg', 80, 1, -3)
/obj/effect/effect/foam/Destroy()
SSobj.processing.Remove(src)
return ..()
/obj/effect/effect/foam/metal/New(loc)
..()
@@ -45,7 +48,7 @@
SSobj.processing.Remove(src)
flick("[icon_state]-disolve", src)
spawn(5)
delete()
qdel(src)
/obj/effect/effect/foam/process()
@@ -84,7 +87,7 @@
if(foundfoam)
continue
var/obj/effect/effect/foam/F = new type(T)
var/obj/effect/effect/foam/F = PoolOrNew(/obj/effect/effect/foam, T)
F.amount = amount
reagents.copy_to(F, (reagents.total_volume))
F.color = color
@@ -114,11 +117,15 @@
/datum/effect/effect/system/foam_spread/New()
..()
chemholder = new/obj()
chemholder = PoolOrNew(/obj)
var/datum/reagents/R = new/datum/reagents(1000)
chemholder.reagents = R
R.my_atom = chemholder
/datum/effect/effect/system/foam_spread/Destroy()
qdel(chemholder)
chemholder = null
return ..()
/datum/effect/effect/system/foam_spread/set_up(amt=5, loca, var/datum/reagents/carry = null)
if(istype(loca, /turf/))
@@ -135,11 +142,11 @@
metal = metaltype
/datum/effect/effect/system/foam_spread/start()
var/obj/effect/effect/foam/foundfoam = locate()
var/obj/effect/effect/foam/foundfoam = locate() in location
if(foundfoam)//If there was already foam where we start, we add our foaminess to it.
foundfoam.amount += amount
else
var/obj/effect/effect/foam/F = new foamtype(src.location)
var/obj/effect/effect/foam/F = PoolOrNew(foamtype, location)
var/foamcolor = mix_color_from_reagents(chemholder.reagents.reagent_list)
chemholder.reagents.copy_to(F, chemholder.reagents.total_volume)
F.color = foamcolor
@@ -16,6 +16,10 @@
var/processing = 1
var/on = 1
/datum/effect/effect/system/ion_trail_follow/Destroy()
oldposition = null
return ..()
/datum/effect/effect/system/ion_trail_follow/set_up(atom/atom)
attach(atom)
@@ -29,13 +33,12 @@
var/turf/T = get_turf(src.holder)
if(T != src.oldposition)
if(!has_gravity(T))
var/obj/effect/effect/ion_trails/I = new /obj/effect/effect/ion_trails(src.oldposition)
var/obj/effect/effect/ion_trails/I = PoolOrNew(/obj/effect/effect/ion_trails, oldposition)
I.dir = src.holder.dir
flick("ion_fade", I)
I.icon_state = "ion_trails"
I.icon_state = ""
spawn( 20 )
if(I)
I.delete()
qdel(I)
src.oldposition = T
spawn(2)
if(src.on)
@@ -28,12 +28,7 @@
/obj/effect/effect/harmless_smoke/New()
..()
spawn (100)
delete()
return
/obj/effect/effect/harmless_smoke/Move()
..()
return
qdel(src)
/datum/effect/effect/system/harmless_smoke_spread
var/total_smoke = 0 // To stop it being spammed and lagging!
@@ -60,7 +55,7 @@
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effect/effect/harmless_smoke/smoke = new /obj/effect/effect/harmless_smoke(src.location)
var/obj/effect/effect/harmless_smoke/smoke = PoolOrNew(/obj/effect/effect/harmless_smoke, location)
src.total_smoke++
var/direction = src.direction
if(!direction)
@@ -74,7 +69,7 @@
spawn(75+rand(10,30))
if(smoke)
fadeOut(smoke)
smoke.delete()
qdel(smoke)
src.total_smoke--
@@ -96,8 +91,7 @@
/obj/effect/effect/bad_smoke/New()
..()
spawn (200+rand(10,30))
delete()
return
qdel(src)
/obj/effect/effect/bad_smoke/Move()
..()
@@ -163,7 +157,7 @@
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effect/effect/bad_smoke/smoke = new /obj/effect/effect/bad_smoke(src.location)
var/obj/effect/effect/bad_smoke/smoke = PoolOrNew(/obj/effect/effect/bad_smoke, location)
src.total_smoke++
var/direction = src.direction
if(!direction)
@@ -177,7 +171,7 @@
spawn(150+rand(10,30))
if(smoke)
fadeOut(smoke)
smoke.delete()
qdel(smoke)
src.total_smoke--
@@ -201,8 +195,7 @@
..()
create_reagents(500)
spawn(200+rand(10,30))
delete()
return
qdel(src)
/obj/effect/effect/chem_smoke/Move()
@@ -228,11 +221,15 @@
/datum/effect/effect/system/chem_smoke_spread/New()
..()
chemholder = new/obj()
chemholder = PoolOrNew(/obj)
var/datum/reagents/R = new/datum/reagents(500)
chemholder.reagents = R
R.my_atom = chemholder
/datum/effect/effect/system/chem_smoke_spread/Destroy()
PlaceInPool(chemholder)
chemholder = null
..()
/datum/effect/effect/system/chem_smoke_spread/set_up(var/datum/reagents/carry = null, n = 5, c = 0, loca, direct, silent = 0)
if(n > 20)
@@ -284,7 +281,7 @@
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effect/effect/chem_smoke/smoke = new /obj/effect/effect/chem_smoke(src.location)
var/obj/effect/effect/chem_smoke/smoke = PoolOrNew(/obj/effect/effect/chem_smoke, location)
src.total_smoke++
var/direction = src.direction
if(!direction)
@@ -309,7 +306,7 @@
spawn(150+rand(10,30))
if(smoke)
fadeOut(smoke)
smoke.delete()
qdel(smoke)
src.total_smoke--
@@ -334,8 +331,7 @@
/obj/effect/effect/sleep_smoke/New()
..()
spawn (200+rand(10,30))
delete()
return
qdel(src)
/obj/effect/effect/sleep_smoke/Move()
..()
@@ -395,7 +391,7 @@
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effect/effect/sleep_smoke/smoke = new /obj/effect/effect/sleep_smoke(src.location)
var/obj/effect/effect/sleep_smoke/smoke = PoolOrNew(/obj/effect/effect/sleep_smoke, location)
src.total_smoke++
var/direction = src.direction
if(!direction)
@@ -409,5 +405,5 @@
spawn(150+rand(10,30))
if(smoke)
fadeOut(smoke)
smoke.delete()
qdel(smoke)
src.total_smoke--
@@ -14,20 +14,19 @@
/obj/effect/effect/sparks/New()
..()
flick("sparks", src) // replay the animation
playsound(src.loc, "sparks", 100, 1)
var/turf/T = src.loc
if (istype(T, /turf))
T.hotspot_expose(1000,100)
spawn (100)
delete()
return
qdel(src)
/obj/effect/effect/sparks/Destroy()
var/turf/T = src.loc
if (istype(T, /turf))
T.hotspot_expose(1000,100)
..()
return
return ..()
/obj/effect/effect/sparks/Move()
..()
@@ -57,7 +56,7 @@
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effect/effect/sparks/sparks = new /obj/effect/effect/sparks(src.location)
var/obj/effect/effect/sparks/sparks = PoolOrNew(/obj/effect/effect/sparks, location)
src.total_sparks++
var/direction
if(src.cardinals)
@@ -68,8 +67,7 @@
sleep(5)
step(sparks,direction)
spawn(20)
if(sparks) // Might be deleted already
sparks.delete()
qdel(sparks)
src.total_sparks--
@@ -101,7 +99,7 @@
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effect/effect/sparks/electricity/sparks = new /obj/effect/effect/sparks/electricity(src.location)
var/obj/effect/effect/sparks/electricity/sparks = PoolOrNew(/obj/effect/effect/sparks/electricity, location)
src.total_sparks++
var/direction
if(src.cardinals)
@@ -112,6 +110,5 @@
sleep(5)
step(sparks,direction)
spawn(20)
if(sparks) // Might be deleted already
sparks.delete()
qdel(sparks)
src.total_sparks--
@@ -10,21 +10,13 @@
/obj/effect/effect/water/New()
..()
//var/turf/T = src.loc
//if (istype(T, /turf))
// T.firelevel = 0 //TODO: FIX
spawn( 70 )
delete()
return
return
qdel(src)
/obj/effect/effect/water/Move(turf/newloc)
//var/turf/T = src.loc
//if (istype(T, /turf))
// T.firelevel = 0 //TODO: FIX
if (--src.life < 1)
//SN src = null
delete()
qdel(src)
return 0
if(newloc.density)
return 0
.=..()
@@ -71,7 +63,7 @@ steam.start() -- spawns the effect
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effect/effect/steam/steam = new /obj/effect/effect/steam(src.location)
var/obj/effect/effect/steam/steam = PoolOrNew(/obj/effect/effect/steam, location)
var/direction
if(src.cardinals)
direction = pick(cardinal)
@@ -81,7 +73,7 @@ steam.start() -- spawns the effect
sleep(5)
step(steam,direction)
spawn(20)
steam.delete()
qdel(steam)
/////////////////////////////////////////////
@@ -106,12 +98,12 @@ steam.start() -- spawns the effect
src.processing = 0
spawn(0)
if(src.number < 3)
var/obj/effect/effect/steam/I = new /obj/effect/effect/steam(src.oldposition)
var/obj/effect/effect/steam/I = PoolOrNew(/obj/effect/effect/steam, oldposition)
src.number++
src.oldposition = get_turf(holder)
I.dir = src.holder.dir
spawn(10)
I.delete()
qdel(I)
src.number--
spawn(2)
if(src.on)
-3
View File
@@ -50,11 +50,8 @@
gib.viruses += viruus
viruus.holder = gib
gib.blood_DNA = list()
if(MobDNA)
gib.blood_DNA[MobDNA.unique_enzymes] = MobDNA.blood_type
else if(istype(src, /obj/effect/gibspawner/xeno))
gib.blood_DNA["UNKNOWN DNA"] = "X*"
else if(istype(src, /obj/effect/gibspawner/generic)) // Probably a monkey
gib.blood_DNA["Non-human DNA"] = "A+"
var/list/directions = gibdirections[i]