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
@@ -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