From 71c07e208ad8865e8aa22a9bc2eaffb4fe7dd9a4 Mon Sep 17 00:00:00 2001 From: Rob Nelson Date: Sat, 15 Feb 2014 00:22:24 -0800 Subject: [PATCH] Improved creature AI and random mob spawning in caves. Also equipment lockers. Conflicts: code/game/objects/items/weapons/cards_ids.dm code/modules/mining/materials.dm code/modules/mining/mine_turfs.dm code/modules/mining/ores_coins.dm code/modules/mob/living/simple_animal/hostile/mining_mobs.dm code/modules/projectiles/ammunition/bullets.dm code/modules/projectiles/guns/energy/special.dm compare_report_tg.txt icons/obj/device.dmi icons/obj/mining.dmi icons/obj/vehicles.dmi maps/tgstation.2.1.0.0.1.dmm maps/vgstation1.0.0.dmm --- baystation12.dme | 2 + code/__HELPERS/game.dm | 8 +- code/game/objects/items/weapons/cards_ids.dm | 10 +- code/modules/mining/equipment_locker.dm | 636 ++++++++++++++++++ code/modules/mining/materials.dm | 139 ++++ code/modules/mining/mine_turfs.dm | 41 +- code/modules/mining/ores_coins.dm | 52 +- .../living/simple_animal/hostile/hostile.dm | 4 +- .../simple_animal/hostile/mining_mobs.dm | 208 ++++-- .../modules/projectiles/ammunition/bullets.dm | 7 +- code/setup.dm | 4 + icons/obj/device.dmi | Bin 21808 -> 22287 bytes icons/obj/machines/mining_machines.dmi | Bin 2858 -> 4050 bytes icons/obj/mining.dmi | Bin 50173 -> 50767 bytes icons/obj/vehicles.dmi | Bin 31452 -> 35493 bytes 15 files changed, 1043 insertions(+), 68 deletions(-) create mode 100644 code/modules/mining/equipment_locker.dm create mode 100644 code/modules/mining/materials.dm diff --git a/baystation12.dme b/baystation12.dme index c64e3dae698..b4cfc06c059 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -920,10 +920,12 @@ #include "code\modules\maps\swapmaps.dm" #include "code\modules\maps\writer.dm" #include "code\modules\mining\abandonedcrates.dm" +#include "code\modules\mining\equipment_locker.dm" #include "code\modules\mining\machine_input_output_plates.dm" #include "code\modules\mining\machine_processing.dm" #include "code\modules\mining\machine_stacking.dm" #include "code\modules\mining\machine_unloading.dm" +#include "code\modules\mining\materials.dm" #include "code\modules\mining\mine_areas.dm" #include "code\modules\mining\mine_items.dm" #include "code\modules\mining\mine_turfs.dm" diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index c373e5c9498..0f0b095f2f5 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -275,6 +275,12 @@ proc/isInSight(var/atom/A, var/atom/B) else return get_step(start, EAST) +/proc/try_move_adjacent(atom/movable/AM) + var/turf/T = get_turf(AM) + for(var/direction in cardinal) + if(AM.Move(get_step(T, direction))) + break + /proc/get_mob_by_key(var/key) for(var/mob/M in mob_list) if(M.ckey == lowertext(key)) @@ -352,4 +358,4 @@ proc/get_candidates(be_special_flag=0) C.images += I sleep(duration) for(var/client/C in show_to) - C.images -= I + C.images -= I diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 377fef8057e..0a03829c694 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -125,8 +125,9 @@ desc = "A card used to provide ID and determine access across the station." icon_state = "id" item_state = "card-id" - var/list/access = list() - var/registered_name = null // The name registered_name on the card + var/mining_points = 0 //For redeeming at mining equipment lockers + var/access = list() + var/registered_name = "Unknown" // The name registered_name on the card slot_flags = SLOT_ID var/blood_type = "\[UNSET\]" @@ -190,7 +191,8 @@ /obj/item/weapon/card/id/attack_self(mob/user as mob) for(var/mob/O in viewers(user, null)) O.show_message(text("[] shows you: \icon[] []: assignment: []", user, src, src.name, src.assignment), 1) - + if(mining_points) + user << "There's [mining_points] mining equipment redemption points loaded onto this card." src.add_fingerprint(user) return @@ -368,4 +370,4 @@ /obj/item/weapon/card/id/prisoner/seven name = "Prisoner #13-007" - registered_name = "Prisoner #13-007" \ No newline at end of file + registered_name = "Prisoner #13-007" diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm new file mode 100644 index 00000000000..dd0c659923f --- /dev/null +++ b/code/modules/mining/equipment_locker.dm @@ -0,0 +1,636 @@ +/**********************Ore Redemption Unit**************************/ +//Turns all the various mining machines into a single unit to speed up mining and establish a point system + +/obj/machinery/mineral/ore_redemption + name = "ore redemption machine" + desc = "A machine that accepts ore and instantly transforms it into workable material sheets, but cannot produce alloys such as Plasteel. Points for ore are generated based on type and can be redeemed at a mining equipment locker." + icon = 'icons/obj/machines/mining_machines.dmi' + icon_state = "ore_redemption" + density = 1 + anchored = 1.0 + var/obj/machinery/mineral/input = null + var/obj/machinery/mineral/output = null + req_one_access = list( + access_mining_station, + access_chemistry, + access_bar, + access_research, + access_ce, + access_virology + ) + var/datum/materials/materials = new + var/stack_amt = 50; //amount to stack before releasing + var/obj/item/weapon/card/id/inserted_id + var/points = 0 + +/obj/machinery/mineral/ore_redemption/New() + spawn( 5 ) + for (var/dir in cardinal) + src.input = locate(/obj/machinery/mineral/input, get_step(src, dir)) + if(src.input) break + for (var/dir in cardinal) + src.output = locate(/obj/machinery/mineral/output, get_step(src, dir)) + if(src.output) break + +/obj/machinery/mineral/ore_redemption/proc/process_sheet(obj/item/weapon/ore/O) + var/obj/item/stack/sheet/processed_sheet = SmeltMineral(O) + if(processed_sheet) + var/datum/material/mat = materials.getMaterial(O.material) + mat.stored += processed_sheet.amount //Stack the sheets + O.loc = null //Let the old sheet garbage collect + while(mat.stored > stack_amt) //Get rid of excessive stackage + var/obj/item/stack/sheet/out = new mat.sheettype(output.loc) + out.amount = stack_amt-mat.stored + mat.stored -= out.amount + +/obj/machinery/mineral/ore_redemption/process() + var/turf/T = get_turf(input) + if(T) + var/obj/item/weapon/ore/O + for(O in T) + process_sheet(O) + for(var/obj/structure/ore_box/B in T) + for(O in B.contents) + process_sheet(O) + +/obj/machinery/mineral/ore_redemption/proc/SmeltMineral(var/obj/item/weapon/ore/O) + if(O.material) + var/datum/material/mat = materials.getMaterial(O.material) + var/obj/item/stack/sheet/M = new mat.sheettype(src) + points += mat.value + return M + del(O)//No refined type? Purge it. + return + +/obj/machinery/mineral/ore_redemption/attack_hand(user as mob) + if(..()) + return + interact(user) + +/obj/machinery/mineral/ore_redemption/interact(mob/user) + var/dat + + dat += text("Ore Redemption Machine

") + dat += text("This machine only accepts ore. Gibtonite and Slag are not accepted.

") + dat += text("Current unclaimed points: [points]
") + + if(istype(inserted_id)) + dat += text("You have [inserted_id.mining_points] mining points collected. Eject ID.
") + dat += text("Claim points.
") + else + dat += text("No ID inserted. Insert ID.
") + + for(var/O in materials.storage) + var/datum/material/mat = materials.getMaterial(O) + if(mat.stored > 0) + dat += text("[capitalize(mat.processed_name)]: [mat.stored] Release
") + + dat += text("
This unit can hold stacks of [stack_amt] sheets of each mineral type.

") + + dat += text("
Mineral Value List:
[get_ore_values()]") + + user << browse("[dat]", "window=console_stacking_machine") + + return + +/obj/machinery/mineral/ore_redemption/proc/get_ore_values() + var/dat = "" + for(var/mat_id in materials.storage) + var/datum/material/mat = materials.getMaterial(mat_id) + dat += "" + dat += "
[capitalize(mat.processed_name)][mat.value]
" + return dat + +/obj/machinery/mineral/ore_redemption/Topic(href, href_list) + if(..()) + return + if(href_list["choice"]) + if(istype(inserted_id)) + if(href_list["choice"] == "eject") + inserted_id.loc = loc + inserted_id.verb_pickup() + inserted_id = null + if(href_list["choice"] == "claim") + inserted_id.mining_points += points + points = 0 + src << "Points transferred." + else if(href_list["choice"] == "insert") + var/obj/item/weapon/card/id/I = usr.get_active_hand() + if(istype(I)) + usr.drop_item() + I.loc = src + inserted_id = I + else usr << "\red No valid ID." + if(href_list["release"] && istype(inserted_id)) + if(check_access(inserted_id)) + var/release=href_list["release"] + var/datum/material/mat = materials.getMaterial(release) + if(!mat) return + var/desired = input("How much?","How much [mat.processed_name] to eject?",mat.stored) as num + if(desired==0) return + var/obj/item/stack/sheet/out = new mat.sheettype() + out.amount = min(mat.stored,desired) + mat.stored=desired + updateUsrDialog() + return + +/obj/machinery/mineral/ore_redemption/ex_act() + return //So some chucklefuck doesn't ruin miners reward with an explosion + +/**********************Mining Equipment Locker**************************/ + +/obj/machinery/mineral/equipment_locker + name = "mining equipment locker" + desc = "An equipment locker for miners, points collected at an ore redemption machine can be spent here." + icon = 'icons/obj/machines/mining_machines.dmi' + icon_state = "mining" + density = 1 + anchored = 1.0 + var/obj/item/weapon/card/id/inserted_id + var/list/prize_list = list( + new /datum/data/mining_equipment("Chili", /obj/item/weapon/reagent_containers/food/snacks/hotchili, 100), + new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 100), + new /datum/data/mining_equipment("Whiskey", /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, 150), + new /datum/data/mining_equipment("Soap", /obj/item/weapon/soap/nanotrasen, 150), + //new /datum/data/mining_equipment("Stimulant pills", /obj/item/weapon/storage/pill_bottle/stimulant, 350), + //new /datum/data/mining_equipment("Alien toy", /obj/item/clothing/mask/facehugger/toy, 250), + //new /datum/data/mining_equipment("Laser pointer", /obj/item/device/laser_pointer, 250), + new /datum/data/mining_equipment("Point card", /obj/item/weapon/card/mining_point_card, 500), + new /datum/data/mining_equipment("Lazarus injector", /obj/item/weapon/lazarus_injector, 1000), + new /datum/data/mining_equipment("Space cash", /obj/item/weapon/spacecash/c1000, 5000), + new /datum/data/mining_equipment("Sonic jackhammer", /obj/item/weapon/pickaxe/jackhammer, 500), + new /datum/data/mining_equipment("Mining drone", /mob/living/simple_animal/hostile/mining_drone/, 500), + new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 250), + new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 750), + new /datum/data/mining_equipment("Kinetic accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 1000), + new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack/carbondioxide, 2000), + ) + +/datum/data/mining_equipment/ + var/equipment_name = "generic" + var/equipment_path = null + var/cost = 0 + +/datum/data/mining_equipment/New(name, path, cost) + src.equipment_name = name + src.equipment_path = path + src.cost = cost + +/obj/machinery/mineral/equipment_locker/attack_hand(user as mob) + if(..()) + return + interact(user) + +/obj/machinery/mineral/equipment_locker/interact(mob/user) + var/dat + dat += text("Mining Equipment Locker

") + + if(istype(inserted_id)) + dat += "You have [inserted_id.mining_points] mining points collected. Eject ID.
" + else + dat += "No ID inserted. Insert ID.
" + + dat += "
Equipment point cost list:
" + for(var/datum/data/mining_equipment/prize in prize_list) + dat += "" + dat += "
[prize.equipment_name][prize.cost]Purchase
" + + user << browse("[dat]", "window=mining_equipment_locker") + return + +/obj/machinery/mineral/equipment_locker/Topic(href, href_list) + if(..()) + return + if(href_list["choice"]) + if(istype(inserted_id)) + if(href_list["choice"] == "eject") + inserted_id.loc = loc + inserted_id.verb_pickup() + inserted_id = null + else if(href_list["choice"] == "insert") + var/obj/item/weapon/card/id/I = usr.get_active_hand() + if(istype(I)) + usr.drop_item() + I.loc = src + inserted_id = I + else usr << "\red No valid ID." + if(href_list["purchase"]) + if(istype(inserted_id)) + var/datum/data/mining_equipment/prize = locate(href_list["purchase"]) + if (!prize || !(prize in prize_list)) + return + if(prize.cost > inserted_id.mining_points) + else + inserted_id.mining_points -= prize.cost + new prize.equipment_path(src.loc) + updateUsrDialog() + return + +/obj/machinery/mineral/equipment_locker/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/weapon/mining_voucher)) + RedeemVoucher(I, user) + return + ..() + +/obj/machinery/mineral/equipment_locker/proc/RedeemVoucher(voucher, redeemer) + var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") in list("Resonator kit", "Kinetic Accelerator", "Mining Drone", "Cancel") + if(!selection || !Adjacent(redeemer)) + return + switch(selection) + if("Resonator kit") + new /obj/item/weapon/resonator(src.loc) + //new /obj/item/weapon/storage/pill_bottle/stimulant(src.loc) + if("Kinetic Accelerator") + new /obj/item/weapon/gun/energy/kinetic_accelerator(src.loc) + if("Mining Drone") + new /mob/living/simple_animal/hostile/mining_drone(src.loc) + if("Cancel") + return + del(voucher) + +/obj/machinery/mineral/equipment_locker/ex_act() + return + +/**********************Mining Equipment Locker Items**************************/ + +/**********************Mining Equipment Voucher**********************/ + +/obj/item/weapon/mining_voucher + name = "mining voucher" + desc = "A token to redeem a piece of equipment. Use it on a mining equipment locker." + icon = 'icons/obj/items.dmi' + icon_state = "mining_voucher" + w_class = 1 + +/**********************Mining Point Card**********************/ + +/obj/item/weapon/card/mining_point_card + name = "mining point card" + desc = "A small card preloaded with mining points. Swipe your ID card over it to transfer the points, then discard." + icon_state = "data" + var/points = 500 + +/obj/item/weapon/card/mining_point_card/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/weapon/card/id)) + if(points) + var/obj/item/weapon/card/id/C = I + C.mining_points += points + user << "You transfer [points] points to [C]." + points = 0 + else + user << "There's no points left on [src]." + ..() + +/obj/item/weapon/card/mining_point_card/examine() + ..() + usr << "There's [points] points on the card." + +/**********************Jaunter**********************/ + +/obj/item/device/wormhole_jaunter + name = "wormhole jaunter" + desc = "A single use device harnessing outdated wormhole technology, Nanotrasen has since turned its eyes to blue space for more accurate teleportation. The wormholes it creates are unpleasant to travel through, to say the least." + icon = 'icons/obj/items.dmi' + icon_state = "Jaunter" + item_state = "electronic" + throwforce = 0 + w_class = 2.0 + throw_speed = 3 + throw_range = 5 + origin_tech = "bluespace=2" + +/obj/item/device/wormhole_jaunter/attack_self(mob/user as mob) + var/turf/device_turf = get_turf(user) + if(!device_turf||device_turf.z==2||device_turf.z>=7) + user << "You're having difficulties getting the [src.name] to work." + return + else + user.visible_message("[user.name] activates the [src.name]!") + var/list/L = list() + for(var/obj/item/device/radio/beacon/B in world) + var/turf/T = get_turf(B) + if(T.z == 1) + L += B + if(!L.len) + user << "The [src.name] failed to create a wormhole." + return + var/chosen_beacon = pick(L) + var/obj/effect/portal/wormhole/jaunt_tunnel/J = new /obj/effect/portal/wormhole/jaunt_tunnel(get_turf(src), chosen_beacon, lifespan=100) + J.target = chosen_beacon + try_move_adjacent(J) + playsound(src,'sound/effects/sparks4.ogg',50,1) + del(src) + +/obj/effect/portal/wormhole/jaunt_tunnel + name = "jaunt tunnel" + icon = 'icons/effects/effects.dmi' + icon_state = "bhole3" + desc = "A stable hole in the universe made by a wormhole jaunter. Turbulent doesn't even begin to describe how rough passage through one of these is, but at least it will always get you somewhere near a beacon." + +/obj/effect/portal/wormhole/jaunt_tunnel/teleport(atom/movable/M) + if(istype(M, /obj/effect)) + return + if(istype(M, /atom/movable)) + do_teleport(M, target, 6) + if(isliving(M)) + var/mob/living/L = M + L.Weaken(3) + if(ishuman(L)) + shake_camera(L, 20, 1) + spawn(20) + L.visible_message("[L.name] vomits from travelling through the [src.name]!") + L.nutrition -= 20 + L.adjustToxLoss(-3) + var/turf/T = get_turf(L) + T.add_vomit_floor(L) + playsound(L, 'sound/effects/splat.ogg', 50, 1) + +/**********************Resonator**********************/ + +/obj/item/weapon/resonator + name = "resonator" + icon = 'icons/obj/items.dmi' + icon_state = "resonator" + item_state = "resonator" + desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It can also be activated without a target to create a field at the user's location, to act as a delayed time trap. It's more effective in a vaccuum." + w_class = 3 + force = 10 + throwforce = 10 + var/cooldown = 0 + +/obj/item/weapon/resonator/proc/CreateResonance(var/target, var/creator) + if(cooldown <= 0) + playsound(src,'sound/effects/stealthoff.ogg',50,1) + var/obj/effect/resonance/R = new /obj/effect/resonance(get_turf(target)) + R.creator = creator + cooldown = 1 + spawn(20) + cooldown = 0 + +/obj/item/weapon/resonator/attack_self(mob/user as mob) + CreateResonance(src, user) + ..() + +/obj/item/weapon/resonator/afterattack(atom/target, mob/user, proximity_flag) + if(target in user.contents) + return + if(proximity_flag) + CreateResonance(target, user) + +/obj/effect/resonance + name = "resonance field" + desc = "A resonating field that significantly damages anything inside of it when the field eventually ruptures." + icon = 'icons/effects/effects.dmi' + icon_state = "shield1" + layer = 4.1 + mouse_opacity = 0 + var/resonance_damage = 30 + var/creator = null + +/obj/effect/resonance/New() + var/turf/proj_turf = get_turf(src) + if(!istype(proj_turf)) + return + if(istype(proj_turf, /turf/simulated/mineral)) + var/turf/simulated/mineral/M = proj_turf + playsound(src,'sound/effects/sparks4.ogg',50,1) + M.GetDrilled() + spawn(5) + del(src) + else + var/datum/gas_mixture/environment = proj_turf.return_air() + var/pressure = environment.return_pressure() + if(pressure < 50) + name = "strong resonance field" + resonance_damage = 60 + spawn(50) + playsound(src,'sound/effects/sparks4.ogg',50,1) + if(creator) + for(var/mob/living/L in src.loc) + add_logs(creator, L, "used a resonator field on", object="resonator") + L << "The [src.name] ruptured with you in it!" + L.adjustBruteLoss(resonance_damage) + else + for(var/mob/living/L in src.loc) + L << "The [src.name] ruptured with you in it!" + L.adjustBruteLoss(resonance_damage) + del(src) + +/**********************Mining drone**********************/ + +/mob/living/simple_animal/hostile/mining_drone/ + name = "nanotrasen minebot" + desc = "A small robot used to support miners, can be set to search and collect loose ore, or to help fend off wildlife." + icon = 'icons/obj/aibots.dmi' + icon_state = "mining_drone" + icon_living = "mining_drone" + status_flags = CANSTUN|CANWEAKEN|CANPUSH + mouse_opacity = 1 + faction = "neutral" + a_intent = "harm" + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + wander = 0 + idle_vision_range = 5 + move_to_delay = 10 + retreat_distance = 1 + minimum_distance = 2 + health = 100 + maxHealth = 100 + melee_damage_lower = 15 + melee_damage_upper = 15 + environment_smash = 0 + attacktext = "drills" + attack_sound = 'sound/weapons/circsawhit.ogg' + ranged = 1 + ranged_message = "shoots" + ranged_cooldown_cap = 3 + projectiletype = /obj/item/projectile/beam + projectilesound = 'sound/weapons/Laser.ogg' + wanted_objects = list(/obj/item/weapon/ore) + +/mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/I as obj, mob/user as mob) + if(istype(I, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/W = I + if(W.welding && !stat) + if(stance != HOSTILE_STANCE_IDLE) + user << "[src] is moving around too much to repair!" + return + if(maxHealth == health) + user << "[src] is at full integrity." + else + health += 10 + user << "You repair some of the armor on [src]." + return + if(istype(I, /obj/item/device/mining_scanner)) + user << "You instruct [src] to drop any collected ore." + DropOre() + return + ..() + +/mob/living/simple_animal/hostile/mining_drone/Die() + ..() + visible_message("[src] is destroyed!") + new /obj/effect/decal/remains/robot(src.loc) + DropOre() + del src + return + +/mob/living/simple_animal/hostile/mining_drone/New() + ..() + SetCollectBehavior() + +/mob/living/simple_animal/hostile/mining_drone/attack_hand(mob/living/carbon/human/M) + if(M.a_intent == "help") + switch(search_objects) + if(0) + SetCollectBehavior() + M << "[src] has been set to search and store loose ore." + if(2) + SetOffenseBehavior() + M << "[src] has been set to attack hostile wildlife." + return + ..() + +/mob/living/simple_animal/hostile/mining_drone/proc/SetCollectBehavior() + stop_automated_movement_when_pulled = 1 + idle_vision_range = 9 + search_objects = 2 + wander = 1 + ranged = 0 + minimum_distance = 1 + retreat_distance = null + icon_state = "mining_drone" + +/mob/living/simple_animal/hostile/mining_drone/proc/SetOffenseBehavior() + stop_automated_movement_when_pulled = 0 + idle_vision_range = 5 + search_objects = 0 + wander = 0 + ranged = 1 + retreat_distance = 1 + minimum_distance = 2 + icon_state = "mining_drone_offense" + +/mob/living/simple_animal/hostile/mining_drone/AttackingTarget() + if(istype(target, /obj/item/weapon/ore)) + CollectOre() + return + ..() + +/mob/living/simple_animal/hostile/mining_drone/proc/CollectOre() + var/obj/item/weapon/ore/O + for(O in src.loc) + O.loc = src + for(var/dir in alldirs) + var/turf/T = get_step(src,dir) + for(O in T) + O.loc = src + return + +/mob/living/simple_animal/hostile/mining_drone/proc/DropOre() + if(!contents.len) + return + for(var/obj/item/weapon/ore/O in contents) + contents -= O + O.loc = src.loc + return + +/mob/living/simple_animal/hostile/mining_drone/adjustBruteLoss() + if(search_objects) + SetOffenseBehavior() + ..() + +/**********************Lazarus Injector**********************/ + +/obj/item/weapon/lazarus_injector + name = "lazarus injector" + desc = "An injector with a cocktail of nanomachines and chemicals, this device can seemingly raise animals from the dead, making them become friendly to the user. Unfortunately, the process is useless on higher forms of life and incredibly costly, so these were hidden in storage until an executive thought they'd be great motivation for some of their employees." + icon = 'icons/obj/syringe.dmi' + icon_state = "lazarus_hypo" + item_state = "hypo" + throwforce = 0 + w_class = 2.0 + throw_speed = 3 + throw_range = 5 + var/loaded = 1 + +/obj/item/weapon/lazarus_injector/afterattack(atom/target, mob/user, proximity_flag) + if(!loaded) + return + if(istype(target, /mob/living) && proximity_flag) + if(istype(target, /mob/living/simple_animal)) + var/mob/living/simple_animal/M = target + if(M.stat == DEAD) + M.faction = "lazarus" + M.revive() + if(istype(target, /mob/living/simple_animal/hostile)) + var/mob/living/simple_animal/hostile/H = M + H.friends += user + log_game("[user] has revived hostile mob [target] with a lazarus injector") + loaded = 0 + user.visible_message("[user] injects [M] with [src], reviving it.") + playsound(src,'sound/effects/refill.ogg',50,1) + icon_state = "lazarus_empty" + return + else + user << "[src] is only effective on the dead." + return + else + user << "[src] is only effective on lesser beings." + return + +/obj/item/weapon/lazarus_injector/examine() + ..() + if(!loaded) + usr << "[src] is empty." + +/**********************Mining Scanner**********************/ +/obj/item/device/mining_scanner + desc = "A scanner that checks surrounding rock for useful minerals, it can also be used to stop gibtonite detonations. Requires you to wear mesons to work properly." + name = "mining scanner" + icon_state = "mining" + item_state = "analyzer" + w_class = 2.0 + flags = CONDUCT + slot_flags = SLOT_BELT + var/cooldown = 0 + +/obj/item/device/mining_scanner/attack_self(mob/user) + if(!user.client) + return + if(!cooldown) + cooldown = 1 + spawn(40) + cooldown = 0 + var/client/C = user.client + var/list/L = list() + var/turf/simulated/mineral/M + for(M in range(7, user)) + if(M.scan_state) + L += M + if(!L.len) + user << "[src] reports that nothing was detected nearby." + return + else + for(M in L) + var/turf/T = get_turf(M) + var/image/I = image('icons/turf/walls.dmi', loc = T, icon_state = M.scan_state, layer = 18) + C.images += I + spawn(30) + if(C) + C.images -= I + +/**********************Xeno Warning Sign**********************/ +/obj/structure/sign/xeno_warning_mining + name = "DANGEROUS ALIEN LIFE" + desc = "A sign that warns would be travellers of hostile alien life in the vicinity." + icon = 'icons/obj/mining.dmi' + icon_state = "xeno_warning" \ No newline at end of file diff --git a/code/modules/mining/materials.dm b/code/modules/mining/materials.dm new file mode 100644 index 00000000000..2a0ebdc6d2a --- /dev/null +++ b/code/modules/mining/materials.dm @@ -0,0 +1,139 @@ +/** +* Materials system +* +* Replaces all of the horrible variables that tracked each individual thing. +*/ + +/** +* MATERIALS DATUM +* +* Tracks and manages material storage for an object. +*/ +/datum/materials + var/list/datum/material/storage[0] + +/datum/materials/New() + for(var/matdata in typesof(/datum/material) - /datum/material) + var/datum/material/mat = new matdata + storage[mat.id]=mat + +/datum/materials/proc/addAmount(var/mat_id,var/amount) + if(!(mat_id in storage)) + warning("addAmount(): Unknown material [mat_id]!") + return + // I HATE BYOND + // storage[mat_id].stored++ + var/datum/material/mat=storage[mat_id] + mat.stored += amount + storage[mat_id]=mat + +/datum/materials/proc/removeAmount(var/mat_id,var/amount) + if(!(mat_id in storage)) + warning("removeAmount(): Unknown material [mat_id]!") + return + addAmount(mat_id,-amount) + +/datum/materials/proc/getAmount(var/mat_id) + if(!(mat_id in storage)) + warning("getAmount(): Unknown material [mat_id]!") + return 0 + + var/datum/material/mat=getMaterial(mat_id) + return mat.stored + +/datum/materials/proc/getMaterial(var/mat_id) + if(!(mat_id in storage)) + warning("getMaterial(): Unknown material [mat_id]!") + return 0 + + return storage[mat_id] + + +/datum/material + var/name="" + var/processed_name="" + var/id="" + var/stored=0 + var/cc_per_sheet=CC_PER_SHEET_MISC + var/oretype=null + var/sheettype=null + var/cointype=null + var/value=0 + +/datum/material/New() + if(processed_name=="") + processed_name=name + +/datum/material/iron + name="Iron" + id="iron" + value=1 + cc_per_sheet=CC_PER_SHEET_METAL + oretype=/obj/item/weapon/ore/iron + sheettype=/obj/item/stack/sheet/metal + cointype=/obj/item/weapon/coin/iron + +/datum/material/glass + name="Sand" + processed_name="Glass" + id="glass" + value=1 + cc_per_sheet=CC_PER_SHEET_GLASS + oretype=/obj/item/weapon/ore/glass + sheettype=/obj/item/stack/sheet/glass + +/datum/material/diamond + name="Diamond" + id="diamond" + value=40 + oretype=/obj/item/weapon/ore/diamond + sheettype=/obj/item/stack/sheet/mineral/diamond + cointype=/obj/item/weapon/coin/diamond + +/datum/material/plasma + name="Plasma" + id="plasma" + value=40 + oretype=/obj/item/weapon/ore/plasma + sheettype=/obj/item/stack/sheet/mineral/plasma + cointype=/obj/item/weapon/coin/plasma + +/datum/material/gold + name="Gold" + id="gold" + value=20 + oretype=/obj/item/weapon/ore/gold + sheettype=/obj/item/stack/sheet/mineral/gold + cointype=/obj/item/weapon/coin/gold + +/datum/material/silver + name="Silver" + id="silver" + value=20 + oretype=/obj/item/weapon/ore/silver + sheettype=/obj/item/stack/sheet/mineral/silver + cointype=/obj/item/weapon/coin/silver + +/datum/material/uranium + name="Uranium" + id="uranium" + value=20 + oretype=/obj/item/weapon/ore/uranium + sheettype=/obj/item/stack/sheet/mineral/uranium + cointype=/obj/item/weapon/coin/uranium + +/datum/material/clown + name="Bananium" + id="clown" + value=100 + oretype=/obj/item/weapon/ore/clown + sheettype=/obj/item/stack/sheet/mineral/clown + cointype=/obj/item/weapon/coin/clown + +/datum/material/plastic + name="Plastic" + id="plastic" + value=1 + oretype=null + sheettype=/obj/item/stack/sheet/mineral/plastic + cointype=null \ No newline at end of file diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index db9fc4b98fa..e53aba34674 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -26,6 +26,7 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont var/excav_overlay = "" var/obj/item/weapon/last_find var/datum/artifact_find/artifact_find + var/scan_state = null New() @@ -104,10 +105,13 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont switch(mineral.display_name) if("Iron") icon_state = "rock_Iron[rand(1,3)]" + scan_state = "rock_Iron" if("Plasma") icon_state = "rock_Plasma[rand(1,3)]" + scan_state = "rock_Plasma" else icon_state = "rock_[mineral.name]" + scan_state = "rock_[mineral.name]" //Not even going to touch this pile of spaghetti attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -565,9 +569,9 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont ////////////////////////////////Gibtonite /turf/simulated/mineral/gibtonite name = "Diamond deposit" //honk - icon_state = "rock_Diamond" + icon_state = "rock_Gibtonite" mineral = new /mineral/gibtonite - + scan_state = "rock_Gibtonite" var/det_time = 8 //Countdown till explosion, but also rewards the player for how close you were to detonation when you defuse it var/stage = 0 //How far into the lifecycle of gibtonite we are, 0 is untouched, 1 is active and attempting to detonate, 2 is benign and ready for extraction var/activated_ckey = null //These are to track who triggered the gibtonite deposit for logging purposes @@ -648,6 +652,13 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont /turf/simulated/floor/plating/airless/asteroid/cave var/length = 100 + var/mob_spawn_list = list( + /mob/living/simple_animal/hostile/asteroid/goliath = 5, + /mob/living/simple_animal/hostile/asteroid/goldgrub = 1, + /mob/living/simple_animal/hostile/asteroid/basilisk = 3, + /mob/living/simple_animal/hostile/asteroid/hivelord = 5 + ) + var/sanity = 1 /turf/simulated/floor/plating/airless/asteroid/cave/New(loc, var/length, var/go_backwards = 1, var/exclude_dir = -1) @@ -676,6 +687,8 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont var/next_angle = pick(45, -45) for(var/i = 0; i < length; i++) + if(!sanity) + break var/list/L = list(45) if(IsOdd(dir2angle(dir))) // We're going at an angle and we want thick angled tunnels. @@ -707,7 +720,23 @@ var/list/artifact_spawn = list() // Runtime fix for geometry loading before cont /turf/simulated/floor/plating/airless/asteroid/cave/proc/SpawnFloor(var/turf/T) - //var/turf/simulated/floor/t = - new /turf/simulated/floor/plating/airless/asteroid(T) - //spawn(2) - // t.fullUpdateMineralOverlays() \ No newline at end of file + for(var/turf/S in range(2,T)) + if(istype(S, /turf/space) || istype(S.loc, /area/mine/explored)) + sanity = 0 + break + if(!sanity) + return + + SpawnMonster(T) + + +/turf/simulated/floor/plating/airless/asteroid/cave/proc/SpawnMonster(var/turf/T) + if(prob(2)) + if(istype(loc, /area/mine/explored)) + return + for(var/atom/A in range(7,T))//Lowers chance of mob clumps + if(istype(A, /mob/living/simple_animal/hostile/asteroid)) + return + var/randumb = pickweight(mob_spawn_list) + new randumb(T) + return diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index af78b9ec397..fd2a6fd572a 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -4,22 +4,26 @@ name = "Rock" icon = 'icons/obj/mining.dmi' icon_state = "ore2" + var/material=null var/datum/geosample/geologic_data /obj/item/weapon/ore/uranium name = "Uranium ore" icon_state = "Uranium ore" origin_tech = "materials=5" + material="uranium" /obj/item/weapon/ore/iron name = "Iron ore" icon_state = "Iron ore" origin_tech = "materials=1" + material="iron" /obj/item/weapon/ore/glass name = "Sand" icon_state = "Glass ore" origin_tech = "materials=1" + material="glass" attack_self(mob/living/user as mob) //It's magic I ain't gonna explain how instant conversion with no tool works. -- Urist var/location = get_turf(user) @@ -33,26 +37,31 @@ name = "Plasma ore" icon_state = "Plasma ore" origin_tech = "materials=2" + material="plasma" /obj/item/weapon/ore/silver name = "Silver ore" icon_state = "Silver ore" origin_tech = "materials=3" + material="silver" /obj/item/weapon/ore/gold name = "Gold ore" icon_state = "Gold ore" origin_tech = "materials=4" + material="gold" /obj/item/weapon/ore/diamond name = "Diamond ore" icon_state = "Diamond ore" origin_tech = "materials=6" + material="diamond" /obj/item/weapon/ore/clown name = "Bananium ore" icon_state = "Clown ore" origin_tech = "materials=4" + material="clown" /obj/item/weapon/ore/slag name = "Slag" @@ -73,19 +82,45 @@ var/quality = 1 //How pure this gibtonite is, determines the explosion produced by it and is derived from the det_time of the rock wall it was taken from, higher value = better /obj/item/weapon/twohanded/required/gibtonite/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/pickaxe) && !primed) + if(istype(I, /obj/item/weapon/pickaxe) || istype(I, /obj/item/weapon/resonator)) + GibtoniteReaction(user) + return + if(istype(I, /obj/item/device/mining_scanner) && primed) + primed = 0 + user.visible_message("The chain reaction was stopped! ...The ore's quality went down.") + icon_state = "Gibtonite ore" + quality = 1 + return + ..() + +/obj/item/weapon/twohanded/required/gibtonite/bullet_act(var/obj/item/projectile/P) + if(istype(P, /obj/item/projectile/bullet)) + GibtoniteReaction(P.firer) + ..() + +/obj/item/weapon/twohanded/required/gibtonite/ex_act() + GibtoniteReaction(triggered_by_explosive = 1) + +/obj/item/weapon/twohanded/required/gibtonite/proc/GibtoniteReaction(mob/user, triggered_by_explosive = 0) + if(!primed) playsound(src,'sound/effects/hit_on_shattered_glass.ogg',50,1) primed = 1 icon_state = "Gibtonite active" - user.visible_message("[user] strikes the [src], causing a chain reaction!") var/turf/bombturf = get_turf(src) var/area/A = get_area(bombturf) var/notify_admins = 0 if(z != 5)//Only annoy the admins ingame if we're triggered off the mining zlevel notify_admins = 1 if(notify_admins) - message_admins("[key_name(usr)]? has triggered a [name] to detonate at [A.name] (JMP).") - log_game("[key_name(usr)] has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])") + if(triggered_by_explosive) + message_admins("An explosion has triggered a [name] to detonate at [A.name] (JMP).") + else + message_admins("[key_name(usr)]? has triggered a [name] to detonate at [A.name] (JMP).") + if(triggered_by_explosive) + log_game("An explosion has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])") + else + user.visible_message("[user] strikes the [src], causing a chain reaction!") + log_game("[key_name(usr)] has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])") spawn(det_time) if(primed) if(quality == 3) @@ -95,17 +130,14 @@ if(quality == 1) explosion(src.loc,-1,1,3,adminlog = notify_admins) del(src) - if(istype(I, /obj/item/device/analyzer) && primed) - primed = 0 - user.visible_message("The chain reaction was stopped! ...The ore's quality went down.") - icon_state = "Gibtonite ore" - quality = 1 - ..() /obj/item/weapon/ore/New() pixel_x = rand(0,16)-8 pixel_y = rand(0,8)-8 +/obj/item/weapon/ore/ex_act() + return + /obj/item/weapon/ore/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/device/core_sampler)) var/obj/item/device/core_sampler/C = W diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index ac6e51def66..b70a3e27976 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -266,9 +266,11 @@ var/list/directions = cardinal.Copy() for(var/dir in directions) var/turf/T = get_step(src, dir) - if(istype(T, /turf/simulated/wall)) + if(istype(T, /turf/simulated/wall) && T.Adjacent(src)) T.attack_animal(src) for(var/atom/A in T) + if(!A.Adjacent(src)) + continue if(istype(A, /obj/structure/window) || istype(A, /obj/structure/closet) || istype(A, /obj/structure/table) || istype(A, /obj/structure/grille) || istype(A, /obj/structure/rack)) A.attack_animal(src) return diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index a885aa47387..8ae5d68aae4 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -29,19 +29,21 @@ ..() icon_state = icon_living -/mob/living/simple_animal/hostile/asteroid/bullet_act(var/obj/item/projectile/P)//Limits the weapons available to kill them at range - if(P.damage < 30) - visible_message("The [P.name] had no effect on [src.name]!") +/mob/living/simple_animal/hostile/asteroid/bullet_act(var/obj/item/projectile/P)//Reduces damage from most projectiles to curb off-screen kills + if(!stat) Aggro() - return + if(P.damage < 30) + P.damage = (P.damage / 2) + visible_message("The [P] has a reduced effect on [src]!") ..() /mob/living/simple_animal/hostile/asteroid/hitby(atom/movable/AM)//No floor tiling them to death, wiseguy if(istype(AM, /obj/item)) var/obj/item/T = AM + if(!stat) + Aggro() if(T.throwforce <= 15) visible_message("The [T.name] [src.throw_message] [src.name]!") - Aggro() return ..() @@ -59,19 +61,21 @@ projectilesound = 'sound/weapons/pierce.ogg' ranged = 1 ranged_message = "stares" - ranged_cooldown_cap = 8 + ranged_cooldown_cap = 20 throw_message = "does nothing against the hard shell of" vision_range = 2 speed = 3 maxHealth = 200 health = 200 harm_intent_damage = 5 - melee_damage_lower = 15 - melee_damage_upper = 15 + melee_damage_lower = 12 + melee_damage_upper = 12 attacktext = "bites into" a_intent = "harm" attack_sound = 'sound/weapons/bladeslice.ogg' ranged_cooldown_cap = 4 + aggro_vision_range = 9 + idle_vision_range = 2 /obj/item/projectile/temp/basilisk name = "freezing blast" @@ -94,7 +98,23 @@ visible_message("The [src.name]'s stare chills [L.name] to the bone!") return -/mob/living/simple_animal/hostile/asteroid/Goldgrub +/mob/living/simple_animal/hostile/asteroid/basilisk/ex_act(severity) + switch(severity) + if(1.0) + gib() + if(2.0) + adjustBruteLoss(140) + if(3.0) + adjustBruteLoss(110) + +/mob/living/simple_animal/hostile/asteroid/basilisk/Die() + var/counter + for(counter=0, counter<2, counter++) + var/obj/item/weapon/ore/diamond/D = new /obj/item/weapon/ore/diamond(src.loc) + D.layer = 4.1 + ..() + +/mob/living/simple_animal/hostile/asteroid/goldgrub name = "goldgrub" desc = "A worm that grows fat from eating everything in its sight. Seems to enjoy precious metals and other shiny things, hence the name." icon = 'icons/mob/animal.dmi' @@ -103,11 +123,13 @@ icon_aggro = "Goldgrub_alert" icon_dead = "Goldgrub_dead" icon_gib = "syndicate_gib" - vision_range = 6 + vision_range = 3 + aggro_vision_range = 9 + idle_vision_range = 3 move_to_delay = 3 friendly = "harmlessly rolls into" - maxHealth = 45 - health = 45 + maxHealth = 60 + health = 60 harm_intent_damage = 5 melee_damage_lower = 0 melee_damage_upper = 0 @@ -115,48 +137,78 @@ a_intent = "help" throw_message = "sinks in slowly, before being pushed out of " status_flags = CANPUSH - search_objects = 2 - wanted_objects = list(/obj/item/weapon/ore/diamond, /obj/item/weapon/ore/gold, /obj/item/weapon/ore/silver, /obj/item/weapon/ore/plasma, - /obj/item/weapon/ore/uranium, /obj/item/weapon/ore/iron, /obj/item/weapon/ore/clown) - var/alerted = 0 + search_objects = 1 + wanted_objects = list(/obj/item/weapon/ore/diamond, /obj/item/weapon/ore/gold, /obj/item/weapon/ore/silver, + /obj/item/weapon/ore/uranium) -/mob/living/simple_animal/hostile/asteroid/Goldgrub/GiveTarget(var/new_target) + var/list/ore_types_eaten = list() + var/alerted = 0 + var/ore_eaten = 1 + var/chase_time = 100 + +/mob/living/simple_animal/hostile/asteroid/goldgrub/GiveTarget(var/new_target) target = new_target if(target != null) if(istype(target, /obj/item/weapon/ore)) visible_message("The [src.name] looks at [target.name] with hungry eyes.") stance = HOSTILE_STANCE_ATTACK - if(isliving(target) && !search_objects) + return + if(isliving(target)) Aggro() stance = HOSTILE_STANCE_ATTACK visible_message("The [src.name] tries to flee from [target.name]!") retreat_distance = 10 + minimum_distance = 10 Burrow() + return return -/obj/item/weapon/ore/attack_animal(var/mob/living/L) - if(istype(L, /mob/living/simple_animal/hostile/asteroid/Goldgrub)) - L.visible_message("The [src.name] was swallowed whole!") - del(src) +/mob/living/simple_animal/hostile/asteroid/goldgrub/AttackingTarget() + if(istype(target, /obj/item/weapon/ore)) + EatOre(target) + return ..() -/mob/living/simple_animal/hostile/asteroid/Goldgrub/proc/Burrow()//Begin the chase to kill the goldgrub in time +/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/EatOre(var/atom/targeted_ore) + for(var/obj/item/weapon/ore/O in targeted_ore.loc) + ore_eaten++ + if(!(O.type in ore_types_eaten)) + ore_types_eaten += O.type + del(O) + if(ore_eaten > 5)//Limit the scope of the reward you can get, or else things might get silly + ore_eaten = 5 + visible_message("The ore was swallowed whole!") + +/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/Burrow()//Begin the chase to kill the goldgrub in time if(!alerted) alerted = 1 - spawn(100) - if(alerted) - visible_message("The [src.name] buries into the ground, vanishing from sight!") - del(src) + spawn(chase_time) + if(alerted) + visible_message("The [src.name] buries into the ground, vanishing from sight!") + del(src) -/mob/living/simple_animal/hostile/asteroid/Goldgrub/bullet_act(var/obj/item/projectile/P) +/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/Reward() + if(!ore_eaten || ore_types_eaten.len == 0) + return + visible_message("[src] spits up the contents of its stomach before dying!") + var/counter + for(var/R in ore_types_eaten) + for(counter=0, counter < ore_eaten, counter++) + new R(src.loc) + ore_types_eaten.Cut() + ore_eaten = 0 + + +/mob/living/simple_animal/hostile/asteroid/goldgrub/bullet_act(var/obj/item/projectile/P) visible_message("The [P.name] was repelled by [src.name]'s girth!") return -/mob/living/simple_animal/hostile/asteroid/Goldgrub/Die() +/mob/living/simple_animal/hostile/asteroid/goldgrub/Die() alerted = 0 + Reward() ..() -/mob/living/simple_animal/hostile/asteroid/Hivelord +/mob/living/simple_animal/hostile/asteroid/hivelord name = "hivelord" desc = "A truly alien creature, it is a mass of unknown organic material, constantly fluctuating. When attacking, pieces of it split off and attack in tandem with the original." icon = 'icons/mob/animal.dmi' @@ -166,34 +218,72 @@ icon_dead = "Hivelord_dead" icon_gib = "syndicate_gib" mouse_opacity = 2 - move_to_delay = 12 + move_to_delay = 14 ranged = 1 - vision_range = 4 + vision_range = 5 + aggro_vision_range = 9 + idle_vision_range = 5 speed = 3 maxHealth = 75 health = 75 harm_intent_damage = 5 - melee_damage_lower = 2 - melee_damage_upper = 2 + melee_damage_lower = 0 + melee_damage_upper = 0 attacktext = "lashes out at" throw_message = "falls right through the strange body of the" ranged_cooldown = 0 ranged_cooldown_cap = 0 environment_smash = 0 - retreat_distance = 5 - minimum_distance = 5 + retreat_distance = 3 + minimum_distance = 3 pass_flags = PASSTABLE -/mob/living/simple_animal/hostile/asteroid/Hivelord/OpenFire(var/the_target) - var/mob/living/simple_animal/hostile/asteroid/Hivelordbrood/A = new /mob/living/simple_animal/hostile/asteroid/Hivelordbrood(src.loc) +/mob/living/simple_animal/hostile/asteroid/hivelord/OpenFire(var/the_target) + var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/A = new /mob/living/simple_animal/hostile/asteroid/hivelordbrood(src.loc) A.GiveTarget(target) + A.friends = friends + A.faction = faction return -/mob/living/simple_animal/hostile/asteroid/Hivelord/AttackingTarget() +/mob/living/simple_animal/hostile/asteroid/hivelord/AttackingTarget() OpenFire() + +/mob/living/simple_animal/hostile/asteroid/hivelord/Die() + new /obj/item/asteroid/hivelord_core(src.loc) ..() -/mob/living/simple_animal/hostile/asteroid/Hivelordbrood +/obj/item/asteroid/hivelord_core + name = "hivelord remains" + desc = "All that remains of a hivelord, it seems to be what allows it to break pieces of itself off without being hurt... its healing properties will soon become inert if not used quickly. Try not to think about what you're eating." + icon = 'icons/obj/food.dmi' + icon_state = "boiledrorocore" + var/inert = 0 + +/obj/item/asteroid/hivelord_core/New() + spawn(1200) + inert = 1 + desc = "The remains of a hivelord that have become useless, having been left alone too long after being harvested." + +/obj/item/asteroid/hivelord_core/attack(mob/living/M as mob, mob/living/user as mob) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(inert) + user << "[src] have become inert, its healing properties are no more." + return + else + if(H.stat == DEAD) + user << "[src] are useless on the dead." + return + if(H != user) + H.visible_message("[user] forces [H] to eat [src]... they quickly regenerate all injuries!") + else + user << "You chomp into [src], barely managing to hold it down, but feel amazingly refreshed in mere moments." + playsound(src.loc,'sound/items/eatfood.ogg', rand(10,50), 1) + H.revive() + del(src) + ..() + +/mob/living/simple_animal/hostile/asteroid/hivelordbrood name = "hivelord brood" desc = "A fragment of the original Hivelord, rallying behind its original. One isn't much of a threat, but..." icon = 'icons/mob/animal.dmi' @@ -217,15 +307,15 @@ environment_smash = 0 pass_flags = PASSTABLE -/mob/living/simple_animal/hostile/asteroid/Hivelordbrood/New() +/mob/living/simple_animal/hostile/asteroid/hivelordbrood/New() ..() spawn(100) del(src) -/mob/living/simple_animal/hostile/asteroid/Hivelordbrood/Die() +/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Die() del(src) -/mob/living/simple_animal/hostile/asteroid/Goliath +/mob/living/simple_animal/hostile/asteroid/goliath name = "goliath" desc = "A massive beast that uses long tentacles to ensare its prey, threatening them is not advised under any conditions." icon = 'icons/mob/animal.dmi' @@ -234,6 +324,7 @@ icon_aggro = "Goliath_alert" icon_dead = "Goliath_dead" icon_gib = "syndicate_gib" + attack_sound = 'sound/weapons/punch4.ogg' mouse_opacity = 2 move_to_delay = 40 ranged = 1 @@ -248,15 +339,17 @@ melee_damage_upper = 25 attacktext = "pulverizes" throw_message = "does nothing to the rocky hide of the" + aggro_vision_range = 9 + idle_vision_range = 5 -/mob/living/simple_animal/hostile/asteroid/Goliath/OpenFire() +/mob/living/simple_animal/hostile/asteroid/goliath/OpenFire() visible_message("The [src.name] digs its tentacles under [target.name]!") var/tturf = get_turf(target) new /obj/effect/goliath_tentacle/original(tturf) ranged_cooldown = ranged_cooldown_cap return -/mob/living/simple_animal/hostile/asteroid/Goliath/adjustBruteLoss(var/damage) +/mob/living/simple_animal/hostile/asteroid/goliath/adjustBruteLoss(var/damage) ranged_cooldown-- ..() @@ -297,3 +390,28 @@ return ..() +/mob/living/simple_animal/hostile/asteroid/goliath/Die() + var/obj/item/asteroid/goliath_hide/G = new /obj/item/asteroid/goliath_hide(src.loc) + G.layer = 4.1 + ..() + +/obj/item/asteroid/goliath_hide + name = "goliath hide plates" + desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna." + icon = 'icons/obj/items.dmi' + icon_state = "goliath_hide" + w_class = 3 + layer = 4 + +/obj/item/asteroid/goliath_hide/afterattack(atom/target, mob/user, proximity_flag) + if(proximity_flag) + if(istype(target, /obj/item/clothing/suit/space/rig/mining) || istype(target, /obj/item/clothing/head/helmet/space/rig/mining)) + var/obj/item/clothing/C = target + var/current_armor = C.armor + if(current_armor.["melee"] < 90) + current_armor.["melee"] = min(current_armor.["melee"] + 10, 90) + user << "You strengthen [target], improving its resistance against melee attacks." + del(src) + else + user << "You can't improve [C] any further." + return diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index d1fbe81ea08..b18011a869d 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -123,10 +123,15 @@ obj/item/ammo_casing/shotgun/dart/New() caliber = "a762" projectile_type = "/obj/item/projectile/bullet/a762" - /obj/item/ammo_casing/rocket name = "rocket shell" desc = "A high explosive designed to be fired from a launcher." icon_state = "rocketshell" projectile_type = "/obj/item/missile" caliber = "rocket" + +/obj/item/ammo_casing/energy/kinetic + projectile_type = /obj/item/projectile/bullet + //select_name = "kinetic" + //e_cost = 500 + //fire_sound = 'sound/weapons/Gunshot4.ogg' diff --git a/code/setup.dm b/code/setup.dm index 01d25246772..db2f9ee382f 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -428,6 +428,10 @@ var/MAX_EXPLOSION_RANGE = 14 #define MAX_STACK_AMOUNT_GLASS 50 #define MAX_STACK_AMOUNT_RODS 60 +#define CC_PER_SHEET_METAL 3750 +#define CC_PER_SHEET_GLASS 3750 +#define CC_PER_SHEET_MISC 2000 + #define GAS_O2 (1 << 0) #define GAS_N2 (1 << 1) #define GAS_PL (1 << 2) diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 47173c1da78c8fab82d1c961adafe37fc0d68739..9089fb149c4b195a254261225411b093a30fbb38 100644 GIT binary patch delta 20779 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 delta 20239 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⩔s;j4w!qU5rzwGp7cVYs8gTEWoy4HS`;_XhexuqNUmK(I z0geb;;5aLU`Y~hh+C3v9?|n$|YHnt|Nw|E5lXE3#@&tXoh`_2dVs?gW>h1brfR?4- zcs?B(a_`RO;Q5}O9uup2wC{Fir|J%1(~)q|d|d~+7Yp2#G#tUeRqDNA{tA+go<(?Q zhW(T3*ehs(3T~5uyWM~#rI-;hf0Gsi>3!0Bm7Iqefs-oz(@9_Uxw&YqX_-bI6x2P! za=Z_r)~}wPGn$MVD=q2o6_$rr1`*W2W6+MN84}vc&uPu9!Y!B5-QJO@7)w#jMaFCG&JtT7$8{?I-xZqK`je?+O5FL+0$DgQjp$S8xbsqpQDYm>Ak?{saCqqd5y8r`f ze6W%c8Pg;OkVVPh#-%f=wbd%XOuUy?aI=u)TC3`Z`EO}yLdqU<*Pmh<_*0eK5))7H zy~x)IiT*s&5EO9snlI~Ajo0&Jn&5BWVCqg&S=0%MiMH#bW!6dfV{r+Iw#}*9Z8RB= zHdhGiXb3DG)Yd@%Cbb&3IkpfYItC+g-6*pDLCowDsOG|9djxCZI%?WFu^<|~t#R?s zJDOtc$uJd3P!H-~suOn|E_`5CY6FXoj?PBp?ElHQ0(5qC^c7hsK@l?zG!ZSRDNp`H z84IXePWsz;K=XmR%BX>B%`VVK^Q{ZKb{pr~I{uwSb6Yet0rvN~OuMN>kd(TPsqre9 ztGN4%1`R29xgq+i>~ZcyXamV;SEQirm8uT)SZ0^9r)ss~zJ2?4e4(!`Lfx_tKdzgsI5)pqj#XkCvx_0(%S8v zk)gV8#TJj=Aj*naz^&|?s6hnT7Cz$@iH~C5U#FDM#IXY=kQf*e6MyKd5AXpRA!{=2 zD;XQp*ccmgKy-n+QDuNVSYAqvqGvq)jIes{?PObq$5eS$F5xwBLjqg#FBUlDY2g=0 zpS73{Z@mzD5(z?@bw#i{#y^d3M*TEF1Jn2oEVCf#V_cU?Ka5jCet2DX^ejT`(P@IcWk&9Y<8o(PmRLUIbXFU{DqT z2=-dDmLDN!{w4`sz+0rQBV4|bXBM z$C%8eL+4#SJd>5GSV zA1qCjv_c&&mtVZQ84Lhyb|-zuYv4*w5|td31}AE_{!)JX54?cDt+XnwYL}npo0M8Py!lR9Vi{Y>G-d0~FZSTq6BaZN^U5<$3AxWJ@ zbFXqesCe?${b2opB}m+ljN0lP%w0xwYCfn@L7`1$tj`B;SQ%0N!DZhJuu z%k%v$^zLO872|%)Db&Pwm+eO}XVmX=e$h|8a9gg4Y!d@#+NW%UmL0xUf)+5f^oZ#E z<~aC;XRf5U_~&ci$4Nde0)FHkH082d)Bq5e?wOY1*hr8#l^w#i%nM^VPN9%(IUc35`vbEdZzC3db zWy}9J$Q|f|)}ExMv~BRw)Cu)UH?uO9HCN??JGKUNBJmsXukzA8`X(g+{ThUd+a2d#6fz^ET~UoKsJkE zDY>L>?n?Tn*Q?;Fla&^$G}^8EDZ=sS7k;L7kbYdW;_dO|g;@Wo9D~i7?{1tr=F_P` zv~c~E;DBri|6>uDxiRw8qN^~BrdumHGa zxxJ}P_Z*XQ^@hdQUYDJ`5fAr?DzkE5$`pm&but;ZL)QGf-v0!VQA{WQ*EvMsJ3@TY zwr^PrYH~zC`XeDJsa|)`UORHDuZ1Pcp~QON+f9&MD_?Z@#L)IE@mN*d#zUy}v_Y!t zHWBp0`izco&bZZQ98kJ5H&6ussaY{zTK}TI7{pRJ2l<~9gC!;qldAT>XkdSv82o51?oMos#FP(l=Y>qteh;BpWJc}|J5y009NKm z{wGw3YqD-bB#d-a3DLfcqY*SxZTTtu5d=nmazqBwP;7Hsen(KJQI;C5iM9m|&K+?c zenldh${gdnG2d)hrEV+=Xoh5Ps5?nTx>Tf(P@F&A3EjP~+*E3PvWzl4==fr)x>sgK zhB_pBqtA1f5EJYB{##bzbSbCappoG3)9J{BWyWlo@jOUv8IB?v!cos!r4vR#`p+%f zwf%KSgw=QQPG^iuuWHhzzg@n3$?@b%Lk$!+0;j%9p<%!fSF_?ci(V8*|QtSz6k^;%Q+k~H9;K?8kWdg z8dN-4-CL91TCB7`<_Q+bJe`Vosiq7CotmsOj~rc#4LxT7 zwkuxEzxuOqWH(^hTf(q*YSW|1w%n~uLsuHAw$RGicf~EDkLDNvb=+?6dm?6r$`n*|p=P|RZ1s4AG;CWS{ z+1q#SyxD?Keje&B8TfV;TgMK$z-A}_HzW~ufj+@7X$c8^=u02o+fNh}7XDG7f>I(m zvd%;K_m`*ZYcELFPDxH)6Kuiy>x}dsm@SsnJpxiD?EKLQHn=%m29Eec2>LkW2;5*{XB$NJ~nfhhG?YoTQU)Va@*GkM8y zdKuNoBdZb|=WEMF=N>D~w&Ee>8r1h**;v>UNr9l?hGr=xx7Y2mpwLBXTT9E^eOGVl zDho!!XD4}HMDJ7YgX77k;tf~LBI}3x zd9m-sceWt9TIq$I=CAd^o&io8w?fY-G<|TxFg_uscpJ=ij52?Adf6k!9J)fzO_SWk zVO`Z-HdKJdH~jnP$bkLT;K@3LC&TOXdk|HCn7++kUX#)C%aG*MDrzG654&o>_mMSa z+J271ape8`oFI@q+DR={07lwrgaX|6#nc!c{ zkkpWC{6xrIk=*z~#DVsXxbCwDxfxm^^7Yn<&)?+T)YZ$k7%5{65MOf+3CWaCYorNn znJtADGxf!b7TR6;=2D`fIw>ZDo_bwcLt=g7Fxwe@9Q^UE( zGrj+D{JXi2wpC=5*eOL4ol?tUjXk`VcO=OyGWl4Ypt$w&VEqF) z+xOIjewmvi6jhrQie!CdG9L%62RBRt%(qRbp;Z0@5$I-p;{-C+;)Iw4zhDeVFD`uC2S6`;x48odNX&f2*xnf++qG-fGw zFBtT>wxefti7nO_eKmkzB&N&>Cf^9;p&6osujV`kC2c&{Sk!If0=qDRb;huF(I!&1 zx}wQ&vn^;jpKpCh3#h?^G4Y|bCQWG1NA(z)px&`y{*(6%i%cVmEHs*$ArA?k1}>BT z?g9qS@i5y|Eaw;$J{FzV$o%ttu6snm^856wUy6hk!B@w=2zRaNmmV5|kNElcJdu>N zIrAV!ano)N{{?&@kE{*4C_~x`72=Zic3_n{at;|Oezdkg^i(Qd@f)nSdl*Cw_?0e( zgxxygd#c%ugfQ21yFL5+azv9aSF!%`H-_Qev=8ZG|6f1$i_S`Kj>B&iH%MwSQBphL zv7lrbIinVfi{4vNdbsk7Hy|G5XSd$2e7kJ?^@tj9I^6yM(1BfnxrKX_CE$eQdk4>J zT99W{fDi zZr=DFRo-o)Ja1DZ@bWKHD0$fL*5GAnG6y>d!O=s($GU%?d%E8B^F1C0jn3DJJ#bN0 z%G$f;W@T_v>K|q)3nn8SNztslbOW|a+^mP}=d>ljPU!CFM7C$3we(C^;R{d#{<|5Z z?Y6Y4xdnZ*i{V)kGh3Mvk2Vfh%7HS3peC=aY4SOny5I$#Eqi=SF4-1o2rBcb2N8X` zg7JMIqNB#;Ns(A<2QniJ=JyBfps$7%O(}P=|9Mfs&m>?iR==NuIDiIH%i1Ozt3JZb z)>G;5`rIOBS_qGLO|?Eczx-oxUCMG83Ao`7ffG6N6*IjTbAJQ6rl5$>j8{z0EPSBIy922r;+Jdw{d1y%{MV%>S zFghfDQ6DLSRSRQ~j9*55>}^Hzuhkqk6Q~qf2@hr~EDHHYaF0P`uZ-*YY27lAlwo^# zG3J5B>G5h5#I$O7BN)eBDh&z9;ir`{(fFZKsHpFOL4 z-GfTq|3q86uBZEG(_K1e7aamni=D{LGH?{Q-R6f==J@PEvS_dZV{e`DeEIML{_La>C?y~NDC zN{uQ00bN_5@Z@mMJSHqSpfZ_13b4SzO*?Td!_X5sH$R^(K=i|eC^$Dpc@#u~OT7L; z0WWljL1E2~9ksKocu%3L+;nS-0xvRMnc8n(i16w+XE#pV77DMFUgn|DH>EU8slg9e z&z^zhTawWz-3kGX)U0L*>F8T|d*@NP7fW=qZ300wXL+;@1Y_R-YZ|@9SPLQod4Y>= zFeqGs;7p@xk}1#g(_|TxMT2Xj!Z>vS1Am=;si%B!&qFgEixrYT@?6>FKSBJL9`fa_ z+6n^A^9cA`lYfy#DET94aSfY7zyhV8SMRTS;4JOx& z?DQC*VQ({zJpw^*JDojy-hv)B5Ey0;u^TsD1Cy{>reUZ{+^lw*&-`O96|^#S+zn+vhIreMYB>U|`H;?KSOaXrfQHeMlq)-?*3kQ3Soz{lP>KYta3r2dd*Bv)E1197 zx$eN&crd^86*e4D$L@pl1wu-e2?oY_JRWYZSG*5G{uTO8`xnxWIWx2b`;SC-@>&K2a(Zhw_?wLvGDzB8LJJ z8z6rmzgaZ;I>dok#<4SUTKI-Di``SCE-b}-?#F!C)OeJ(+Kn7NC1NN@w3A%<6P*H; z%UTFUMUbip0i+%Q3q78yo+np%D@hY0%}`#YvFsii^WJ z05LoCH%FMf>gsvL;u1O_CM5bwNK_;MB$Vd6*o&l|+;92{Rp0I=Y-it+a7y$YlAU_q z^RDHP-C-G4>$~iEr_U)!T7VSSj$+=w?-)Z;4B?Ovgl{9bFvaYVJNO@9x8FL4J6}#Z2Eypd8ZeV8yOavOAwY%KdFvhag29Ll8(w%j6@jhRjDZk*qmJ+ypl9eEuy)U`n?`_ZP@T|0f0AeqJZI-MQ zjD4;J^qT#I8`Y)$){z=YtCaSgrNyJ1Gyb+)2zZ^ny_({Z5&5oJ9R&J0HJ`s2ep4x$%mY9GW|Ts7BM-oX zU{(o*HvrK|cyN{51ZRd8Exi{A@y3yzr=eA1E3z34-Fhup@w+uREho5u@o-|@S>7|$cqxZi}9cV4mW&iHM= zEf#VwBVx)*#DOo*lTT`UHSI`a(6~pa$cW?X(=?eSL76cfZuc7($Kpl5?>vf0>P?xH zEVkR!Ym&UaGpjT|H$&Gz_oj?&C2E5C<}6D03kw(6G&}Lc)@EjF0|z-u{UAL;Vw*%i z7?5o!=e7RysamzsCJ>eK&!uUCF-O&AR6#9#Tl1po_ndo>VK`jaVcsfPyQz}Ern|=* z2E&CtZ#eJ{fB!CQL_crUkWpONyD@T8%c(PWgYoLqc5m`2O1b~@?R z?T?ic=|wGG#jw1{`!>mMpmn6dt)Y#Qk$-!f{K%3~!27vk!}eHw*ZHu-bhV#^W35m3 zfj6Iyog#(jNlj*K%eke{?h&shD1&V#?=|+~XYYrZ!cnPDO$y-N(8)C2ZN9^gAC&kV z%bs;C#5KuQXfcg-;9w6s)poizF+@v*+JDe>`#GbLD>qRYq}TIJhF%A-ifmzF(l14^ z*V(iM6H#S$mLQ}_rb3W)KP3lAi6+nLCtccmw^nR6rnE-vWk&Ew6QMGUmG{RScb2X zzC+HWTulwu6-PES-rmve$N-LoIh0Ff@{~=*T+ca#G>R-j)5D@UexsC;#pMkdcdYsr zeCbK?Mn_z@Tq*T$S8u6s`}lP~1ypOYc1wj2F`&5K&e(J%CW2{@J5isHSBE>>nAM7! z@fcS0omAtta_IfwL=^ehBvx0+<`my`I^yDFFud9JdC}LjLhT=qZZyG8zvYiv_R3XD z@5Y4#?;~@*ro}5wJBv*|#onA5Ncv}Dc=+w`@EW63$Y$zJ)WxJCQAcU@xWlGz)6!n0 z{Q_ZdC$;q_04)(ZvA`Wd4Ef-ey0mZ0X+PpOoF4+gx^2`i_vDiN_^Y}c7Pi3d{HTID@y*SbqMk>{QVsd`+W8XGOk`1A~+ z|LJhev8f@^bX_du@?O_E*|5B?rHDB@71-zL=ijr-Xx2o1liVisz~+vZ_pp_6Uh>e; zf;M;hz4`<(Uk{e*kinWOLv_ofQ@+mKkNB9zZQR7`xT)L#c$KN&+si8W}JwUJGUGc_;5exb#x(;T3&;y7bl# zx?-icII4-*c9lW&OA+oesK&pL0*~i{DDjruHX{bC*?62Cg0YrqVx5y?`RJ19i7Ls2 z9dsNxW1n{yg*Y0|!@DxvKilJ5iJ&}vcp2{T{2lJA>nw+kMOFk+WPE>)ToPB=N-utxx2}C3O%?EyTG5; zHAOnuHlaFr^z-nNX%<+sn>3H<3KvlI)F7+MukYgM4C4?AjCJH=s(%}1s^?T#tq*RY zN4Phui+8`8VL%^`QfZf37Qth&5G~TVo7uI8wsF6e=CA2vk(zTf3-3Tz15W}gh1RQz|uX??FP3#o6znLyi0l-_n~H zw*QNYSKsX<)js_%ia&vL)hPsp2N>@jGhuq(-FXVnN}iLx{tMSboaIc!(w_6HV_kn* z%STIC*89}VM=7SU+%yY6Wr&atA&bznZiQ-s#Wy^1aPN!c2llfV=vDwE#h=GH0PeHk4b{7dlB_hp+)Yk%+61$ zxDj|_@H)=1pWl5`tx*iL(SDQgh$qS1wJ7Gn{A9ht2z-$7`DzlBtyV-kY-r+aGKF(h6psB&g)IJ<}C5ObAPYSN0& zmOk+n5;oz8Vr{MmJy;mfSl=u*yFeO*Ku5Sm)NoL&A}5CC+aP!@r2G}CKrT@q@`ze> z0>!d`v|S|G$t4b2MQaZSLd;n*?>!c0;MWwztFi1p>AMFRGlk$T$&ai6oIx?9UdEy>dV0p53$~ipknL*S1|Rx3>I= zb7_80LEOgvE6;^sCG|E`|Jq!CJa}t$8+^?mes}f8P*v(g2HFiq_!gAU(BwCnuTmo*!P^F$}%&*#FG~sKQi@t!OUwHG%!7ALiAm->rII#yM@l6@Fr!R zFbQt0`Pk}z*{vJbGCvR)vdYDhnJ3jl%$U?OytaO=s;jjgOJ!%@l_n~U0N~jd7Se|{ z$Ov}C7jgA8wKZn3TY?_{nk~kB8J=G%=&~>U@f!r0g#HsTK!8CdX=gzS6;lMFpD?R( zl>!)NlfRN63=X)lqI6CCjr9xGY+VGuenP2UAbY&XSJHCh8eR@r zXrE`{G2aQJbu`bl-uF+oIP zqZa&~F zo+OK9t+iZCihxLG@+1|pie-?ralGL->7q%SB&gz@9SSN*eTiF!F)ov9c3 zVnNa>M*fn(%M%74{2jddtaCK5{$=bU_bJC6-LTmnCE;@fisp47PY7S GQvU)XDCOE{F@PY5dIJJVQArRK5Fw!`osXgqR0Qm(!C*lt zQbdtX=n_OiyF>&bkOm?pi4YP#!i(>%_0~H-_N+7K%#R! z48JP;?MCD+vJ6ic8TNG3+{#az_U&g(?xmgFO@)MK+^II-@4A0r|8Z^7_+^C97(QdiU0_!J1l6#82 z`gESnb!dK!h3Mw)!lSiR(b1S{(uE9`s{6{o@!R}O_rtys0{Xrp&>Pwe2KhQFYTuy&+6pBrcdl0u}Jf0{)a;+CWKLWwW$0vTQYy-EUM(d$X%gZ1JSUFtYymAPluF{=_{Cj2f zxu|YHX{-^N4aFz6opU-EXOEbhS4yo41t6xH&nd(6uM3(r%$A2uqetL2%oie~)X^p` zty}pJIyr(C3Q3)$~&wOfE3{RnP%Lo zG1e%=unyWA9g+A&djwi>&BYr=;`ND)*1LB;XK)aZj?dgE!1ZS1zX*MhK5IZ!%kjl=Y5T+yTHDsnX&6&TdKbmojoRLgt-vd-c5T zOI|CBhX-{nBh9Dch*okuo?|awI<;261mFnT`^YiVv(Qz%0w&rE0 zs|E!v7FUSub%M%D#cukLu_^9s9V0$uR?IM~ESBn9)UQg(hlWoH^d8ntysJFiwt3!r zad>bD=W7_%Vq*3BM)YLD=NFhbDsWCyvk-Shg+~?T#&EsMXdZaOtbb@#Y0LUXtF{gW zQ(JSoUM+r@-BFs^+YR=-qY26wn`%%#-XnJCMLA_*F<1q?7xOxC$xo#%O-DvuiA^XF z>F6qcq%BROwY`BaO6%gyk8I{!t?H&q(g!&=tp!3mffG)U-IWSo3K<3R7#}k8E@lf! zY6dd{Ylu_(2uSdXq9V*wJ%c|XH;fcn6sQ^0QZc2g@JqZmF%sI)ezTx+oU$N_Y@HQKGMi9#}_qPY9ql#bXhs9yyQ3D%NMp#Zp#=kV|3-t|Y;exu`yj-}?@-Z$E3 za%a!ip7H2p?kgY09@l_4?*hiIB*zXnn91N)Up8*a?rmnaTu_be#Vr2Zh44a=2(>4B z=&f4%wSe8?SX8_7MrjFWHR7tz8Nb$9-FSpASHX0U37{Z=(gRk&E7=P1$H!BlQI-ww z#|dvET9r%z$5aZ{Xx+IB%}=1AB_4En*s%tC#MqO1GgC8ZzGlg~iz|h8Vx|InSCU(- zLd0b}H$CKEVj(_51%8P`_}H|obV5&`w!}3XYIoPHe{gDtQQKD?Rrl;*`n{Jnks-^_ zY(lCu0H9v<+}q&1<+8X~*w{p;&&~u#G$_D=MyY@QQrbK@4QHQqFd^0@{5a$h_7clF z1p~P;NpDg9vzIiq6j;_SW_*Y)KL;9S2WL#fz3RL^udFKrpER_%SZ1kbM-4)rhq{cd z>r;5JX;F_~4)wBbyN~c;2Z?^FriU*q1XYv)5Jn-qwX5aNqaD(oI{7J9v)iPDO_*Ub z`Bhs4r$i%9MLA$ev?i6@!6F26{PC@hMuz=m+`Bz2!>^?(+#J<5!~6?){#Ew$ zVqEo^q%2{H?+(?tA%U$9u5~9a_y<@rD=?d6e#eX1#J^nqao;p(Y1FYwO{{|zju*J28C(~+PEHCL-W-$vxICN2oktXssC24+pnz5|_{*B8&TN$T*sm$G+m zqBe$K%_iAhx zSSUpzj^D0X*Mwx?ZKebFevwnt$l4(a~(R~W1a^wSxkFDC*O$ti}m z%03r`H_LHnG})(Y#O~o(7&aV?jXf3dIx{<|1d>wo+t;yHo^t{vaDcj6CVeR88}Yn zuL(c$YkoM5*evwRvV-xGGu3(Vh@No;wFhO*qO%hz{DbDeo^vjZa4zA7Vi%nOmJn@4 rND^g>u>lTsm-4U#g~XkHSh5Dy!@wly%SKt!))V4%6l-641fTM6em9ud diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 9c54cb327150887c8d80330da336a450379fc65b..56893b00df1cbeaa2027d88a52c4073f90eba9da 100644 GIT binary patch delta 8160 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 A&;S4c delta 7561 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 D7)aA9 diff --git a/icons/obj/vehicles.dmi b/icons/obj/vehicles.dmi index 84a5144a4c77f4150fa6da826b31f1650e5a2998..b96294aa9ca2abfc190b128f1f336f589570abc0 100644 GIT binary patch literal 35493 zcmb5VcUTj_-!Hl}X#z^G0s_(n6;x^hNJqLf>7am!SU@@fq)8WPf)IL$({V(_ndR@InQ&Sd;f@Tc9-nV?96vQZQttas?$)hQ$Y|!qp5Mv5Q2!{ zgb&39u%|Df;1l>F;cIN>aqrP9hnFtTJzU(ML6G;y6)fGG&+j4|8qV ztejBGm#@`suAMZ87GG7Syj2@6mMiG`DP!bTzZ3=%VEmZb{6rE?nRqMKbWDlzrGW2P zy&r{DX-rLLn7OjVWEknA&V<*8jv3&CCtkCobxP>kgH6T zcv$xBr{;GCAOGWut3EGzRp;X6ZLP?pm^MV?z8}!s+1?|cJ)72X{3yL0Of!A5^tr-q z_T9BwdF!1MI;>!nL3P2vTixaBz1^$#u5-*|0&xSmPljb}s;JeOoc#?r9u)_QW_JFm z3O@|&MnU3*yz@Uh-yA{^52Sfd$=LhjRtv)H!9?;MoXqCEVP{wR5($c))ri+1rGGA@ z?{Vk7u)dUJo+ugxT)w!d=zDCR*UT3;<=ukDug>vK>(~k2lTv6*XMtmSrsla_?YhyN zxw-k3k+iG&p!E<>hYe+5j@XxL61Z>ayQE(QR<{6QNdGLvb(!}rvWnCv8!54 zsVP1inv}#CzcVBUE|jWl7s7lF?&(^Lu(0s@)|TUOrzSEqAyiCIP<`*?`tU6g7D}FE zJ^=x;)zwu)UEMgF)hdf}!+-zu1-p#TU`W&Wy(^Z3b9Nm;-Sz{H*^g7o3SZJ<|$1q8xm0yba+6gS)J0*z#G=b(>KAF>O% zMTiUN;ET`ykl9ds*pxCrwwY}<3A_6~mqy1UOw3Q>z{LwT1ko2V@eCPw2AU|Jc*t1;D>ncfav^ zz2DKL7gpOlGdp{+W-8|J?*yGF$^GNekt^kmyQ_P~%&qdH80?FvzgXlX78%L}DnjVGN{Y))n=8p+_ zI5_GfB_&mLiR`7J*X!55AFF*bdJFRNy=xgqI|d>wihnA5X6ve>RNO!pF}wjy(jh|U zansqeQ^FQ#<@D!ao|}w>YkvI5*+s>LtQ0IN6Fi-(ni=p29u%CXk$}&I7Ukq94P8Fb zh36r%2Q5~OyVHC`sObVl)LVJVJJw1}-wER7`Q#KfUdrWq6i`ZpoP2D)q;t)4owbc}pMIlepbwoZA`B!5|FV9Td_YIAN9av_Pz< zCMRni=xCp8OvQ1@fjON`(XlG$s-i;j@B@jX-5*ox7MacsHp-ix?Cu?v53aSw9nh|} zyjWJNj3$!B3*N@J1e*pT8U{mJcRqHt2y8Ue^K%8vzuP$k_l{`rE6@|Y!CIU=Ut}XU zRilS`eKYLj{ml4TExnHpaT4(YwG^79Q!W@bXdfbYDn&JngzX;23Gxo29}-npy@Q_3 zHoQA`@w`M#SvB=k4b0G&FJIc;&Ir)8`Sth~*w(kUrmdMOTc@z7t?eD1o!xptHfF@- zNtm){9Vr6j`5!0G24C%ol?Ci9NEEuVvSKe*a+P+uc0aixdBTRXZ@l0-FSq{Hn_1@b zao7XOl&8K1jix%Xp*az~duH!rXAK=9`F9HcEF;$~x$jjY48M?sPnJ0mYGfZMo z!To^Jf=`^1J+>MY@+~hDla!9D*|ip;KEXkAT&%46D|%9IY2CSYALUAA71lj*-a~K& zj28d?tkt2u7m6e5s@Hn_F8CCpuoDW3jlTpzv&RUtcL|TkG2+9sFj- zdgIA$NtHmg2`52h`@!G&dj~dMB=66Errr+*3q_^bsh+z_JJ{Q z#Kkq-UFuM4CR-yZM%C{*D~>1!+#@~m(a_@>cxYa`{T{Eyh3Zy`#+UP=Q4iK& zN2>R1pFmiotQPh-{F;+=ob@SFAb$Q33c4r;N9Aenr3RBhLGySo1;UZ^k7G(h!^-Nf z#6Q}|K+s6#&)$JccQ~wA=1na1P`LY0(7q_SY`W`tZ-y{@E}poDxy@-~19DVaQQ@wY zC89*Asa;@b9vB`OTI%g&;IcU;l37`-Q1CO8J)Nm@Or~>CF8~~Wqs

EjL? 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 WU>}^m%)|oVzgI7nWeTMXeEt^+{-kXH literal 31452 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 b!*e*XQlSQQ;bTyX83K`&Qj{!}Fben|N|-S1