Skip to content

Commit

Permalink
Judgement Day: TestMerge-ocalypse
Browse files Browse the repository at this point in the history
  • Loading branch information
BogCreature committed Nov 2, 2023
1 parent 677b3cc commit a8576c0
Show file tree
Hide file tree
Showing 7 changed files with 116 additions and 35 deletions.
10 changes: 5 additions & 5 deletions code/datums/mapgen/planetary/LavaGenerator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,9 @@
/mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient/crystal = 1,
/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/forgotten = 1,
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/crystal = 1,
/obj/structure/spawner/lavaland/low_threat = 12,
/obj/structure/spawner/lavaland/medium_threat = 4,
/obj/structure/spawner/lavaland/high_threat = 2,
/obj/structure/spawner/lavaland/low_threat = 8,
/obj/structure/spawner/lavaland/medium_threat = 3,
/obj/structure/spawner/lavaland/high_threat = 1,
)

/datum/biome/lavaland/forest
Expand Down Expand Up @@ -237,8 +237,8 @@
/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random = 40,
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 30,
/mob/living/simple_animal/hostile/asteroid/goldgrub = 10,
/obj/structure/spawner/lavaland/low_threat = 12,
/obj/structure/spawner/lavaland/medium_threat = 4,
/obj/structure/spawner/lavaland/low_threat = 8,
/obj/structure/spawner/lavaland/medium_threat = 3,
/obj/structure/spawner/lavaland/high_threat = 2,
/obj/structure/spawner/lavaland/extreme_threat = 1
)
Expand Down
24 changes: 12 additions & 12 deletions code/datums/mapgen/planetary/SnowGenerator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,9 @@
/obj/structure/spawner/ice_moon/demonic_portal/low_threat = 25,
/obj/structure/spawner/ice_moon/demonic_portal/medium_threat = 50,
/obj/structure/spawner/ice_moon/demonic_portal/high_threat = 13,
/obj/structure/vein = 25,
/obj/structure/vein/classtwo = 50,
/obj/structure/vein/classthree = 10,
/obj/structure/vein/ice = 25,
/obj/structure/vein/ice/classtwo = 50,
/obj/structure/vein/ice/classthree = 10,
)

/datum/biome/snow/lush
Expand Down Expand Up @@ -171,9 +171,9 @@
/obj/structure/spawner/ice_moon/polarbear = 3,
/obj/structure/statue/snow/snowman = 3,
/obj/structure/statue/snow/snowlegion = 1,
/obj/structure/vein = 3,
/obj/structure/vein/classtwo = 4,
/obj/structure/vein/classthree = 1,
/obj/structure/vein/ice = 3,
/obj/structure/vein/ice/classtwo = 4,
/obj/structure/vein/ice/classthree = 1,
)
mob_spawn_list = list(
/mob/living/simple_animal/hostile/asteroid/wolf/random = 30,
Expand Down Expand Up @@ -219,9 +219,9 @@
/obj/structure/spawner/ice_moon/demonic_portal/medium_threat = 500,
/obj/structure/spawner/ice_moon/demonic_portal/high_threat = 50,
/obj/structure/spawner/ice_moon/demonic_portal/extreme_threat = 1,
/obj/structure/vein = 300,
/obj/structure/vein/classtwo = 500,
/obj/structure/vein/classthree = 50,
/obj/structure/vein/ice = 300,
/obj/structure/vein/ice/classtwo = 500,
/obj/structure/vein/ice/classthree = 50,
)


Expand Down Expand Up @@ -276,9 +276,9 @@
/obj/structure/spawner/ice_moon = 30,
/obj/structure/spawner/ice_moon/polarbear = 30,
/obj/effect/spawner/lootdrop/anomaly/ice/cave = 10,
/obj/structure/vein = 30,
/obj/structure/vein/classtwo = 50,
/obj/structure/vein/classthree = 6,
/obj/structure/vein/ice = 30,
/obj/structure/vein/ice/classtwo = 50,
/obj/structure/vein/ice/classthree = 6,
)

/datum/biome/cave/snow/thawed
Expand Down
2 changes: 2 additions & 0 deletions code/game/objects/items/pinpointer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@
. = ..()
if(!active)
return
if(target.loc == null)
return
if(!target)
. += "pinon[alert ? "alert" : ""]null[icon_suffix]"
return
Expand Down
18 changes: 9 additions & 9 deletions code/game/turfs/closed/minerals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -155,11 +155,11 @@
return

/turf/closed/mineral/random
var/list/mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10,
/obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40, /obj/item/stack/ore/titanium = 11,
var/list/mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 3, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 4,
/obj/item/stack/ore/silver = 4, /obj/item/stack/ore/plasma = 40, /obj/item/stack/ore/iron = 65, /obj/item/stack/ore/titanium = 5,
/turf/closed/mineral/gibtonite = 4, /obj/item/stack/ore/bluespace_crystal = 1)
//Currently, Adamantine won't spawn as it has no uses. -Durandan
var/mineralChance = 13
var/mineralChance = 5

/turf/closed/mineral/random/Initialize(mapload, inherited_virtual_z)

Expand Down Expand Up @@ -188,7 +188,7 @@
Spread_Vein(path)

/turf/closed/mineral/random/high_chance
mineralChance = 25
mineralChance = 13
mineralSpawnChanceList = list(
/obj/item/stack/ore/uranium = 35, /obj/item/stack/ore/diamond = 30, /obj/item/stack/ore/gold = 45, /obj/item/stack/ore/titanium = 45,
/obj/item/stack/ore/silver = 50, /obj/item/stack/ore/plasma = 50, /obj/item/stack/ore/bluespace_crystal = 20)
Expand All @@ -210,7 +210,7 @@
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"

/turf/closed/mineral/random/low_chance
mineralChance = 6
mineralChance = 3
mineralSpawnChanceList = list(
/obj/item/stack/ore/uranium = 2, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 4, /obj/item/stack/ore/titanium = 4,
/obj/item/stack/ore/silver = 6, /obj/item/stack/ore/plasma = 15, /obj/item/stack/ore/iron = 40,
Expand All @@ -227,7 +227,7 @@
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
defer_change = 1

mineralChance = 10
mineralChance = 5
mineralSpawnChanceList = list(
/obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, /obj/item/stack/ore/titanium = 11,
/obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40,
Expand All @@ -253,7 +253,7 @@
baseturfs = /turf/open/floor/plating/asteroid/icerock
initial_gas_mix = ICEMOON_DEFAULT_ATMOS
defer_change = TRUE
mineralChance = 20 //as most caves is snowy, might as well bump up the chance
mineralChance = 10 //as most caves is snowy, might as well bump up the chance

mineralSpawnChanceList = list(
/obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, /obj/item/stack/ore/titanium = 11,
Expand All @@ -280,7 +280,7 @@
/turf/closed/mineral/random/snow/underground
baseturfs = /turf/open/floor/plating/asteroid/snow/icemoon
// abundant ore
mineralChance = 20
mineralChance = 10
mineralSpawnChanceList = list(
/obj/item/stack/ore/uranium = 10, /obj/item/stack/ore/diamond = 4, /obj/item/stack/ore/gold = 20, /obj/item/stack/ore/titanium = 22,
/obj/item/stack/ore/silver = 24, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 20, /obj/item/stack/ore/bananium = 1,
Expand Down Expand Up @@ -817,7 +817,7 @@
baseturfs = /turf/open/floor/plating/asteroid/wasteplanet
mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 30, /obj/item/stack/ore/diamond = 0.5, /obj/item/stack/ore/gold = 5,
/obj/item/stack/ore/silver = 7, /obj/item/stack/ore/plasma = 35, /obj/item/stack/ore/iron = 35, /obj/item/stack/ore/titanium = 10)
mineralChance = 30
mineralChance = 10

/turf/closed/mineral/snowmountain/cavern/shipside
name = "ice cavern rock"
Expand Down
13 changes: 13 additions & 0 deletions code/modules/cargo/packs/machinery.dm
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,19 @@
)
crate_name = "Shuttle in a Box"

/datum/supply_pack/machinery/drill_crate
name = "Heavy duty laser mining drill"
desc = "An experimental laser-based mining drill that Nanotrasen is kindly allowing YOU, the customer, to opt into testing of."
cost = 1000 //Only while TMed, jack up the price before merging
contains = list(
/obj/machinery/drill,
/obj/item/pinpointer/mineral,
/obj/item/paper/guides/drill
)
crate_name = "laser mining drill crate"
crate_type = /obj/structure/closet/crate/engineering


/*
Power generation machines
*/
Expand Down
22 changes: 15 additions & 7 deletions code/modules/mining/drill.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,16 @@
. += "<spawn class='notice'>The lower power light is blinking."
switch(malfunction)
if(4)
. += "<span class='notice'>The [src]'s structure looks like it needs to be <b>welded<b> back together.</span>"
. += "<span class='notice'>The [src]'s structure looks like it needs to be <b>welded</b> back together.</span>"
if(5)
. += "<span class='notice'>The [src]'s gimbal is out of alignment, it needs to be recalibrated with a <b>multitool<b>.</span>"
. += "<span class='notice'>The [src]'s gimbal is out of alignment, it needs to be recalibrated with a <b>multitool</b>.</span>"
switch(metal_attached)
if(METAL_PLACED)
. += "<span class='notice'>Replacement plating has been attached to [src], but has not been <b>bolted<b> in place yet.</span>"
. += "<span class='notice'>Replacement plating has been attached to [src], but has not been <b>bolted</b> in place yet.</span>"
if(METAL_SECURED)
. += "<span class='notice'>Replacement plating has been secured to [src], but still needs to be <b>welded<b> into place.</span>"
. += "<span class='notice'>Replacement plating has been secured to [src], but still needs to be <b>welded</b> into place.</span>"
if(machine_stat && BROKEN && !metal_attached)
. += "<span class='notice'>[src]'s structure has been totaled, the <b>plasteel<b> plating needs to be replaced."
. += "<span class='notice'>[src]'s structure has been totaled, the <b>plasteel</b> plating needs to be replaced."

/obj/machinery/drill/Initialize()
. = ..()
Expand Down Expand Up @@ -87,6 +87,11 @@
/obj/machinery/drill/get_cell()
return cell

//The RPED sort of trivializes a good deal of the malfunction mechancis, as such it will not be allowed to work
/obj/machinery/drill/exchange_parts(mob/user, obj/item/storage/part_replacer/W)
to_chat(user, "<span calss='notice'>[W] does not seem to work on [src], it might require more delecitate parts replacement.")
return

/obj/machinery/drill/attackby(obj/item/tool, mob/living/user, params)
var/obj/structure/vein/vein = locate(/obj/structure/vein) in src.loc
if(machine_stat && BROKEN)
Expand Down Expand Up @@ -289,7 +294,7 @@
sensor_rating = sensor.rating
if(mining.mining_charges)
mining.mining_charges--
mining.drop_ore(round(sqrt(sensor_rating), 0.1))
mining.drop_ore(round(sqrt(sensor_rating), 0.1),src)
start_mining()
else if(!mining.mining_charges) //Extra check to prevent vein related errors locking us in place
say("Error: Vein Depleted")
Expand Down Expand Up @@ -317,8 +322,11 @@
return
if(MALF_STRUCTURAL)
say("Malfunction: Drill plating damaged, provide structural repairs before continuing mining operations.")
/*playsound()*/
return
if(MALF_CALIBRATE)
say("Malfunction: Drill laser calibrations out of alignment, please recalibrate before continuing.")
return

/obj/item/paper/guides/drill
name = "Laser Mining Drill Operation Manual"
default_raw_text = "<center><b>Laser Mining Drill Operation Manual</b></center><br><br><center>Thank you for opting in to the paid testing of Nanotrasen's new, experimental laser drilling device (trademark pending). We are legally obligated to mention that despite this new and wonderful drilling device being less dangerous than past iterations (note the 75% decrease in plasma ignition incidents), the seismic activity created by the drill has been noted to anger most forms of xenofauna. As such our legal team advises only armed mining expeditions make use of this drill.<br><br><c><b>How to set up your Laser Mining Drill</b></center><br><br>1. Find a suitable ore vein with the included scanner.<br>2. Wrench the drill's anchors in place over the vein.<br>3. Protect the drill from any enraged xenofauna until it has finished drilling.<br><br><center>With all this done, your ore should be well on its way out of the ground and into your pockets! Be warned though, the Laser Mining Drill is prone to numerous malfunctions when exposed to most forms of physical trauma. As such, we advise any teams utilizing this drill to bring with them a set of replacement Nanotrasen brand stock parts and a set of tools to handle repairs. If the drill suffers a total structural failure, then plasteel alloy may be needed to repair said structure.</center>"
62 changes: 60 additions & 2 deletions code/modules/mining/ore_veins.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,18 +82,22 @@ GLOBAL_LIST_EMPTY(ore_veins)
AddComponent(spawner_type, mob_types, spawn_time, faction, spawn_text, max_mobs, spawn_sound, spawn_distance_min, spawn_distance_max, wave_length, wave_downtime)

//Pulls a random ore from the vein list per vein_class
/obj/structure/vein/proc/drop_ore(multiplier)
/obj/structure/vein/proc/drop_ore(multiplier,obj/machinery/drill/current)
var/class
class = vein_class
for(class, class>0, class--)
var/picked
picked = pick(vein_contents)
new picked(loc,round(rand(5,10)*multiplier))
new picked(pick(get_adjacent_open_turfs(current)),round(rand(5,10)*multiplier))

/obj/structure/vein/proc/destroy_effect()
playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE)
visible_message("<span class='boldannounce'>[src] collapses!</span>")

//
// Planetary and Class Subtypes
// The current set of subtypes are heavily subject to future balancing and reworking as the balance of them is tested more
//

/obj/structure/vein/classtwo
mining_charges = 9
Expand Down Expand Up @@ -126,3 +130,57 @@ GLOBAL_LIST_EMPTY(ore_veins)
)
max_mobs = 6 //Best not to go past 6 due to balance and lag reasons
spawn_time = 80

/obj/structure/vein/ice
mob_types = list(
/mob/living/simple_animal/hostile/asteroid/wolf = 30,
/mob/living/simple_animal/hostile/asteroid/polarbear = 30,
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 20,
/mob/living/simple_animal/hostile/asteroid/ice_demon = 10,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 5,
/mob/living/simple_animal/hostile/asteroid/lobstrosity = 20,
)
//Ice planets earn a slightly higher rare ore chance on account of them being notably harder
ore_list = list(
/obj/item/stack/ore/iron = 5,
/obj/item/stack/ore/plasma = 5,
/obj/item/stack/ore/silver = 3,
/obj/item/stack/ore/uranium = 3,
/obj/item/stack/ore/titanium = 3,
/obj/item/stack/ore/titanium = 2,
/obj/item/stack/ore/gold = 1,
/obj/item/stack/ore/diamond = 1,
)

/obj/structure/vein/ice/classtwo
mining_charges = 9
vein_class = 2
ore_list = list(
/obj/item/stack/ore/iron = 6,
/obj/item/stack/ore/plasma = 6,
/obj/item/stack/ore/silver = 5,
/obj/item/stack/ore/uranium = 5,
/obj/item/stack/ore/titanium = 6,
/obj/item/stack/ore/diamond = 2,
/obj/item/stack/ore/gold = 3,
/obj/item/stack/ore/bluespace_crystal = 1,
)
max_mobs = 6
spawn_time = 100

/obj/structure/vein/ice/classthree
mining_charges = 12
vein_class = 3
ore_list = list(
/obj/item/stack/ore/iron = 5,
/obj/item/stack/ore/plasma = 5,
/obj/item/stack/ore/silver = 6,
/obj/item/stack/ore/uranium = 5,
/obj/item/stack/ore/titanium = 6,
/obj/item/stack/ore/diamond = 4,
/obj/item/stack/ore/gold = 6,
/obj/item/stack/ore/bluespace_crystal = 4,
)
max_mobs = 6
spawn_time = 80

0 comments on commit a8576c0

Please sign in to comment.