This commit is contained in:
Tsurupeta
2023-08-08 14:01:15 +03:00
parent deb1ffc160
commit 07034d2ec0
11 changed files with 120 additions and 65 deletions
@@ -15,6 +15,10 @@
suit.deactivate(1, 1)
..()
/obj/item/clothing/head/helmet/space/chronos/helmet/Destroy()
suit = null
return ..()
/obj/item/clothing/suit/space/chronos
name = "Chronosuit"
desc = "An advanced spacesuit equipped with time-bluespace teleportation and anti-compression technology."
@@ -42,6 +46,13 @@
teleport_now.chronosuit = src
teleport_now.target = src
/obj/item/clothing/suit/space/chronos/Destroy()
teleport_now.chronosuit = null
teleport_now.target = null
QDEL_NULL(teleport_now)
helmet = null
return ..()
/obj/item/clothing/suit/space/chronos/proc/new_camera(mob/user)
if(camera)
qdel(camera)
@@ -48,9 +48,9 @@
receiver.holder = src
/obj/item/integrated_circuit/input/tcomm_interceptor/Destroy()
qdel(receiver)
QDEL_NULL(receiver)
GLOB.ic_jammers -= src
..()
return ..()
/obj/item/integrated_circuit/input/tcomm_interceptor/receive_signal(datum/signal/signal)
if((signal.transmission_method == TRANSMISSION_SUBSPACE) && get_pin_data(IC_INPUT, 1))
@@ -29,7 +29,7 @@
/obj/item/integrated_circuit/output/text_to_radio/Destroy()
qdel(radio)
GLOB.ic_speakers -= src
..()
return ..()
/obj/item/integrated_circuit/output/text_to_radio/on_data_written()
var/freq = get_pin_data(IC_INPUT, 2)
@@ -52,7 +52,7 @@
icon_state = "raft"
/obj/vehicle/ridden/lavaboat/dragon/gladiator/Initialize(mapload)
..()
. = ..()
var/datum/component/riding/D = LoadComponent(/datum/component/riding)
D.vehicle_move_delay = 1
D.allowed_turf_typecache = typecacheof(/turf/open) //thanks Bob for telling me it was on purpose
@@ -507,125 +507,89 @@
qdel(src)
//normal chests
/obj/structure/closet/crate/necropolis/tendril/PopulateContents()
/obj/structure/closet/crate/necropolis/tendril/PopulateContents(spawn_cell = TRUE)
var/loot = rand(1,35)
new /obj/item/stock_parts/cell/high/plus/argent(src)
if(spawn_cell)
new /obj/item/stock_parts/cell/high/plus/argent(src)
switch(loot)
if(1)
new /obj/item/shared_storage/red(src)
return list(/obj/item/shared_storage/red)
if(2)
new /obj/item/clothing/suit/space/hardsuit/cult(src)
return list(/obj/item/clothing/suit/space/hardsuit/cult)
if(3)
new /obj/item/soulstone/anybody(src)
return list(/obj/item/soulstone/anybody)
if(4)
new /obj/item/katana/cursed(src)
return list(/obj/item/katana/cursed)
if(5)
new /obj/item/clothing/glasses/godeye(src)
return list(/obj/item/clothing/glasses/godeye)
if(6)
new /obj/item/reagent_containers/glass/bottle/potion/flight(src)
return list(/obj/item/reagent_containers/glass/bottle/potion/flight)
if(7)
new /obj/item/pickaxe/diamond(src)
return list(/obj/item/pickaxe/diamond)
if(8)
if(prob(50))
new /obj/item/disk/design_disk/modkit_disc/resonator_blast(src)
return list(/obj/item/disk/design_disk/modkit_disc/resonator_blast)
else
new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(src)
return list(/obj/item/disk/design_disk/modkit_disc/rapid_repeater)
if(9)
new /obj/item/rod_of_asclepius(src)
return list(/obj/item/rod_of_asclepius)
if(10)
new /obj/item/organ/heart/cursed/wizard(src)
return list(/obj/item/organ/heart/cursed/wizard)
if(11)
new /obj/item/ship_in_a_bottle(src)
return list(/obj/item/ship_in_a_bottle)
if(12)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker/damaged(src)
return list(/obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker)
if(13)
new /obj/item/jacobs_ladder(src)
return list(/obj/item/jacobs_ladder)
if(14)
new /obj/item/nullrod/scythe/talking(src)
return list(/obj/item/nullrod/scythe/talking)
if(15)
new /obj/item/nullrod/armblade(src)
return list(/obj/item/nullrod/armblade)
if(16)
new /obj/item/guardiancreator(src)
return list(/obj/item/guardiancreator)
if(17)
if(prob(50))
new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src)
return list(/obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe)
else
new /obj/item/disk/design_disk/modkit_disc/bounty(src)
return list(/obj/item/disk/design_disk/modkit_disc/bounty)
if(18)
new /obj/item/warp_cube/red(src)
return list(/obj/item/warp_cube/red)
if(19)
new /obj/item/wisp_lantern(src)
return list(/obj/item/wisp_lantern)
if(20)
new /obj/item/immortality_talisman(src)
return list(/obj/item/immortality_talisman)
if(21)
new /obj/item/gun/magic/hook(src)
return list(/obj/item/gun/magic/hook)
if(22)
new /obj/item/voodoo(src)
return list(/obj/item/voodoo)
if(23)
new /obj/item/grenade/clusterbuster/inferno(src)
return list(/obj/item/grenade/clusterbuster/inferno)
if(24)
new /obj/item/reagent_containers/food/drinks/bottle/holywater/hell(src)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor/damaged(src)
return list(/obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor, /obj/item/reagent_containers/food/drinks/bottle/holywater/hell)
if(25)
new /obj/item/book/granter/spell/summonitem(src)
return list(/obj/item/book/granter/spell/summonitem)
if(26)
new /obj/item/book_of_babel(src)
return list(/obj/item/book_of_babel)
if(27)
new /obj/item/borg/upgrade/modkit/lifesteal(src)
new /obj/item/bedsheet/cult(src)
return list(/obj/item/borg/upgrade/modkit/lifesteal, /obj/item/bedsheet/cult)
if(28)
new /obj/item/clothing/neck/necklace/memento_mori(src)
return list(/obj/item/clothing/neck/necklace/memento_mori)
if(29)
new /obj/item/gun/magic/staff/door(src)
return list(/obj/item/gun/magic/staff/door)
if(30)
new /obj/item/katana/necropolis(src)
return list(/obj/item/katana/necropolis)
if(31)
new /obj/item/gun/ballistic/shotgun/boltaction(src)
return list(/obj/item/gun/ballistic/shotgun/boltaction)
if(32)
new /obj/item/gun/magic/staff/locker/trashy
return list(/obj/item/gun/magic/staff/locker)
if(33)
new /obj/item/clothing/accessory/fireresist(src)
return list(/obj/item/clothing/accessory/fireresist)
if(34)
new /obj/item/clothing/accessory/lavawalk(src)
return list(/obj/item/clothing/accessory/lavawalk)
if(35)
new /obj/item/gun/energy/kinetic_accelerator/premiumka/ashenka(src)
return list(/obj/item/gun/energy/kinetic_accelerator/premiumka/ashenka)
/obj/item/gun/magic/staff/locker/trashy
max_charges = 1
@@ -781,12 +745,8 @@
/obj/structure/closet/crate/necropolis/tendril/legion_loot
name = "screeching legion crate"
/obj/structure/closet/crate/necropolis/tendril/legion_loot/PopulateContents()
var/obj/structure/closet/crate/necropolis/tendril/N = new /obj/structure/closet/crate/necropolis/tendril()
var/list/weedeater = N.PopulateContents()
for(var/loot in weedeater)
new loot(src)
qdel(N)
/obj/structure/closet/crate/necropolis/tendril/legion_loot/PopulateContents(spawn_cell)
. = ..(spawn_cell = FALSE) // I hate the previous guy who wrote a lot of bad code instead of this 1 line
/obj/structure/closet/crate/necropolis/legion
name = "echoing legion crate"
@@ -804,13 +764,86 @@
new /obj/item/clothing/mask/gas/dagoth(src)
new /obj/item/crusher_trophy/golden_skull(src)
new /obj/item/borg/upgrade/modkit/skull(src)
var/obj/structure/closet/crate/necropolis/tendril/T = new /obj/structure/closet/crate/necropolis/tendril //Yup, i know, VERY spaghetti code.
var/obj/item/L
for(var/i = 0, i < 3, i++)
L = T.PopulateContents()
for(var/loot in L)
new loot(src)
qdel(T)
var/loot = rand(1,35) // Copying 1 switch statement is still better than having 9 runtimes on spawn
switch(loot)
if(1)
new /obj/item/shared_storage/red(src)
if(2)
new /obj/item/clothing/suit/space/hardsuit/cult(src)
if(3)
new /obj/item/soulstone/anybody(src)
if(4)
new /obj/item/katana/cursed(src)
if(5)
new /obj/item/clothing/glasses/godeye(src)
if(6)
new /obj/item/reagent_containers/glass/bottle/potion/flight(src)
if(7)
new /obj/item/pickaxe/diamond(src)
if(8)
if(prob(50))
new /obj/item/disk/design_disk/modkit_disc/resonator_blast(src)
else
new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(src)
if(9)
new /obj/item/rod_of_asclepius(src)
if(10)
new /obj/item/organ/heart/cursed/wizard(src)
if(11)
new /obj/item/ship_in_a_bottle(src)
if(12)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker/damaged(src)
if(13)
new /obj/item/jacobs_ladder(src)
if(14)
new /obj/item/nullrod/scythe/talking(src)
if(15)
new /obj/item/nullrod/armblade(src)
if(16)
new /obj/item/guardiancreator(src)
if(17)
if(prob(50))
new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src)
else
new /obj/item/disk/design_disk/modkit_disc/bounty(src)
if(18)
new /obj/item/warp_cube/red(src)
if(19)
new /obj/item/wisp_lantern(src)
if(20)
new /obj/item/immortality_talisman(src)
if(21)
new /obj/item/gun/magic/hook(src)
if(22)
new /obj/item/voodoo(src)
if(23)
new /obj/item/grenade/clusterbuster/inferno(src)
if(24)
new /obj/item/reagent_containers/food/drinks/bottle/holywater/hell(src)
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor/damaged(src)
if(25)
new /obj/item/book/granter/spell/summonitem(src)
if(26)
new /obj/item/book_of_babel(src)
if(27)
new /obj/item/borg/upgrade/modkit/lifesteal(src)
new /obj/item/bedsheet/cult(src)
if(28)
new /obj/item/clothing/neck/necklace/memento_mori(src)
if(29)
new /obj/item/gun/magic/staff/door(src)
if(30)
new /obj/item/katana/necropolis(src)
if(31)
new /obj/item/gun/ballistic/shotgun/boltaction(src)
if(32)
new /obj/item/gun/magic/staff/locker/trashy
if(33)
new /obj/item/clothing/accessory/fireresist(src)
if(34)
new /obj/item/clothing/accessory/lavawalk(src)
if(35)
new /obj/item/gun/energy/kinetic_accelerator/premiumka/ashenka(src)
//dagoth ur mask
/obj/item/clothing/mask/gas/dagoth
@@ -261,5 +261,5 @@
/obj/item/melee/diamondaxe/priest
/obj/item/melee/diamondaxe/priest/Initialize(mapload)
..()
. = ..()
QDEL_IN(src, 30)
@@ -52,7 +52,10 @@
/obj/item/gun/energy/kinetic_accelerator/nopenalty
desc = "A self recharging, ranged mining tool that does increased damage in low pressure. This one feels a bit heavier than usual."
ammo_type = list(/obj/item/projectile/kinetic/nopenalty)
ammo_type = list(/obj/item/ammo_casing/energy/kinetic/nopenalty)
/obj/item/ammo_casing/energy/kinetic/nopenalty
projectile_type = /obj/item/projectile/kinetic/nopenalty
/obj/item/projectile/kinetic/nopenalty
@@ -106,7 +106,7 @@
icon_state = "barrel"
/obj/structure/fermenting_barrel/doom/Initialize(mapload)
..()
. = ..()
src.reagents.add_reagent(pick(subtypesof(/datum/reagent/toxin)), 300)
/obj/structure/fermenting_barrel/doom/Destroy()
@@ -71,7 +71,7 @@
var/list/cmegalist = list()
/obj/effect/wrath/Initialize(mapload)
..()
. = ..()
megalist = list("Cockblock", "Cockblock", "Cockblock") //cockblock just to be sure that no one goes through the wrath wall in the 10 minute grace period
addtimer(CALLBACK(src, .proc/updatemegalist), 6000) //10 minutes delay so that all megafauna can spawn and etc.
@@ -8,13 +8,9 @@
use_power = 1
idle_power_usage = 200
active_power_usage = 5000
circuit = /obj/item/circuitboard/machine/telesci_pad
var/efficiency
/obj/machinery/telepad/Initialize(mapload)
. = ..()
var/obj/item/circuitboard/machine/B = new /obj/item/circuitboard/machine/telesci_pad(null)
B.apply_default_parts(src)
/obj/item/circuitboard/machine/telesci_pad
name = "Telepad (Machine Board)"
build_path = /obj/machinery/telepad