Merge remote-tracking branch 'upstream/master' into plushies

This commit is contained in:
Fox-McCloud
2015-11-24 21:34:29 -05:00
126 changed files with 596 additions and 384 deletions
@@ -22,7 +22,7 @@
var/obj/effect/decal/cleanable/blood/oil/streak = new(src.loc)
streak.update_icon()
else if (prob(10))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
if (step_to(src, get_step(src, direction), 0))
+34 -41
View File
@@ -22,7 +22,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
cameranet.updateVisibility(src)
return ..()
/datum/effect/effect/proc/fadeOut(var/atom/A, var/frames = 16)
/datum/effect/proc/fadeOut(var/atom/A, var/frames = 16)
if(A.alpha == 0) //Handle already transparent case
return
if(frames == 0)
@@ -83,7 +83,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
return ..()
/datum/effect/effect/system
/datum/effect/system
var/number = 3
var/cardinals = 0
var/turf/location
@@ -130,7 +130,7 @@ steam.start() -- spawns the effect
icon_state = "extinguish"
density = 0
/datum/effect/effect/system/steam_spread
/datum/effect/system/steam_spread
set_up(n = 3, c = 0, turf/loc)
if(n > 10)
@@ -195,7 +195,7 @@ steam.start() -- spawns the effect
T.hotspot_expose(1000,100)
return
/datum/effect/effect/system/spark_spread
/datum/effect/system/spark_spread
var/total_sparks = 0 // To stop it being spammed and lagging!
set_up(n = 3, c = 0, loca)
@@ -259,7 +259,7 @@ steam.start() -- spawns the effect
..()
return
/datum/effect/effect/system/harmless_smoke_spread
/datum/effect/system/harmless_smoke_spread
var/total_smoke = 0 // To stop it being spammed and lagging!
var/direction
@@ -360,7 +360,7 @@ steam.start() -- spawns the effect
M.coughedtime = 0
return
/datum/effect/effect/system/bad_smoke_spread
/datum/effect/system/bad_smoke_spread
var/total_smoke = 0 // To stop it being spammed and lagging!
var/direction
@@ -428,10 +428,10 @@ steam.start() -- spawns the effect
return
// Spores
/datum/effect/effect/system/chem_smoke_spread/spores
/datum/effect/system/chem_smoke_spread/spores
var/datum/seed/seed
/datum/effect/effect/system/chem_smoke_spread/spores/New(seed_name)
/datum/effect/system/chem_smoke_spread/spores/New(seed_name)
if(seed_name && plant_controller)
seed = plant_controller.seeds[seed_name]
if(!seed)
@@ -440,7 +440,7 @@ steam.start() -- spawns the effect
/datum/effect/effect/system/chem_smoke_spread/New()
/datum/effect/system/chem_smoke_spread/New()
..()
chemholder = new/obj()
var/datum/reagents/R = new/datum/reagents(500)
@@ -449,7 +449,7 @@ steam.start() -- spawns the effect
/datum/effect/effect/system/chem_smoke_spread
/datum/effect/system/chem_smoke_spread
var/total_smoke = 0 // To stop it being spammed and lagging!
var/direction
var/obj/chemholder
@@ -609,7 +609,7 @@ steam.start() -- spawns the effect
M.coughedtime = 0
return
/datum/effect/effect/system/sleep_smoke_spread
/datum/effect/system/sleep_smoke_spread
var/total_smoke = 0 // To stop it being spammed and lagging!
var/direction
@@ -696,7 +696,7 @@ steam.start() -- spawns the effect
R.updatehealth()
return
/datum/effect/effect/system/mustard_gas_spread
/datum/effect/system/mustard_gas_spread
var/total_smoke = 0 // To stop it being spammed and lagging!
var/direction
@@ -748,19 +748,19 @@ steam.start() -- spawns the effect
icon_state = "ion_trails"
anchored = 1.0
/datum/effect/effect/system/ion_trail_follow
/datum/effect/system/ion_trail_follow
var/turf/oldposition
var/processing = 1
var/on = 1
/datum/effect/effect/system/ion_trail_follow/Destroy()
/datum/effect/system/ion_trail_follow/Destroy()
oldposition = null
return ..()
/datum/effect/effect/system/ion_trail_follow/set_up(atom/atom)
/datum/effect/system/ion_trail_follow/set_up(atom/atom)
attach(atom)
/datum/effect/effect/system/ion_trail_follow/start() //Whoever is responsible for this abomination of code should become an hero
/datum/effect/system/ion_trail_follow/start() //Whoever is responsible for this abomination of code should become an hero
if(!src.on)
src.on = 1
src.processing = 1
@@ -782,21 +782,21 @@ steam.start() -- spawns the effect
src.processing = 1
src.start()
/datum/effect/effect/system/ion_trail_follow/proc/stop()
/datum/effect/system/ion_trail_follow/proc/stop()
src.processing = 0
src.on = 0
oldposition = null
/datum/effect/effect/system/ion_trail_follow/space_trail
/datum/effect/system/ion_trail_follow/space_trail
var/turf/oldloc // secondary ion trail loc
var/turf/currloc
/datum/effect/effect/system/ion_trail_follow/space_trail/Destroy()
/datum/effect/system/ion_trail_follow/space_trail/Destroy()
oldloc = null
currloc = null
return ..()
/datum/effect/effect/system/ion_trail_follow/space_trail/start()
/datum/effect/system/ion_trail_follow/space_trail/start()
if(!src.on)
src.on = 1
src.processing = 1
@@ -851,7 +851,7 @@ steam.start() -- spawns the effect
// even if it's carried of thrown.
/////////////////////////////////////////////
/datum/effect/effect/system/steam_trail_follow
/datum/effect/system/steam_trail_follow
var/turf/oldposition
var/processing = 1
var/on = 1
@@ -997,7 +997,7 @@ steam.start() -- spawns the effect
M.Weaken(2)
/datum/effect/effect/system/foam_spread
/datum/effect/system/foam_spread
var/amount = 5 // the size of the foam spread.
var/list/carried_reagents // the IDs of reagents present when the foam was mixed
var/metal = 0 // 0=foam, 1=metalfoam, 2=ironfoam
@@ -1129,7 +1129,7 @@ steam.start() -- spawns the effect
CanAtmosPass()
return !density
/datum/effect/effect/system/reagents_explosion
/datum/effect/system/reagents_explosion
var/amount // TNT equivalent
var/flashing = 0 // does explosion creates flash effect?
var/flashing_factor = 0 // factor of how powerful the flash effect relatively to the explosion
@@ -1148,7 +1148,7 @@ steam.start() -- spawns the effect
start()
if (amount <= 2)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(2, 1, location)
s.start()
@@ -1198,17 +1198,17 @@ steam.start() -- spawns the effect
//////////////////////////////////
//////SPARKELS FIREWORKS
//////SPARKLE FIREWORKS
/////////////////////////////////
////////////////////////////
/obj/effects/sparkels
name = "sparkel"
/obj/effect/sparkles
name = "sparkle"
icon = 'icons/obj/fireworks.dmi'//findback
icon_state = "sparkel"
var/amount = 6.0
anchored = 1.0
mouse_opacity = 0
/obj/effects/sparkels/New()
/obj/effect/sparkles/New()
..()
var/icon/I = new(src.icon,src.icon_state)
var/r = rand(0,255)
@@ -1225,13 +1225,13 @@ steam.start() -- spawns the effect
qdel(src)
return
/obj/effects/sparkels/Destroy()
/obj/effect/sparkles/Destroy()
var/turf/T = src.loc
if (istype(T, /turf))
T.hotspot_expose(3000,100)
return ..()
/obj/effects/sparkels/Move()
/obj/effect/sparkles/Move()
..()
var/turf/T = src.loc
if (istype(T, /turf))
@@ -1239,14 +1239,10 @@ steam.start() -- spawns the effect
return
/datum/effects/system/sparkel_spread
var/number = 3
var/cardinals = 0
var/turf/location
var/atom/holder
/datum/effect/system/sparkle_spread
var/total_sparks = 0 // To stop it being spammed and lagging!
/datum/effects/system/sparkel_spread/proc/set_up(n = 3, c = 0, loca)
/datum/effect/system/sparkle_spread/set_up(n = 3, c = 0, loca)
if(n > 10)
n = 10
number = n
@@ -1256,10 +1252,7 @@ steam.start() -- spawns the effect
else
location = get_turf(loca)
/datum/effects/system/sparkel_spread/proc/attach(atom/atom)
holder = atom
/datum/effects/system/sparkel_spread/proc/start()
/datum/effect/system/sparkle_spread/start()
var/i = 0
for(i=0, i<src.number, i++)
if(src.total_sparks > 20)
@@ -1267,7 +1260,7 @@ steam.start() -- spawns the effect
spawn(0)
if(holder)
src.location = get_turf(holder)
var/obj/effects/sparkels/sparks = new(src.location)
var/obj/effect/sparkles/sparks = new(src.location)
src.total_sparks++
var/direction
if(src.cardinals)
@@ -17,16 +17,14 @@
return
/datum/effect/system/expl_particles
var/number = 10
var/turf/location
var/total_particles = 0
number = 10
/datum/effect/system/expl_particles/proc/set_up(n = 10, loca)
/datum/effect/system/expl_particles/set_up(n = 10, loca)
number = n
if(istype(loca, /turf/)) location = loca
else location = get_turf(loca)
/datum/effect/system/expl_particles/proc/start()
/datum/effect/system/expl_particles/start()
var/i = 0
for(i=0, i<src.number, i++)
spawn(0)
@@ -52,19 +50,15 @@
qdel(src)
return
/datum/effect/system/explosion
var/turf/location
/datum/effect/system/explosion/set_up(turf/loc)
..(loc=loc)
/datum/effect/system/explosion/proc/set_up(loca)
if(istype(loca, /turf/)) location = loca
else location = get_turf(loca)
/datum/effect/system/explosion/proc/start()
/datum/effect/system/explosion/start()
new/obj/effect/explosion( location )
var/datum/effect/system/expl_particles/P = new/datum/effect/system/expl_particles()
P.set_up(10,location)
P.start()
spawn(5)
var/datum/effect/effect/system/harmless_smoke_spread/S = new/datum/effect/effect/system/harmless_smoke_spread()
var/datum/effect/system/harmless_smoke_spread/S = new/datum/effect/system/harmless_smoke_spread()
S.set_up(5,0,location,null)
S.start()
+1 -1
View File
@@ -31,7 +31,7 @@
var/obj/effect/decal/cleanable/blood/gibs/gib = null
if(sparks)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(2, 1, location)
s.start()
+3 -3
View File
@@ -26,7 +26,7 @@
call(src,triggerproc)(M)
/obj/effect/mine/proc/triggerrad(obj)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
obj:radiation += 50
@@ -39,7 +39,7 @@
if(ismob(obj))
var/mob/M = obj
M.Stun(30)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
spawn(0)
@@ -56,7 +56,7 @@
qdel(src)
/obj/effect/mine/proc/triggerkick(obj)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
qdel(obj:client)
@@ -67,7 +67,7 @@
/obj/item/device/chameleon/proc/disrupt(var/delete_dummy = 1)
if(active_dummy)
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
spark_system.start()
@@ -87,7 +87,7 @@
if(M)
M.moved_recently = 0
M << "<span class='danger'>You feel a sharp shock!</span>"
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, M)
s.start()
+219 -4
View File
@@ -19,6 +19,7 @@
* Mini Gibber
* Toy xeno
* Toy chainsaws
* Action Figures
*/
@@ -448,7 +449,7 @@
throw_impact(atom/hit_atom)
..()
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
new /obj/effect/decal/cleanable/ash(src.loc)
@@ -474,7 +475,7 @@
throw_impact(atom/hit_atom)
..()
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
new /obj/effect/decal/cleanable/ash(src.loc)
@@ -488,7 +489,7 @@
if(M.m_intent == "run")
M << "\red You step on the snap pop!"
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(2, 0, src)
s.start()
new /obj/effect/decal/cleanable/ash(src.loc)
@@ -1163,7 +1164,7 @@ obj/item/toy/cards/deck/syndicate/black
/obj/item/toy/plushie/attack_self(mob/user as mob)
var/cuddle_verb = pick("hugs","cuddles","snugs")
user.visible_message("<span class='notice'>[user] [cuddle_verb] the [src].</span>")
playsound(get_turf(src), 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
playsound(get_turf(src), poof_sound, 50, 1, -1)
return ..()
/obj/random/plushie
@@ -1612,3 +1613,217 @@ obj/item/toy/cards/deck/syndicate/black
else
playsound(loc, "swing_hit", 50, 1, -1)
..()
/*
* Action Figures
*/
/obj/random/figure
name = "Random Action Figure"
desc = "This is a random toy action figure"
icon = 'icons/obj/toy.dmi'
icon_state = "nuketoy"
/obj/random/figure/item_to_spawn()
return pick(subtypesof(/obj/item/toy/figure))
/obj/item/toy/figure
name = "Non-Specific Action Figure action figure"
desc = "A \"Space Life\" brand... wait, what the hell is this thing?"
icon = 'icons/obj/toy.dmi'
icon_state = "nuketoy"
var/cooldown = 0
var/toysay = "What the fuck did you do?"
/obj/item/toy/figure/New()
..()
desc = "A \"Space Life\" brand [name]"
/obj/item/toy/figure/attack_self(mob/user as mob)
if(cooldown < world.time)
cooldown = (world.time + 30) //3 second cooldown
user << "<span class='notice'>The [src] says \"[toysay]\".</span>"
playsound(user, 'sound/machines/click.ogg', 20, 1)
/obj/item/toy/figure/cmo
name = "Chief Medical Officer action figure"
icon_state = "cmo"
toysay = "Suit sensors!"
/obj/item/toy/figure/assistant
name = "Assistant action figure"
icon_state = "assistant"
toysay = "Grey tide station wide!"
/obj/item/toy/figure/atmos
name = "Atmospheric Technician action figure"
icon_state = "atmos"
toysay = "Glory to Atmosia!"
/obj/item/toy/figure/bartender
name = "Bartender action figure"
icon_state = "bartender"
toysay = "Wheres my monkey?"
/obj/item/toy/figure/borg
name = "Cyborg action figure"
icon_state = "borg"
toysay = "I. LIVE. AGAIN."
/obj/item/toy/figure/botanist
name = "Botanist action figure"
icon_state = "botanist"
toysay = "Dude, I see colors..."
/obj/item/toy/figure/captain
name = "Captain action figure"
icon_state = "captain"
toysay = "Crew, the Nuke Disk is safely up my ass."
/obj/item/toy/figure/cargotech
name = "Cargo Technician action figure"
icon_state = "cargotech"
toysay = "For Cargonia!"
/obj/item/toy/figure/ce
name = "Chief Engineer action figure"
icon_state = "ce"
toysay = "Wire the solars!"
/obj/item/toy/figure/chaplain
name = "Chaplain action figure"
icon_state = "chaplain"
toysay = "Gods make me a killing machine please!"
/obj/item/toy/figure/chef
name = "Chef action figure"
icon_state = "chef"
toysay = "I swear it's not human meat."
/obj/item/toy/figure/chemist
name = "Chemist action figure"
icon_state = "chemist"
toysay = "Get your pills!"
/obj/item/toy/figure/clown
name = "Clown action figure"
icon_state = "clown"
toysay = "Honk!"
/obj/item/toy/figure/ian
name = "Ian action figure"
icon_state = "ian"
toysay = "Arf!"
/obj/item/toy/figure/detective
name = "Detective action figure"
icon_state = "detective"
toysay = "This airlock has grey jumpsuit and insulated glove fibers on it."
/obj/item/toy/figure/dsquad
name = "Death Squad Officer action figure"
icon_state = "dsquad"
toysay = "Eliminate all threats!"
/obj/item/toy/figure/engineer
name = "Engineer action figure"
icon_state = "engineer"
toysay = "Oh god, the singularity is loose!"
/obj/item/toy/figure/geneticist
name = "Geneticist action figure"
icon_state = "geneticist"
toysay = "I'm not qualified for this job."
/obj/item/toy/figure/hop
name = "Head of Persomnel action figure"
icon_state = "hop"
toysay = "Giving out all access!"
/obj/item/toy/figure/hos
name = "Head of Security action figure"
icon_state = "hos"
toysay = "I'm here to win, anything else is secondary."
/obj/item/toy/figure/qm
name = "Quartermaster action figure"
icon_state = "qm"
toysay = "Hail Cargonia!"
/obj/item/toy/figure/janitor
name = "Janitor action figure"
icon_state = "janitor"
toysay = "Look at the signs, you idiot."
/obj/item/toy/figure/lawyer
name = "Lawyer action figure"
icon_state = "lawyer"
toysay = "My client is a dirty traitor!"
/obj/item/toy/figure/librarian
name = "Librarian action figure"
icon_state = "librarian"
toysay = "One day while..."
/obj/item/toy/figure/md
name = "Medical Doctor action figure"
icon_state = "md"
toysay = "The patient is already dead!"
/obj/item/toy/figure/mime
name = "Mime action figure"
desc = "A \"Space Life\" brand Mime action figure."
icon_state = "mime"
toysay = "..."
/obj/item/toy/figure/miner
name = "Shaft Miner action figure"
icon_state = "miner"
toysay = "Oh god it's eating my intestines!"
/obj/item/toy/figure/ninja
name = "Ninja action figure"
icon_state = "ninja"
toysay = "Oh god! Stop shooting, I'm friendly!"
/obj/item/toy/figure/wizard
name = "Wizard action figure"
icon_state = "wizard"
toysay = "Ei Nath!"
/obj/item/toy/figure/rd
name = "Research Director action figure"
icon_state = "rd"
toysay = "Blowing all of the borgs!"
/obj/item/toy/figure/roboticist
name = "Roboticist action figure"
icon_state = "roboticist"
toysay = "He asked to be borged!"
/obj/item/toy/figure/scientist
name = "Scientist action figure"
icon_state = "scientist"
toysay = "Someone else must have made those bombs!"
/obj/item/toy/figure/syndie
name = "Nuclear Operative action figure"
icon_state = "syndie"
toysay = "Get that fucking disk!"
/obj/item/toy/figure/secofficer
name = "Security Officer action figure"
icon_state = "secofficer"
toysay = "I am the law!"
/obj/item/toy/figure/virologist
name = "Virologist action figure"
icon_state = "virologist"
toysay = "The cure is potassium!"
/obj/item/toy/figure/warden
name = "Warden action figure"
icon_state = "warden"
toysay = "Execute him for breaking in!"
+2 -2
View File
@@ -20,7 +20,7 @@ RCD
w_class = 3.0
materials = list(MAT_METAL=100000)
origin_tech = "engineering=4;materials=2"
var/datum/effect/effect/system/spark_spread/spark_system
var/datum/effect/system/spark_spread/spark_system
var/max_matter = 100
var/matter = 0
var/working = 0
@@ -29,7 +29,7 @@ RCD
New()
desc = "A RCD. It currently holds [matter]/[max_matter] matter-units."
src.spark_system = new /datum/effect/effect/system/spark_spread
src.spark_system = new /datum/effect/system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
rcd_list += src
@@ -41,7 +41,7 @@
user << "<span class='notice'>\The [src] is full.</span>"
return
reagents.remove_reagent(25,"water")
var/datum/effect/effect/system/bad_smoke_spread/smoke = new /datum/effect/effect/system/bad_smoke_spread()
var/datum/effect/system/bad_smoke_spread/smoke = new /datum/effect/system/bad_smoke_spread()
smoke.set_up(5, 0, user.loc)
smoke.start()
playsound(user.loc, 'sound/effects/bamf.ogg', 50, 2)
+2 -2
View File
@@ -96,7 +96,7 @@ LIGHTERS ARE IN LIGHTERS.DM
src.lit = 1
damtype = "fire"
if(reagents.get_reagent_amount("plasma")) // the plasma explodes when exposed to fire
var/datum/effect/effect/system/reagents_explosion/e = new()
var/datum/effect/system/reagents_explosion/e = new()
e.set_up(round(reagents.get_reagent_amount("plasma") / 2.5, 1), get_turf(src), 0, 0)
e.start()
if(ismob(loc))
@@ -105,7 +105,7 @@ LIGHTERS ARE IN LIGHTERS.DM
qdel(src)
return
if(reagents.get_reagent_amount("fuel")) // the fuel explodes, too, but much less violently
var/datum/effect/effect/system/reagents_explosion/e = new()
var/datum/effect/system/reagents_explosion/e = new()
e.set_up(round(reagents.get_reagent_amount("fuel") / 5, 1), get_turf(src), 0, 0)
e.start()
if(ismob(loc))
@@ -85,6 +85,7 @@
M.dna.SetSEValue(block,src.GetValue())
domutcheck(M, null, block!=null)
uses--
M.update_mutations()
spawn(0)//this prevents the collapse of space-time continuum
if (user)
+2 -2
View File
@@ -3,7 +3,7 @@ obj/item/weapon/firework
icon = 'icons/obj/fireworks.dmi'
icon_state = "rocket_0"
var/litzor = 0
var/datum/effects/system/sparkel_spread/S
var/datum/effect/system/sparkle_spread/S
obj/item/weapon/firework/attackby(obj/item/weapon/W,mob/user, params)
if(litzor)
return
@@ -25,7 +25,7 @@ obj/item/weapon/sparkler
icon = 'icons/obj/fireworks.dmi'
icon_state = "sparkler_0"
var/litzor = 0
var/datum/effect/effect/system/spark_spread/S
var/datum/effect/system/spark_spread/S
obj/item/weapon/sparkler/attackby(obj/item/weapon/W,mob/user, params)
if(litzor)
return
@@ -279,7 +279,7 @@
end_temp += G.reagents.chem_temp
reagents.chem_temp = end_temp
if(reagents.total_volume) //The possible reactions didnt use up all reagents.
var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread()
var/datum/effect/system/steam_spread/steam = new /datum/effect/system/steam_spread()
steam.set_up(10, 0, get_turf(src))
steam.attach(src)
steam.start()
@@ -359,7 +359,7 @@
G.reagents.trans_to(src, G.reagents.total_volume)
if(reagents.total_volume) //The possible reactions didnt use up all reagents.
var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread()
var/datum/effect/system/steam_spread/steam = new /datum/effect/system/steam_spread()
steam.set_up(10, 0, get_turf(src))
steam.attach(src)
steam.start()
@@ -6,11 +6,11 @@
det_time = 20
item_state = "flashbang"
slot_flags = SLOT_BELT
var/datum/effect/effect/system/bad_smoke_spread/smoke
var/datum/effect/system/bad_smoke_spread/smoke
New()
..()
src.smoke = new /datum/effect/effect/system/bad_smoke_spread
src.smoke = new /datum/effect/system/bad_smoke_spread
src.smoke.attach(src)
Destroy()
@@ -13,7 +13,7 @@
user.visible_message(pick("<span class='suicide'>[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.</span>", \
"<span class='suicide'>[user] is falling on the [src.name]! It looks like \he's trying to commit suicide.</span>"))
return (BRUTELOSS|FIRELOSS)
/obj/item/weapon/melee/energy/attack_self(mob/living/carbon/user)
if(user.disabilities & CLUMSY && prob(50))
user << "<span class='warning'>You accidentally cut yourself with [src], like a doofus!</span>"
@@ -84,7 +84,7 @@
edge = 1
var/hacked = 0
var/blade_color
/obj/item/weapon/melee/energy/sword/New()
if(item_color == null)
item_color = pick("red", "blue", "green", "purple")
@@ -106,7 +106,7 @@
return
..()
return
/obj/item/weapon/melee/energy/sword/cyborg/saw //Used by medical Syndicate cyborgs
name = "energy saw"
desc = "For heavy duty cutting. It has a carbon-fiber blade in addition to a toggleable hard-light edge to dramatically increase sharpness."
@@ -129,7 +129,7 @@
/obj/item/weapon/melee/energy/sword/cyborg/saw/IsShield()
return 0
/obj/item/weapon/melee/energy/sword/saber
/obj/item/weapon/melee/energy/sword/saber/blue
@@ -185,7 +185,7 @@
desc = "Arrrr matey."
icon_state = "cutlass0"
icon_state_on = "cutlass1"
/obj/item/weapon/melee/energy/sword/pirate/New()
return
@@ -202,11 +202,11 @@
w_class = 4//So you can't hide it in your pocket or some such.
flags = NOSHIELD
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
var/datum/effect/effect/system/spark_spread/spark_system
var/datum/effect/system/spark_spread/spark_system
//Most of the other special functions are handled in their own files. aka special snowflake code so kewl
/obj/item/weapon/melee/energy/blade/New()
spark_system = new /datum/effect/effect/system/spark_spread()
spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
@@ -214,4 +214,4 @@
qdel(src)
/obj/item/weapon/melee/energy/blade/attack_self(mob/user)
return
return
+1 -1
View File
@@ -54,7 +54,7 @@
if(!((user == loc || (in_range(src, user) && istype(src.loc, /turf)))))
return
var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread()
var/datum/effect/system/harmless_smoke_spread/smoke = new /datum/effect/system/harmless_smoke_spread()
smoke.set_up(5, 0, user.loc)
smoke.attach(user)
smoke.start()
@@ -73,7 +73,7 @@
overlays += image('icons/obj/storage.dmi', icon_locking)
locked = 0
if(istype(weapon, /obj/item/weapon/melee/energy/blade))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
@@ -7,7 +7,7 @@
w_class = 4.0
item_state = "jetpack"
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
var/datum/effect/effect/system/ion_trail_follow/ion_trail
var/datum/effect/system/ion_trail_follow/ion_trail
var/on = 0.0
var/stabilization_on = 0
var/volume_rate = 500 //Needed for borg jetpack transfer
@@ -15,7 +15,7 @@
/obj/item/weapon/tank/jetpack/New()
..()
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
src.ion_trail = new /datum/effect/system/ion_trail_follow()
src.ion_trail.set_up(src)
return
@@ -124,7 +124,7 @@
/obj/item/weapon/tank/jetpack/carbondioxide/New()
..()
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
src.ion_trail = new /datum/effect/system/ion_trail_follow()
src.ion_trail.set_up(src)
air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
@@ -164,4 +164,4 @@
var/allgases = G.carbon_dioxide + G.nitrogen + G.oxygen + G.toxins
if(allgases >= 0.005)
. = 1
qdel(G)
qdel(G)
@@ -118,13 +118,16 @@
data["valveOpen"] = using_internal ? 1 : 0
data["maskConnected"] = 0
if(istype(loc,/mob/living/carbon))
var/mob/living/carbon/location = loc
if(location.internal == src)
if(location.wear_mask && (location.wear_mask.flags & AIRTIGHT))
if(iscarbon(loc))
var/mob/living/carbon/C = loc
if(C.internal == src)
data["maskConnected"] = 1
else
if(C.wear_mask && (C.wear_mask.flags & AIRTIGHT))
data["maskConnected"] = 1
else if(ishuman(location))
var/mob/living/carbon/human/H = location
else if(ishuman(C))
var/mob/living/carbon/human/H = C
if(H.head && (H.head.flags & AIRTIGHT))
data["maskConnected"] = 1
@@ -338,7 +338,7 @@
delete()
amount = amt
if(amount)
var/datum/effect/effect/system/freezing_smoke_spread/F = new /datum/effect/effect/system/freezing_smoke_spread
var/datum/effect/system/freezing_smoke_spread/F = new /datum/effect/system/freezing_smoke_spread
F.set_up(amount, 0, src.loc)
F.start()
if(blast)
@@ -367,16 +367,16 @@
L.ExtinguishMob()
return
/datum/effect/effect/system/freezing_smoke_spread
/datum/effect/system/freezing_smoke_spread
/datum/effect/effect/system/freezing_smoke_spread/set_up(n = 6, c = 0, loca)
/datum/effect/system/freezing_smoke_spread/set_up(n = 6, c = 0, loca)
number = n
if(istype(loca, /turf/))
location = loca
else
location = get_turf(loca)
/datum/effect/effect/system/freezing_smoke_spread/start()
/datum/effect/system/freezing_smoke_spread/start()
var/i = 0
for(i=0, i<number, i++)
spawn(0)
+1 -1
View File
@@ -471,7 +471,7 @@
origin_tech = "combat=5;powerstorage=5"
/obj/item/weapon/twohanded/mjollnir/proc/shock(mob/living/target as mob)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread()
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread()
s.set_up(5, 1, target.loc)
s.start()
target.take_organ_damage(0,30)
@@ -212,7 +212,7 @@
user << "<span class='warning'>Error: User located in container--aborting for safety.</span>"
playsound(E.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
return
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
do_teleport(src, E.pad, 0)
@@ -234,7 +234,7 @@
user << "<span class='warning'>Error: User located in container--aborting for safety.</span>"
playsound(E.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
return
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
do_teleport(src, L)
@@ -40,7 +40,7 @@
if(isliving(usr))
var/mob/living/L = usr
if(L.electrocute_act(17, src))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
return 2
@@ -109,7 +109,7 @@
E.teleporting = 0
return
E.teleporting = 0
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
do_teleport(src, E.pad, 0)
@@ -127,7 +127,7 @@
E.teleporting = 0
return
E.teleporting = 0
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
do_teleport(src, L)
@@ -206,7 +206,7 @@
if(isliving(user))
var/mob/living/L = user
if(L.electrocute_act(17, src))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
return
@@ -72,7 +72,7 @@
A.updateicon()
flick("echair_shock", src)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(12, 1, src)
s.start()
visible_message("<span class='danger'>The electric chair went off!</span>", "<span class='danger'>You hear a deep sharp shock!</span>")
+1 -1
View File
@@ -239,7 +239,7 @@
var/obj/structure/cable/C = T.get_cable_node()
if(C)
if(electrocute_mob(user, C, src))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
return 1
+4 -4
View File
@@ -428,7 +428,7 @@
return
if(istype(W, /obj/item/weapon/melee/energy/blade))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
@@ -599,7 +599,7 @@
if(isrobot(user))
return
if(istype(I, /obj/item/weapon/melee/energy/blade))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
@@ -659,7 +659,7 @@
if(isrobot(user))
return
if(istype(W, /obj/item/weapon/melee/energy/blade))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
@@ -766,7 +766,7 @@
if(isrobot(user))
return
if(istype(I, /obj/item/weapon/melee/energy/blade))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)