mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
Merge remote-tracking branch 'upstream/master' into plushies
This commit is contained in:
@@ -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))
|
||||
|
||||
@@ -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()
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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!"
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user