mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-03 22:12:38 +00:00
Adds a limit to mining vendors (#3260)
Adds a limit to items in the mining vendor. Most items have 10, some items have more/less, all items that come from the shuttle have infinite stock along with some other items like point transfers. And the floodlight comes on the shuttle now.
This commit is contained in:
@@ -5,68 +5,62 @@
|
||||
//Think up of lots of items. Not everything needs to be unique or even mining-special, but it should be neat. Convert most of /tg/'s items. 25% of this at least
|
||||
// should be bling. Things that shorten the distance between base and mining. Instant-teleporters should be one use.
|
||||
var/global/list/minevendor_list = list( //keep in order of price
|
||||
new /datum/data/mining_equipment("Food Ration", /obj/item/weapon/reagent_containers/food/snacks/liquidfood, 5),
|
||||
new /datum/data/mining_equipment("Poster", /obj/item/weapon/contraband/poster, 20),
|
||||
new /datum/data/mining_equipment("Ore Scanner Pad", /obj/item/weapon/ore_radar, 50),
|
||||
new /datum/data/mining_equipment("5 Red Flags", /obj/item/stack/flag/red, 50),
|
||||
new /datum/data/mining_equipment("5 Green Flags", /obj/item/stack/flag/green, 50),
|
||||
new /datum/data/mining_equipment("5 Yellow Flags", /obj/item/stack/flag/yellow, 50),
|
||||
new /datum/data/mining_equipment("5 Purple Flags", /obj/item/stack/flag/purple, 50),
|
||||
new /datum/data/mining_equipment("Ore-bag", /obj/item/weapon/storage/bag/ore, 50),
|
||||
new /datum/data/mining_equipment("Meat Pizza", /obj/item/pizzabox/meat, 50),
|
||||
new /datum/data/mining_equipment("Lantern", /obj/item/device/flashlight/lantern, 75),
|
||||
new /datum/data/mining_equipment("Shovel", /obj/item/weapon/shovel, 100),
|
||||
//new /datum/data/mining_equipment("Stimpack", /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack, 100),
|
||||
new /datum/data/mining_equipment("Pickaxe", /obj/item/weapon/pickaxe, 100),
|
||||
new /datum/data/mining_equipment("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 100),
|
||||
new /datum/data/mining_equipment("Compressed rail cartridge", /obj/item/weapon/rrf_ammo, 100),
|
||||
new /datum/data/mining_equipment("Ore Box", /obj/structure/ore_box, 150, 1),
|
||||
new /datum/data/mining_equipment("Emergency Floodlight", /obj/item/weapon/floodlight_diy, 150),
|
||||
new /datum/data/mining_equipment("Premium Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 150),
|
||||
new /datum/data/mining_equipment("KA Adjustable Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer/adjustable, 150),
|
||||
new /datum/data/mining_equipment("Seismic Charge", /obj/item/weapon/plastique/seismic, 150),
|
||||
new /datum/data/mining_equipment("Lottery Chip", /obj/item/weapon/spacecash/ewallet/lotto, 200),
|
||||
new /datum/data/mining_equipment("Ripley Paint Kit", /obj/item/device/kit/paint/ripley/random, 200),
|
||||
new /datum/data/mining_equipment("Material Scanners", /obj/item/clothing/glasses/material, 200),
|
||||
new /datum/data/mining_equipment("Mining Drill", /obj/item/weapon/pickaxe/drill, 200),
|
||||
new /datum/data/mining_equipment("Deep Ore Scanner", /obj/item/weapon/mining_scanner, 250),
|
||||
new /datum/data/mining_equipment("Magboots", /obj/item/clothing/shoes/magboots, 300),
|
||||
//new /datum/data/mining_equipment("Stimpack Bundle", /obj/item/weapon/storage/box/stims, 300),
|
||||
new /datum/data/mining_equipment("Autochisel", /obj/item/weapon/autochisel, 400),
|
||||
new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack, 400),
|
||||
new /datum/data/mining_equipment("Drone Drill Upgrade", /obj/item/device/mine_bot_ugprade, 400),
|
||||
new /datum/data/mining_equipment("Industrial Drill Brace", /obj/machinery/mining/brace, 500, 1),
|
||||
new /datum/data/mining_equipment("Point Transfer Card", /obj/item/weapon/card/mining_point_card, 500),
|
||||
new /datum/data/mining_equipment("Explorer's Belt", /obj/item/weapon/storage/belt/mining, 500),
|
||||
new /datum/data/mining_equipment("Item-Warp Beacon", /obj/item/warp_core, 500),
|
||||
new /datum/data/mining_equipment("Item-Warp Pack", /obj/item/weapon/extraction_pack, 600),
|
||||
new /datum/data/mining_equipment("Drone Health Upgrade", /obj/item/device/mine_bot_ugprade/health, 600),
|
||||
new /datum/data/mining_equipment("Rapid-Railway-Fabricator", /obj/item/weapon/rrf, 600),
|
||||
//new /datum/data/mining_equipment("Survival Autoinjector", /obj/item/weapon/reagent_containers/hypospray/autoinjector/survival, 600),
|
||||
new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/weapon/storage/firstaid/brute, 600),
|
||||
new /datum/data/mining_equipment("Ore Magnet", /obj/item/weapon/oremagnet, 600),
|
||||
new /datum/data/mining_equipment("Minecart", /obj/vehicle/train/cargo/trolley/mining, 600, 1),
|
||||
new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 700),
|
||||
new /datum/data/mining_equipment("Mining RIG", /obj/item/weapon/rig/industrial, 750),
|
||||
new /datum/data/mining_equipment("KA Range Increase", /obj/item/borg/upgrade/modkit/range, 750),
|
||||
new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 750),
|
||||
new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 750),
|
||||
new /datum/data/mining_equipment("1000 credits", /obj/item/weapon/spacecash/c1000, 800),
|
||||
new /datum/data/mining_equipment("Mass Driver", /obj/item/weapon/mass_driver_diy, 800),
|
||||
//new /datum/data/mining_equipment("Drone Plasma Cutter Upgrade", /obj/item/device/mine_bot_ugprade/plasma, 800),
|
||||
new /datum/data/mining_equipment("Mining Drone", /mob/living/silicon/robot/drone/mining, 800),
|
||||
new /datum/data/mining_equipment("Minecart Engine", /obj/vehicle/train/cargo/engine/mining, 800, 1),
|
||||
new /datum/data/mining_equipment("Ore Summoner", /obj/item/weapon/oreportal, 800),
|
||||
//new /datum/data/mining_equipment("Plasma Cutter", /obj/item/weapon/gun/energy/plasmacutter, 900),
|
||||
//new /datum/data/mining_equipment("KA Damage Increase", /obj/item/borg/upgrade/modkit/damage, 1000),
|
||||
new /datum/data/mining_equipment("KA Cooldown Decrease", /obj/item/borg/upgrade/modkit/cooldown, 1000),
|
||||
new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 1000),
|
||||
new /datum/data/mining_equipment("Industrial Drill Head", /obj/machinery/mining/drill, 1000, 1),
|
||||
new /datum/data/mining_equipment("Super Resonator", /obj/item/weapon/resonator/upgraded, 1250),
|
||||
new /datum/data/mining_equipment("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/turfs, 1500),
|
||||
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 1500),
|
||||
new /datum/data/mining_equipment("Drone Thermal Drill Upgrade", /obj/item/device/mine_bot_ugprade/thermal, 2000),
|
||||
new /datum/data/mining_equipment("Thermal Drill", /obj/item/weapon/gun/energy/vaurca/thermaldrill, 2750)
|
||||
new /datum/data/mining_equipment("Food Ration", /obj/item/weapon/reagent_containers/food/snacks/liquidfood, 10, 5),
|
||||
new /datum/data/mining_equipment("Poster", /obj/item/weapon/contraband/poster, 10, 20),
|
||||
new /datum/data/mining_equipment("Ore Scanner Pad", /obj/item/weapon/ore_radar, 10, 50),
|
||||
new /datum/data/mining_equipment("5 Red Flags", /obj/item/stack/flag/red, 10, 50),
|
||||
new /datum/data/mining_equipment("5 Green Flags", /obj/item/stack/flag/green, 10, 50),
|
||||
new /datum/data/mining_equipment("5 Yellow Flags", /obj/item/stack/flag/yellow, 10, 50),
|
||||
new /datum/data/mining_equipment("5 Purple Flags", /obj/item/stack/flag/purple, 10, 50),
|
||||
new /datum/data/mining_equipment("Ore-bag", /obj/item/weapon/storage/bag/ore, 25, 50),
|
||||
new /datum/data/mining_equipment("Meat Pizza", /obj/item/pizzabox/meat, 25, 50),
|
||||
new /datum/data/mining_equipment("Lantern", /obj/item/device/flashlight/lantern,10, 75),
|
||||
new /datum/data/mining_equipment("Shovel", /obj/item/weapon/shovel, 15, 100),
|
||||
new /datum/data/mining_equipment("Pickaxe", /obj/item/weapon/pickaxe, 10, 100),
|
||||
new /datum/data/mining_equipment("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 40, 100),
|
||||
new /datum/data/mining_equipment("Compressed rail cartridge", /obj/item/weapon/rrf_ammo, 50, 100),
|
||||
new /datum/data/mining_equipment("Ore Box", /obj/structure/ore_box, -1, 150, 1),
|
||||
new /datum/data/mining_equipment("Emergency Floodlight", /obj/item/weapon/floodlight_diy, -1, 150, 1),
|
||||
new /datum/data/mining_equipment("Premium Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 30, 150),
|
||||
new /datum/data/mining_equipment("KA Adjustable Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer/adjustable, 30, 150),
|
||||
new /datum/data/mining_equipment("Seismic Charge", /obj/item/weapon/plastique/seismic, 25, 150),
|
||||
new /datum/data/mining_equipment("Lottery Chip", /obj/item/weapon/spacecash/ewallet/lotto, 50, 200),
|
||||
new /datum/data/mining_equipment("Ripley Paint Kit", /obj/item/device/kit/paint/ripley/random, 15, 200),
|
||||
new /datum/data/mining_equipment("Material Scanners", /obj/item/clothing/glasses/material, 15, 200),
|
||||
new /datum/data/mining_equipment("Mining Drill", /obj/item/weapon/pickaxe/drill, 10, 200),
|
||||
new /datum/data/mining_equipment("Deep Ore Scanner", /obj/item/weapon/mining_scanner, 10, 250),
|
||||
new /datum/data/mining_equipment("Magboots", /obj/item/clothing/shoes/magboots, 10, 300),
|
||||
new /datum/data/mining_equipment("Autochisel", /obj/item/weapon/autochisel, 10, 400),
|
||||
new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack, 10, 400),
|
||||
new /datum/data/mining_equipment("Drone Drill Upgrade", /obj/item/device/mine_bot_ugprade, 10, 400),
|
||||
new /datum/data/mining_equipment("Industrial Drill Brace", /obj/machinery/mining/brace, -1, 500, 1),
|
||||
new /datum/data/mining_equipment("Point Transfer Card", /obj/item/weapon/card/mining_point_card, -1, 500),
|
||||
new /datum/data/mining_equipment("Explorer's Belt", /obj/item/weapon/storage/belt/mining, 10, 500),
|
||||
new /datum/data/mining_equipment("Item-Warp Beacon", /obj/item/warp_core, 25, 500),
|
||||
new /datum/data/mining_equipment("Item-Warp Pack", /obj/item/weapon/extraction_pack, 25, 600),
|
||||
new /datum/data/mining_equipment("Drone Health Upgrade", /obj/item/device/mine_bot_ugprade/health, 20, 600),
|
||||
new /datum/data/mining_equipment("Rapid-Railway-Fabricator", /obj/item/weapon/rrf, 10, 600),
|
||||
new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/weapon/storage/firstaid/brute, 30, 600),
|
||||
new /datum/data/mining_equipment("Ore Magnet", /obj/item/weapon/oremagnet, 10, 600),
|
||||
new /datum/data/mining_equipment("Minecart", /obj/vehicle/train/cargo/trolley/mining, -1, 600, 1),
|
||||
new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 10, 700),
|
||||
new /datum/data/mining_equipment("Mining RIG", /obj/item/weapon/rig/industrial, 5, 750),
|
||||
new /datum/data/mining_equipment("KA Range Increase", /obj/item/borg/upgrade/modkit/range, 10, 750),
|
||||
new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 20, 750),
|
||||
new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 10, 750),
|
||||
new /datum/data/mining_equipment("1000 credits", /obj/item/weapon/spacecash/c1000, -1, 800),
|
||||
new /datum/data/mining_equipment("Mass Driver", /obj/item/weapon/mass_driver_diy, 5, 800),
|
||||
new /datum/data/mining_equipment("Mining Drone", /mob/living/silicon/robot/drone/mining, 15, 800),
|
||||
new /datum/data/mining_equipment("Minecart Engine", /obj/vehicle/train/cargo/engine/mining, -1, 800, 1),
|
||||
new /datum/data/mining_equipment("Ore Summoner", /obj/item/weapon/oreportal, 35, 800),
|
||||
new /datum/data/mining_equipment("KA Cooldown Decrease", /obj/item/borg/upgrade/modkit/cooldown, 15, 1000),
|
||||
new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 25, 1000),
|
||||
new /datum/data/mining_equipment("Industrial Drill Head", /obj/machinery/mining/drill, -1, 1000, 1),
|
||||
new /datum/data/mining_equipment("Super Resonator", /obj/item/weapon/resonator/upgraded, 10, 1250),
|
||||
new /datum/data/mining_equipment("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/turfs, 15, 1500),
|
||||
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 10, 1500),
|
||||
new /datum/data/mining_equipment("Drone Thermal Drill Upgrade", /obj/item/device/mine_bot_ugprade/thermal, 20, 2000),
|
||||
new /datum/data/mining_equipment("Thermal Drill", /obj/item/weapon/gun/energy/vaurca/thermaldrill, 15, 2750)
|
||||
)
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor
|
||||
@@ -81,12 +75,14 @@ var/global/list/minevendor_list = list( //keep in order of price
|
||||
/datum/data/mining_equipment
|
||||
var/equipment_name = "generic"
|
||||
var/equipment_path = null
|
||||
var/amount = 0 // -1 is the special number for infinite items like things that can be ordered from the shuttle
|
||||
var/cost = 0
|
||||
var/shuttle
|
||||
|
||||
/datum/data/mining_equipment/New(name, path, cost, shuttle)
|
||||
/datum/data/mining_equipment/New(name, path, amount, cost, shuttle)
|
||||
src.equipment_name = name
|
||||
src.equipment_path = path
|
||||
src.amount = amount
|
||||
src.cost = cost
|
||||
src.shuttle = shuttle
|
||||
|
||||
@@ -124,7 +120,12 @@ var/global/list/minevendor_list = list( //keep in order of price
|
||||
dat += "</div>"
|
||||
dat += "<br><b>Equipment point cost list:</b><BR><table border='0' width='300'>"
|
||||
for(var/datum/data/mining_equipment/prize in minevendor_list)
|
||||
dat += "<tr><td>[prize.equipment_name]</td><td>[prize.cost]</td><td><A href='?src=\ref[src];purchase=\ref[prize]'>Purchase</A></td></tr>"
|
||||
if(prize.amount > 0)
|
||||
dat += "<tr><td>[prize.equipment_name]</td><td>[prize.cost]</td><td><A href='?src=\ref[src];purchase=\ref[prize]'>Purchase</A> ([prize.amount])</td></tr>"
|
||||
else if(prize.amount == -1)
|
||||
dat += "<tr><td>[prize.equipment_name]</td><td>[prize.cost]</td><td><A href='?src=\ref[src];purchase=\ref[prize]'>Purchase</A> (No limit.)</td></tr>"
|
||||
else
|
||||
dat += "<tr><td>[prize.equipment_name]</td><td>(Out of stock!)</td></tr>"
|
||||
dat += "</table>"
|
||||
|
||||
var/datum/browser/popup = new(user, "miningvendor", "Mining Equipment Vendor", 400, 350)
|
||||
@@ -154,6 +155,8 @@ var/global/list/minevendor_list = list( //keep in order of price
|
||||
var/datum/data/mining_equipment/prize = locate(href_list["purchase"])
|
||||
if (!prize || !(prize in minevendor_list))
|
||||
return
|
||||
if(prize.amount <= 0 && prize.amount != -1)
|
||||
return
|
||||
if(prize.cost > inserted_id.mining_points)
|
||||
else
|
||||
if(prize.shuttle)
|
||||
@@ -197,6 +200,8 @@ var/global/list/minevendor_list = list( //keep in order of price
|
||||
return
|
||||
else
|
||||
inserted_id.mining_points -= prize.cost
|
||||
if(prize.amount != -1)
|
||||
prize.amount--
|
||||
new prize.equipment_path(src.loc)
|
||||
|
||||
updateUsrDialog()
|
||||
|
||||
Reference in New Issue
Block a user