Continual updates until merged
This commit is contained in:
@@ -270,8 +270,8 @@
|
||||
var/obj/structure/cable/C = T.get_cable_node()
|
||||
if(C)
|
||||
playsound(src, 'sound/magic/lightningshock.ogg', 100, 1, extrarange = 5)
|
||||
tesla_zap(src, 3, C.powernet.avail * 0.01, TESLA_MOB_DAMAGE | TESLA_OBJ_DAMAGE | TESLA_MOB_STUN | TESLA_ALLOW_DUPLICATES) //Zap for 1/100 of the amount of power. At a million watts in the grid, it will be as powerful as a tesla revolver shot.
|
||||
C.powernet.load += C.powernet.avail * 0.0375 // you can gain up to 3.5 via the 4x upgrades power is halved by the pole so thats 2x then 1X then .5X for 3.5x the 3 bounces shock.
|
||||
tesla_zap(src, 3, C.newavail() * 0.01, TESLA_MOB_DAMAGE | TESLA_OBJ_DAMAGE | TESLA_MOB_STUN | TESLA_ALLOW_DUPLICATES) //Zap for 1/100 of the amount of power. At a million watts in the grid, it will be as powerful as a tesla revolver shot.
|
||||
C.add_delayedload(C.newavail() * 0.0375) // you can gain up to 3.5 via the 4x upgrades power is halved by the pole so thats 2x then 1X then .5X for 3.5x the 3 bounces shock.
|
||||
return ..()
|
||||
|
||||
/obj/structure/grille/get_dumping_location(datum/component/storage/source,mob/user)
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
var/glass_type = /obj/item/stack/sheet/glass
|
||||
var/glass_amount = 1
|
||||
var/mutable_appearance/crack_overlay
|
||||
var/list/debris = list()
|
||||
can_be_unanchored = TRUE
|
||||
resistance_flags = ACID_PROOF
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100)
|
||||
@@ -27,7 +26,6 @@
|
||||
var/breaksound = "shatter"
|
||||
var/hitsound = 'sound/effects/Glasshit.ogg'
|
||||
var/rad_insulation = RAD_VERY_LIGHT_INSULATION
|
||||
var/spawn_cleanable_shards = TRUE
|
||||
|
||||
/obj/structure/window/examine(mob/user)
|
||||
..()
|
||||
@@ -56,22 +54,8 @@
|
||||
ini_dir = dir
|
||||
air_update_turf(1)
|
||||
|
||||
// Precreate our own debris
|
||||
|
||||
var/shards = 1
|
||||
if(fulltile)
|
||||
shards++
|
||||
setDir()
|
||||
var/rods = 0
|
||||
if(reinf)
|
||||
rods++
|
||||
if(fulltile)
|
||||
rods++
|
||||
|
||||
for(var/i in 1 to shards)
|
||||
debris += new /obj/item/shard(src)
|
||||
if(rods)
|
||||
debris += new /obj/item/stack/rods(src, rods)
|
||||
|
||||
//windows only block while reinforced and fulltile, so we'll use the proc
|
||||
real_explosion_block = explosion_block
|
||||
@@ -98,8 +82,6 @@
|
||||
|
||||
/obj/structure/window/narsie_act()
|
||||
add_atom_colour(NARSIE_WINDOW_COLOUR, FIXED_COLOUR_PRIORITY)
|
||||
for(var/obj/item/shard/shard in debris)
|
||||
shard.add_atom_colour(NARSIE_WINDOW_COLOUR, FIXED_COLOUR_PRIORITY)
|
||||
|
||||
/obj/structure/window/ratvar_act()
|
||||
if(!fulltile)
|
||||
@@ -288,16 +270,17 @@
|
||||
if(!disassembled)
|
||||
playsound(src, breaksound, 70, 1)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(spawn_cleanable_shards)
|
||||
new /obj/effect/decal/cleanable/glass(get_turf(src))
|
||||
for(var/i in debris)
|
||||
var/obj/item/I = i
|
||||
I.forceMove(drop_location())
|
||||
transfer_fingerprints_to(I)
|
||||
debris -= I
|
||||
for(var/obj/item/shard/debris in spawnDebris(drop_location()))
|
||||
transfer_fingerprints_to(debris) // transfer fingerprints to shards only
|
||||
qdel(src)
|
||||
update_nearby_icons()
|
||||
|
||||
/obj/structure/window/proc/spawnDebris(location)
|
||||
. = list()
|
||||
. += new /obj/item/shard(location)
|
||||
. += new /obj/effect/decal/cleanable/glass(location)
|
||||
if (reinf)
|
||||
. += new /obj/item/stack/rods(location, (fulltile ? 2 : 1))
|
||||
|
||||
/obj/structure/window/proc/can_be_rotated(mob/user,rotation_type)
|
||||
if(anchored)
|
||||
@@ -425,7 +408,6 @@
|
||||
explosion_block = 1
|
||||
glass_type = /obj/item/stack/sheet/plasmaglass
|
||||
rad_insulation = RAD_NO_INSULATION
|
||||
spawn_cleanable_shards = FALSE
|
||||
|
||||
/obj/structure/window/plasma/spawner/east
|
||||
dir = EAST
|
||||
@@ -521,7 +503,6 @@
|
||||
fulltile = TRUE
|
||||
flags_1 = PREVENT_CLICK_UNDER_1
|
||||
smooth = SMOOTH_TRUE
|
||||
|
||||
canSmoothWith = list(/obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/plasma/reinforced/fulltile)
|
||||
level = 3
|
||||
glass_amount = 2
|
||||
@@ -616,18 +597,15 @@
|
||||
var/made_glow = FALSE
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/Initialize(mapload, direct)
|
||||
if(fulltile)
|
||||
made_glow = TRUE
|
||||
. = ..()
|
||||
QDEL_LIST(debris)
|
||||
var/amount_of_gears = 2
|
||||
if(fulltile)
|
||||
new /obj/effect/temp_visual/ratvar/window(get_turf(src))
|
||||
amount_of_gears = 4
|
||||
for(var/i in 1 to amount_of_gears)
|
||||
debris += new /obj/item/clockwork/alloy_shards/medium/gear_bit()
|
||||
change_construction_value(fulltile ? 2 : 1)
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/spawnDebris(location)
|
||||
. = list()
|
||||
var/gearcount = fulltile ? 4 : 2
|
||||
for(var/i in 1 to gearcount)
|
||||
. += new /obj/item/clockwork/alloy_shards/medium/gear_bit(location)
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/setDir(direct)
|
||||
if(!made_glow)
|
||||
var/obj/effect/E = new /obj/effect/temp_visual/ratvar/window/single(get_turf(src))
|
||||
@@ -646,7 +624,7 @@
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/narsie_act()
|
||||
take_damage(rand(25, 75), BRUTE)
|
||||
if(src)
|
||||
if(!QDELETED(src))
|
||||
var/previouscolor = color
|
||||
color = "#960000"
|
||||
animate(src, color = previouscolor, time = 8)
|
||||
@@ -666,6 +644,17 @@
|
||||
level = 3
|
||||
glass_amount = 2
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/spawnDebris(location)
|
||||
. = list()
|
||||
for(var/i in 1 to 4)
|
||||
. += new /obj/item/clockwork/alloy_shards/medium/gear_bit(location)
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/Initialize(mapload, direct)
|
||||
made_glow = TRUE
|
||||
new /obj/effect/temp_visual/ratvar/window(get_turf(src))
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/fulltile/unanchored
|
||||
anchored = FALSE
|
||||
|
||||
@@ -687,7 +676,6 @@
|
||||
decon_speed = 10
|
||||
CanAtmosPass = ATMOS_PASS_YES
|
||||
resistance_flags = FLAMMABLE
|
||||
spawn_cleanable_shards = FALSE
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
|
||||
breaksound = 'sound/items/poster_ripped.ogg'
|
||||
hitsound = 'sound/weapons/slashmiss.ogg'
|
||||
@@ -696,13 +684,13 @@
|
||||
|
||||
/obj/structure/window/paperframe/Initialize()
|
||||
. = ..()
|
||||
QDEL_LIST(debris)
|
||||
var/papers = rand(1,4)
|
||||
debris += new /obj/item/stack/sheet/mineral/wood()
|
||||
for(var/i in 1 to papers)
|
||||
debris += new /obj/item/paper/natural()
|
||||
update_icon()
|
||||
|
||||
/obj/structure/window/paperframe/spawnDebris(location)
|
||||
. = list(new /obj/item/stack/sheet/mineral/wood(location))
|
||||
for (var/i in 1 to rand(1,4))
|
||||
. += new /obj/item/paper/natural(location)
|
||||
|
||||
/obj/structure/window/paperframe/attack_hand(mob/user)
|
||||
. = ..()
|
||||
if(.)
|
||||
@@ -747,4 +735,4 @@
|
||||
update_icon()
|
||||
return
|
||||
..()
|
||||
update_icon()
|
||||
update_icon()
|
||||
Reference in New Issue
Block a user