mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
Initialize lootdrop spawners and fix Sol trader vehicle spawn to have enough keys (#17586)
* Weeeee * Right * They have to call parent anyways
This commit is contained in:
@@ -3,25 +3,23 @@
|
||||
icon_state = "questionmark"
|
||||
color = "#00FF00"
|
||||
var/lootcount = 1 //how many items will be spawned
|
||||
var/lootdoubles = 1 //if the same item can be spawned twice
|
||||
var/lootdoubles = TRUE //if the same item can be spawned twice
|
||||
var/list/loot //a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
|
||||
|
||||
/obj/effect/spawner/lootdrop/New()
|
||||
..()
|
||||
if(loot && loot.len)
|
||||
for(var/i = lootcount, i > 0, i--)
|
||||
if(!loot.len) break
|
||||
var/lootspawn = pickweight(loot)
|
||||
if(!lootdoubles)
|
||||
loot.Remove(lootspawn)
|
||||
|
||||
if(lootspawn)
|
||||
new lootspawn(loc)
|
||||
/obj/effect/spawner/lootdrop/Initialize(mapload)
|
||||
. = ..()
|
||||
while(lootcount)
|
||||
var/lootspawn = pickweight(loot)
|
||||
if(!lootdoubles)
|
||||
loot.Remove(lootspawn)
|
||||
if(lootspawn)
|
||||
new lootspawn(get_turf(src))
|
||||
lootcount--
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/spawner/lootdrop/armory_contraband
|
||||
name = "armory contraband gun spawner"
|
||||
lootdoubles = 0
|
||||
lootdoubles = FALSE
|
||||
|
||||
loot = list(
|
||||
/obj/item/gun/projectile/automatic/pistol = 8,
|
||||
@@ -181,8 +179,7 @@
|
||||
|
||||
/obj/effect/spawner/lootdrop/crate_spawner // for ruins
|
||||
name = "lootcrate spawner"
|
||||
lootdoubles = 0
|
||||
|
||||
lootdoubles = FALSE
|
||||
loot = list(
|
||||
/obj/structure/closet/crate/secure/loot = 20,
|
||||
"" = 80,
|
||||
@@ -193,7 +190,6 @@
|
||||
/obj/effect/spawner/lootdrop/trade_sol/
|
||||
name = "trader item spawner"
|
||||
lootcount = 6
|
||||
lootdoubles = 1
|
||||
color = "#00FFFF"
|
||||
|
||||
|
||||
@@ -218,7 +214,6 @@
|
||||
|
||||
/obj/effect/spawner/lootdrop/trade_sol/minerals
|
||||
name = "2. minerals"
|
||||
lootdoubles = 1
|
||||
loot = list(
|
||||
// Common stuff you get from mining which isn't already present on the station
|
||||
// Note that plasma and derived hybrid materials are NOT included in this list because plasma is the trader's objective!
|
||||
@@ -240,20 +235,13 @@
|
||||
/obj/item/stack/sheet/mineral/sandstone = 50
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/trade_sol/minerals/New()
|
||||
if(loot && loot.len)
|
||||
for(var/i = lootcount, i > 0, i--)
|
||||
if(!loot.len)
|
||||
break
|
||||
var/lootspawn = pickweight(loot)
|
||||
if(!lootdoubles)
|
||||
loot.Remove(lootspawn)
|
||||
if(lootspawn)
|
||||
var/obj/item/stack/sheet/S = new lootspawn(get_turf(src))
|
||||
S.amount = 25
|
||||
/obj/effect/spawner/lootdrop/trade_sol/minerals/Initialize(mapload)
|
||||
while(lootcount)
|
||||
var/lootspawn = pickweight(loot)
|
||||
var/obj/item/stack/sheet/S = new lootspawn(get_turf(src))
|
||||
S.amount = 25
|
||||
lootcount--
|
||||
. = ..()
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/effect/spawner/lootdrop/trade_sol/donksoft
|
||||
name = "3. donksoft gear"
|
||||
@@ -366,16 +354,14 @@
|
||||
/obj/vehicle/space/speedbike = 50
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/trade_sol/vehicle/New()
|
||||
if(!loot.len)
|
||||
return
|
||||
var/lootspawn = pickweight(loot)
|
||||
var/obj/vehicle/V = new lootspawn(get_turf(src))
|
||||
if(V.key_type)
|
||||
new V.key_type(get_turf(src))
|
||||
/obj/effect/spawner/lootdrop/trade_sol/vehicle/Initialize(mapload)
|
||||
while(lootcount)
|
||||
var/lootspawn = pickweight(loot)
|
||||
var/obj/vehicle/V = new lootspawn(get_turf(src))
|
||||
if(V.key_type)
|
||||
V.inserted_key = new V.key_type(V)
|
||||
lootcount--
|
||||
. = ..()
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/effect/spawner/lootdrop/trade_sol/serv
|
||||
name = "10. service gear"
|
||||
@@ -423,6 +409,6 @@
|
||||
/obj/item/reagent_containers/food/snacks/bigbiteburger,
|
||||
/obj/item/reagent_containers/food/snacks/superbiteburger)
|
||||
|
||||
/obj/effect/spawner/lootdrop/three_course_meal/New()
|
||||
/obj/effect/spawner/lootdrop/three_course_meal/Initialize(mapload)
|
||||
loot = list(pick(soups) = 1,pick(salads) = 1,pick(mains) = 1)
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user