From 916f9bf4bb784ffd5e3fc7e7e49e8d4bda514a43 Mon Sep 17 00:00:00 2001 From: DZD Date: Thu, 9 Jul 2015 15:55:36 -0400 Subject: [PATCH] Sort of compiles Time to fix xenoarch, and then the map. --- code/__HELPERS/unsorted.dm | 2 +- code/controllers/master_controller.dm | 8 ++-- code/controllers/verbs.dm | 20 -------- code/datums/wires/explosive.dm | 12 +++++ code/game/asteroid.dm | 4 +- .../game/machinery/computer/buildandrepair.dm | 2 +- code/game/machinery/constructable_frame.dm | 23 +++++++++- code/game/mecha/equipment/tools/tools.dm | 8 ++-- code/game/mecha/equipment/weapons/weapons.dm | 19 +++++++- code/game/mecha/mech_fabricator.dm | 4 +- code/game/objects/items.dm | 2 +- .../objects/items/stacks/sheets/mineral.dm | 35 ++------------ code/game/objects/objs.dm | 5 +- .../crates_lockers/closets/syndicate.dm | 2 +- code/game/objects/structures/false_walls.dm | 2 +- code/game/objects/structures/girders.dm | 4 +- code/game/turfs/simulated/walls.dm | 4 +- code/game/turfs/simulated/walls_reinforced.dm | 6 +-- .../game/vehicles/spacepods/pod_fabricator.dm | 4 +- code/modules/admin/admin_verbs.dm | 4 +- code/modules/food/recipes_microwave.dm | 2 +- code/modules/mining/coins.dm | 2 +- code/modules/mining/equipment_locker.dm | 22 +++++---- code/modules/mining/laborcamp/laborstacker.dm | 42 +++++------------ code/modules/mining/machine_unloading.dm | 46 ++++++------------- code/modules/mining/mine_turfs.dm | 12 ----- code/modules/mining/mint.dm | 3 -- code/modules/mining/ore.dm | 1 + .../modules/mob/living/silicon/robot/robot.dm | 4 +- .../mob/living/silicon/robot/robot_modules.dm | 4 +- .../simple_animal/hostile/mining_mobs.dm | 2 +- code/modules/power/port_gen.dm | 10 ---- .../projectiles/guns/energy/special.dm | 38 +++++++++++++++ .../projectiles/guns/projectile/shotgun.dm | 7 ++- .../modules/projectiles/projectile/special.dm | 33 ++++++++++++- code/modules/reagents/Chemistry-Machinery.dm | 8 ++-- .../reagents/reagent_containers/drugs.dm | 4 +- .../reagent_containers/glass_containers.dm | 4 +- .../research/designs/machine_designs.dm | 22 ++++++++- .../research/designs/mining_designs.dm | 14 +++--- code/modules/research/protolathe.dm | 4 +- code/modules/research/rdconsole.dm | 2 +- 42 files changed, 247 insertions(+), 209 deletions(-) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 17a35c9ba7d..603e16fb49c 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1379,7 +1379,7 @@ var/global/list/common_tools = list( return 1000 else return 0 - if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + if(istype(W, /obj/item/weapon/gun/energy/plasmacutter)) return 3800 if(istype(W, /obj/item/weapon/melee/energy)) var/obj/item/weapon/melee/energy/O = W diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 9a9072bb0d4..c7c063d8f5d 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -40,7 +40,7 @@ datum/controller/game_controller var/last_thing_processed var/list/shuttle_list // For debugging and VV - var/datum/ore_distribution/asteroid_ore_map // For debugging and VV. + //var/datum/ore_distribution/asteroid_ore_map // For debugging and VV. var/global/datum/garbage_collector/garbageCollector @@ -84,7 +84,7 @@ datum/controller/game_controller/proc/setup() setupgenetics() setupfactions() setup_economy() - SetupXenoarch() + //SetupXenoarch() for(var/i=0, iNO MULTITOOL_MENU!" diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 2755ddafed5..f62f03b175a 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -129,7 +129,7 @@ /obj/item/stack/sheet/mineral/plasma, /obj/item/stack/sheet/mineral/uranium, /obj/item/stack/sheet/mineral/diamond, - /obj/item/stack/sheet/mineral/clown, + /obj/item/stack/sheet/mineral/bananium, /obj/item/stack/sheet/plasteel, /obj/item/stack/rods ) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 638657621e4..967b96d2c05 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -120,7 +120,7 @@ else user << "You can't reach, close it first!" - if(istype(W, /obj/item/weapon/pickaxe/plasmacutter) || istype(W, /obj/item/weapon/pickaxe/diamonddrill) || istype(W, /obj/item/weapon/melee/energy/blade)) + if(istype(W, /obj/item/weapon/gun/energy/plasmacutter) || istype(W, /obj/item/weapon/pickaxe/drill/diamonddrill) || istype(W, /obj/item/weapon/melee/energy/blade)) dismantle(user) /obj/structure/falsewall/proc/dismantle(mob/user) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 8057ce7e922..1a618ad02b3 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -24,7 +24,7 @@ new/obj/structure/girder( src.loc ) del(src) - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter)) user << "\blue Now slicing apart the girder" if(do_after(user,30)) if(!src) return @@ -218,7 +218,7 @@ user << "\blue You dissasembled the girder!" dismantle() - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter)) user << "\blue Now slicing apart the girder" if(do_after(user,30)) user << "\blue You slice apart the girder!" diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 8771ce02bd4..6d7a9bd1303 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -316,7 +316,7 @@ thermitemelt(user) return - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter)) thermitemelt(user) return @@ -365,7 +365,7 @@ user << "You need more welding fuel to complete this task." return - else if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) ) + else if( istype(W, /obj/item/weapon/gun/energy/plasmacutter) ) user << "You begin slicing through the outer plating." playsound(src, 'sound/items/Welder.ogg', 100, 1) diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index 93a7f289eb4..5bd606fbd90 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -66,7 +66,7 @@ thermitemelt(user) return - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter)) thermitemelt(user) return @@ -157,7 +157,7 @@ user << "You need more welding fuel to complete this task." return - if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) ) + if( istype(W, /obj/item/weapon/gun/energy/plasmacutter) ) user << "You begin slicing through the metal cover." playsound(src, 'sound/items/Welder.ogg', 100, 1) @@ -221,7 +221,7 @@ user << "You need more welding fuel to complete this task." return - if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) ) + if( istype(W, /obj/item/weapon/gun/energy/plasmacutter) ) user << "You begin slicing through the support rods." playsound(src, 'sound/items/Welder.ogg', 100, 1) diff --git a/code/game/vehicles/spacepods/pod_fabricator.dm b/code/game/vehicles/spacepods/pod_fabricator.dm index 8fa79baaa27..b8488bafd06 100644 --- a/code/game/vehicles/spacepods/pod_fabricator.dm +++ b/code/game/vehicles/spacepods/pod_fabricator.dm @@ -489,7 +489,7 @@ if("$uranium") type = /obj/item/stack/sheet/mineral/uranium if("$bananium") - type = /obj/item/stack/sheet/mineral/clown + type = /obj/item/stack/sheet/mineral/bananium else return 0 var/result = 0 @@ -541,7 +541,7 @@ material = "$metal" if(/obj/item/stack/sheet/glass) material = "$glass" - if(/obj/item/stack/sheet/mineral/clown) + if(/obj/item/stack/sheet/mineral/bananium) material = "$bananium" if(/obj/item/stack/sheet/mineral/uranium) material = "$uranium" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index ed7b5377bc7..8e239fe567f 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -136,8 +136,8 @@ var/list/admin_verbs_debug = list( /client/proc/cmd_debug_del_all, /client/proc/reload_admins, /client/proc/restart_controller, - /client/proc/remake_distribution_map, - /client/proc/show_distribution_map, + ///client/proc/remake_distribution_map, + ///client/proc/show_distribution_map, /client/proc/enable_debug_verbs, /client/proc/callproc, /client/proc/callproc_datum, diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm index 27c47f30fde..84bd4fcaa86 100644 --- a/code/modules/food/recipes_microwave.dm +++ b/code/modules/food/recipes_microwave.dm @@ -505,7 +505,7 @@ reagents = list("water" = 10) fruit = list("banana" = 1) items = list( - /obj/item/weapon/ore/clown, + /obj/item/weapon/ore/bananium, ) result = /obj/item/weapon/reagent_containers/food/snacks/clownstears diff --git a/code/modules/mining/coins.dm b/code/modules/mining/coins.dm index 5fe7d37bc09..b427aabdd49 100644 --- a/code/modules/mining/coins.dm +++ b/code/modules/mining/coins.dm @@ -80,7 +80,7 @@ cmineral = "valid" desc = "A novelty coin that helps the heart know what hard evidence cannot prove." sideslist = list("valid", "salad") - value = 20 + credits = 20 /obj/item/weapon/coin/antagtoken/New() return diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index 563cc3b1493..89d2b3f589d 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -61,11 +61,6 @@ var/obj/item/stack/sheet/s = new processed_sheet(src,0) s.amount = 0 stack_list[processed_sheet] = s - if(s.name != "glass" && s.name != "metal") //we can get these from cargo anyway - var/msg = "[capitalize(s.name)] sheets are now available in the Cargo Bay." - for(var/obj/machinery/requests_console/D in allConsoles) - if(D.department == "Science" || D.department == "Robotics" || D.department == "Research Director's Desk" || (D.department == "Chemistry" && s.name == "uranium")) - D.createmessage("Ore Redemption Machine", "New minerals available!", msg, 1, 0) var/obj/item/stack/sheet/storage = stack_list[processed_sheet] storage.amount += sheet_per_ore //Stack the sheets O.loc = null //Let the old sheet... @@ -106,7 +101,7 @@ if(exchange_parts(user, W)) return - if(default_pry_open(W)) + if(default_deconstruction_crowbar(W)) return if(default_unfasten_wrench(user, W)) @@ -283,7 +278,7 @@ new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 1000), new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 1200), new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack/carbondioxide/mining, 1500), - new /datum/data/mining_equipment("Space Cash", /obj/item/stack/spacecash/c1000, 2000), + new /datum/data/mining_equipment("Space Cash", /obj/item/weapon/spacecash/c1000, 2000), new /datum/data/mining_equipment("Point Transfer Card", /obj/item/weapon/card/mining_point_card, 500), ) @@ -378,7 +373,7 @@ /obj/machinery/mineral/equipment_vendor/proc/RedeemVoucher(obj/item/weapon/mining_voucher/voucher, mob/redeemer) var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") as null|anything in list("Kinetic Accelerator", "Resonator", "Mining Drone", "Advanced Scanner") - if(!selection || !Adjacent(redeemer) || voucher.gc_destroyed || voucher.loc != redeemer) + if(!selection || !Adjacent(redeemer) || voucher.loc != redeemer) return switch(selection) if("Kinetic Accelerator") @@ -598,7 +593,14 @@ mouse_opacity = 1 faction = list("neutral") a_intent = "harm" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + 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 @@ -644,7 +646,7 @@ /mob/living/simple_animal/hostile/mining_drone/death() ..() visible_message("[src] is destroyed!") - new /obj/effect/decal/cleanable/robot_debris(src.loc) + new /obj/effect/decal/cleanable/blood/gibs/robot(src.loc) DropOre() qdel(src) return diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index e4abfbdbcbc..8d48de60d57 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -29,7 +29,7 @@ if(t == src.door_tag) src.release_door = d if (machine && (release_door || !use_release_door)) - machine.console = src + machine.CONSOLE = src else qdel(src) @@ -65,7 +65,7 @@ if(istype(I, /obj/item/weapon/card/id)) return attack_hand(user) ..() - + /obj/machinery/mineral/labor_claim_console/emag_act(user as mob) emag(user) @@ -109,9 +109,9 @@ usr << "Shuttle received message and will be sent shortly." shuttle.launch() else - usr << "\blue Shuttle is already moving." + usr << "Shuttle is already moving." else - usr << "\blue Shuttle is already on-station." + usr << "Shuttle is already on-station." if(href_list["choice"] == "release") if(alone_in_area(get_area(loc), usr)) @@ -132,7 +132,7 @@ /obj/machinery/mineral/stacking_machine/laborstacker var/points = 0 //The unclaimed value of ore stacked. Value for each ore loosely relative to its rarity. - var/list/ore_values = list(("glass" = 1), ("metal" = 2), ("iron" = 3), ("solid plasma" = 20), ("plasteel" = 23), ("reinforced glass" = 4), ("gold" = 20), ("silver" = 20), ("uranium" = 20), ("diamond" = 25), ("bananium" = 50)) + var/list/ore_values = list(("glass" = 1), ("metal" = 2), ("solid plasma" = 20), ("plasteel" = 23), ("reinforced glass" = 4), ("gold" = 20), ("silver" = 20), ("uranium" = 20), ("diamond" = 25), ("bananium" = 50)) /obj/machinery/mineral/stacking_machine/laborstacker/proc/get_ore_values() var/dat = "" @@ -142,31 +142,13 @@ dat += "
" return dat -/obj/machinery/mineral/stacking_machine/laborstacker/process() - if (src.output && src.input) - var/turf/T = get_turf(input) - for(var/obj/item/O in T.contents) - if(!O) return - if(istype(O,/obj/item/stack)) - var/obj/item/stack/S = O - if(S.name in ore_values) - points += ore_values[S.name] * S.amount - S.loc = null - else - S.loc = output.loc - else - O.loc = output.loc - - //Output amounts that are past stack_amt. - for(var/sheet in stack_storage) - if(stack_storage[sheet] >= stack_amt) - var/stacktype = stack_paths[sheet] - var/obj/item/stack/sheet/S = new stacktype (get_turf(output)) - S.amount = stack_amt - stack_storage[sheet] -= stack_amt - - console.updateUsrDialog() - return +/obj/machinery/mineral/stacking_machine/laborstacker/process_sheet(obj/item/stack/sheet/inp) + if(istype(inp)) + var/n = inp.name + var/a = inp.amount + if(n in ore_values) + points += ore_values[n] * a + ..() /**********************Point Lookup Console**************************/ diff --git a/code/modules/mining/machine_unloading.dm b/code/modules/mining/machine_unloading.dm index bdba6e0d57e..5ae7f376cb0 100644 --- a/code/modules/mining/machine_unloading.dm +++ b/code/modules/mining/machine_unloading.dm @@ -10,37 +10,19 @@ input_dir = WEST output_dir = EAST - -/obj/machinery/mineral/unloading_machine/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 - return - return - /obj/machinery/mineral/unloading_machine/process() - if (src.output && src.input) - if (locate(/obj/structure/ore_box, input.loc)) - var/obj/structure/ore_box/BOX = locate(/obj/structure/ore_box, input.loc) - var/i = 0 - for (var/obj/item/weapon/ore/O in BOX.contents) - BOX.contents -= O - O.loc = output.loc - i++ - if (i>=10) + var/turf/T = get_step(src,input_dir) + if(T) + var/limit + for(var/obj/structure/ore_box/B in T) + for (var/obj/item/weapon/ore/O in B) + B.contents -= O + unload_mineral(O) + limit++ + if (limit>=10) return - if (locate(/obj/item, input.loc)) - var/obj/item/O - var/i - for (i = 0; i<10; i++) - O = locate(/obj/item, input.loc) - if (O) - O.loc = src.output.loc - else - return - return \ No newline at end of file + for(var/obj/item/I in T) + unload_mineral(I) + limit++ + if (limit>=10) + return \ No newline at end of file diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index fcc5dc7c89b..bf758e788aa 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -393,7 +393,6 @@ var/global/list/rockTurfEdgeCache /turf/simulated/floor/plating/asteroid //floor piece name = "Asteroid" - baseturf = /turf/simulated/floor/plating/asteroid icon = 'icons/turf/floors.dmi' icon_state = "asteroid" icon_plating = "asteroid" @@ -471,17 +470,6 @@ var/global/list/rockTurfEdgeCache O.attackby(W,user) return - if(istype(W, /obj/item/stack/tile)) - var/obj/item/stack/tile/Z = W - if(!Z.use(1)) - return - var/turf/simulated/floor/T = ChangeTurf(Z.turf_type) - if(istype(Z,/obj/item/stack/tile/light)) //TODO: get rid of this ugly check somehow - var/obj/item/stack/tile/light/L = Z - var/turf/simulated/floor/light/F = T - F.state = L.state - playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) - /turf/simulated/floor/plating/asteroid/proc/gets_dug() if(dug) return diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 7bae60de3a9..b3eb6cbe7f5 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -46,9 +46,6 @@ if (istype(O, /obj/item/stack/sheet/mineral/bananium)) amt_clown += 100 * O.amount O.loc = null - if (istype(O, /obj/item/stack/sheet/mineral/adamantine)) - amt_adamantine += 100 * O.amount - O.loc = null //Commented out for now. -Durandan return diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index 3f85f1712da..8deb5867259 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -4,6 +4,7 @@ icon_state = "ore" var/points = 0 //How many points this ore gets you from the ore redemption machine var/refined_type = null //What this ore defaults to being refined into + var/datum/geosample/geologic_data /obj/item/weapon/ore/attackby(obj/item/I as obj, mob/user as mob, params) if(istype(I, /obj/item/weapon/weldingtool)) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index b826e2e0a34..b9b3b8f8eae 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -864,9 +864,9 @@ var/list/robot_verbs_default = list( laws.show_laws(src) src << "\red \b ALERT: [M.real_name] is your new master. Obey your new laws and his commands." if(src.module && istype(src.module, /obj/item/weapon/robot_module/miner)) - for(var/obj/item/weapon/pickaxe/borgdrill/D in src.module.modules) + for(var/obj/item/weapon/pickaxe/drill/cyborg/D in src.module.modules) del(D) - src.module.modules += new /obj/item/weapon/pickaxe/diamonddrill(src.module) + src.module.modules += new /obj/item/weapon/pickaxe/drill/cyborg/diamond(src.module) src.module.rebuild() if(src.module && istype(src.module, /obj/item/weapon/robot_module/medical)) for(var/obj/item/weapon/borg_defib/F in src.module.modules) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 286a35612ea..548747f1604 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -358,7 +358,7 @@ src.modules += new /obj/item/device/flash/cyborg(src) src.modules += new /obj/item/borg/sight/thermal(src) src.modules += new /obj/item/weapon/gun/energy/laser/cyborg(src) - src.modules += new /obj/item/weapon/pickaxe/plasmacutter(src) + src.modules += new /obj/item/weapon/gun/energy/plasmacutter(src) src.modules += new /obj/item/borg/combat/shield(src) src.modules += new /obj/item/borg/combat/mobility(src) src.modules += new /obj/item/weapon/wrench(src) //Is a combat android really going to be stopped by a chair? @@ -413,7 +413,7 @@ src.modules += new /obj/item/weapon/reagent_containers/spray/cleaner/drone(src) src.modules += new /obj/item/weapon/soap(src) - src.emag = new /obj/item/weapon/pickaxe/plasmacutter(src) + src.emag = new /obj/item/weapon/gun/energy/plasmacutter(src) src.emag.name = "Plasma Cutter" for(var/T in stacktypes) 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 8fa326b2e64..456c4ee1d75 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -416,7 +416,7 @@ var/turftype = get_turf(src) if(istype(turftype, /turf/simulated/mineral)) var/turf/simulated/mineral/M = turftype - M.GetDrilled() + M.gets_drilled() spawn(20) Trip() diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 5431c137b4c..9d46705ab9a 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -315,13 +315,3 @@ display round(lastgen) and plasmatank amount board_path = "/obj/item/weapon/circuitboard/pacman/super" overheat() explosion(src.loc, 3, 3, 3, -1) - -/obj/machinery/power/port_gen/pacman/mrs - name = "M.R.S.P.A.C.M.A.N.-type Portable Generator" - icon_state = "portgen2" - sheet_path = /obj/item/stack/sheet/mineral/tritium - power_gen = 40000 - time_per_sheet = 80 - board_path = "/obj/item/weapon/circuitboard/pacman/mrs" - overheat() - explosion(src.loc, 4, 4, 4, -1) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 9f49dcf7fb6..5527d486de2 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -289,6 +289,44 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. origin_tech = null m_amt = 0 +/obj/item/weapon/gun/energy/plasmacutter + name = "plasma cutter" + desc = "A mining tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off of xenos! Or, you know, mine stuff." + icon_state = "plasmacutter" + item_state = "plasmacutter" + origin_tech = "combat=1;materials=3;magnets=2;plasmatech=2;engineering=1" + projectile_type = /obj/item/projectile/plasma + flags = CONDUCT | OPENCONTAINER + attack_verb = list("attacked", "slashed", "cut", "sliced") + charge_cost = 250 + fire_delay = 10 + +/obj/item/weapon/gun/energy/plasmacutter/examine(mob/user) + ..() + if(power_supply) + user <<"[src] is [round(power_supply.percent())]% charged." + +/obj/item/weapon/gun/energy/plasmacutter/attackby(var/obj/item/A, var/mob/user) + if(istype(A, /obj/item/stack/sheet/mineral/plasma)) + var/obj/item/stack/sheet/S = A + S.use(1) + power_supply.give(10000) + user << "You insert [A] in [src], recharging it." + else if(istype(A, /obj/item/weapon/ore/plasma)) + qdel(A) + power_supply.give(5000) + user << "You insert [A] in [src], recharging it." + else + ..() + +/obj/item/weapon/gun/energy/plasmacutter/adv + name = "advanced plasma cutter" + icon_state = "adv_plasmacutter" + origin_tech = "combat=3;materials=4;magnets=3;plasmatech=3;engineering=2" + projectile_type = /obj/item/projectile/plasma/adv + fire_delay = 8 + charge_cost = 100 + /obj/item/weapon/gun/energy/disabler name = "disabler" desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 96f20d316a3..9713918b549 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -95,7 +95,7 @@ /obj/item/weapon/gun/projectile/shotgun/riot/attackby(var/obj/item/A as obj, mob/user as mob, params) ..() - if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter)) + if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/gun/energy/plasmacutter)) sawoff(user) @@ -154,7 +154,7 @@ ..() if(istype(A, /obj/item/ammo_box) || istype(A, /obj/item/ammo_casing)) chamber_round() - if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter)) + if(istype(A, /obj/item/weapon/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/gun/energy/plasmacutter)) sawoff(user) /obj/item/weapon/gun/projectile/revolver/doublebarrel/attack_self(mob/living/user as mob) @@ -197,7 +197,7 @@ else user << "You need at least ten lengths of cable if you want to make a sling." return - + // Sawing guns related procs // /obj/item/weapon/gun/projectile/proc/blow_up(mob/user as mob) @@ -238,4 +238,3 @@ return else sawn_state = SAWN_INTACT - \ No newline at end of file diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index c4813e05bb1..e318573a89c 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -198,7 +198,7 @@ obj/item/projectile/kinetic/New() var/turf/target_turf= get_turf(target) if(istype(target_turf, /turf/simulated/mineral)) var/turf/simulated/mineral/M = target_turf - M.GetDrilled() + M.gets_drilled() new /obj/item/effect/kinetic_blast(target_turf) ..() @@ -239,3 +239,34 @@ obj/item/projectile/kinetic/New() else do_teleport(target, target, 15) //Otherwise it just warps you off somewhere. +/obj/item/projectile/plasma + name = "plasma blast" + icon_state = "plasmacutter" + damage_type = BRUTE + damage = 5 + range = 1 + +/obj/item/projectile/plasma/New() + var/turf/proj_turf = get_turf(src) + if(!istype(proj_turf, /turf)) + return + var/datum/gas_mixture/environment = proj_turf.return_air() + var/pressure = environment.return_pressure() + if(pressure < 30) + name = "full strength plasma blast" + damage *= 3 + range += 3 + ..() + +/obj/item/projectile/plasma/on_hit(var/atom/target) + if(istype(target, /turf/simulated/mineral)) + var/turf/simulated/mineral/M = target + M.gets_drilled(firer) + return ..() + +/obj/item/projectile/plasma/adv + range = 2 + +/obj/item/projectile/plasma/adv/mech + damage = 10 + range = 3 diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 634519a7b83..c5111508f3d 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -730,13 +730,13 @@ //Sheets /obj/item/stack/sheet/mineral/plasma = list("plasma" = 20), /obj/item/stack/sheet/mineral/uranium = list("uranium" = 20), - /obj/item/stack/sheet/mineral/clown = list("banana" = 20), + /obj/item/stack/sheet/mineral/bananium = list("banana" = 20), /obj/item/stack/sheet/mineral/silver = list("silver" = 20), /obj/item/stack/sheet/mineral/gold = list("gold" = 20), /obj/item/weapon/grown/novaflower = list("capsaicin" = 0), //archaeology! - /obj/item/weapon/rocksliver = list("ground_rock" = 50), + ///obj/item/weapon/rocksliver = list("ground_rock" = 50), //All types that you can put into the grinder to transfer the reagents to the beaker. !Put all recipes above this.! @@ -1102,7 +1102,7 @@ remove_object(O) //xenoarch - for(var/obj/item/weapon/rocksliver/O in holdingitems) + /*for(var/obj/item/weapon/rocksliver/O in holdingitems) if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) break var/allowed = get_allowed_by_id(O) @@ -1113,7 +1113,7 @@ if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) break - remove_object(O) + remove_object(O)*/ //Everything else - Transfers reagents from it into beaker for (var/obj/item/weapon/reagent_containers/O in holdingitems) diff --git a/code/modules/reagents/reagent_containers/drugs.dm b/code/modules/reagents/reagent_containers/drugs.dm index 9d009217036..d6804f54778 100644 --- a/code/modules/reagents/reagent_containers/drugs.dm +++ b/code/modules/reagents/reagent_containers/drugs.dm @@ -75,11 +75,11 @@ //Safety for dumping stuff into a ninja suit. It handles everything through attackby() and this is unnecessary. - else if(istype(target, /obj/machinery/bunsen_burner)) + /*else if(istype(target, /obj/machinery/bunsen_burner)) return else if(istype(target, /obj/machinery/radiocarbon_spectrometer)) - return + return*/ attackby(obj/item/weapon/W as obj, mob/user as mob, params) diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index 87388cb3fe3..1c532dee0ca 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -135,11 +135,11 @@ var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) user << "\blue You transfer [trans] units of the solution to [target]." - else if(istype(target, /obj/machinery/bunsen_burner)) + /*else if(istype(target, /obj/machinery/bunsen_burner)) return else if(istype(target, /obj/machinery/radiocarbon_spectrometer)) - return + return*/ else if(istype(target, /obj/effect/decal/cleanable)) //stops splashing while scooping up fluids return diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 3b636cb9cad..2b66a92968f 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -330,4 +330,24 @@ build_type = IMPRINTER materials = list("$glass" = 2000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/pod - category = list("Misc. Machinery") \ No newline at end of file + category = list("Misc. Machinery") + +/datum/design/ore_redemption + name = "Machine Design (Ore Redemption Board)" + desc = "The circuit board for an Ore Redemption machine." + id = "ore_redemption" + req_tech = list("programming" = 1, "engineering" = 2) + build_type = IMPRINTER + materials = list(MAT_GLASS = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/ore_redemption + category = list ("Misc. Machinery") + +/datum/design/mining_equipment_vendor + name = "Machine Design (Mining Rewards Vender Board)" + desc = "The circuit board for a Mining Rewards Vender." + id = "mining_equipment_vendor" + req_tech = list("programming" = 1, "engineering" = 2) + build_type = IMPRINTER + materials = list(MAT_GLASS = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/mining_equipment_vendor + category = list ("Misc. Machinery") \ No newline at end of file diff --git a/code/modules/research/designs/mining_designs.dm b/code/modules/research/designs/mining_designs.dm index 65f49c2b451..bf04c17f6a0 100644 --- a/code/modules/research/designs/mining_designs.dm +++ b/code/modules/research/designs/mining_designs.dm @@ -11,7 +11,7 @@ reliability_base = 79 build_path = /obj/item/weapon/pickaxe/diamonddrill category = list("Mining") - + /datum/design/pick_diamond name = "Diamond Pickaxe" desc = "A pickaxe with a diamond pick head, this is just like minecraft." @@ -30,19 +30,19 @@ build_type = PROTOLATHE materials = list("$metal" = 6000, "$glass" = 1000) build_path = /obj/item/weapon/pickaxe/drill - category = list("Mining") - + category = list("Mining") + /datum/design/plasmacutter name = "Plasma Cutter" desc = "You could use it to cut limbs off of xenos! Or, you know, mine stuff." id = "plasmacutter" - req_tech = list("materials" = 4, "plasmatech" = 3, "engineering" = 3) + req_tech = list("materials" = 2, "plasmatech" = 2, "engineering" = 2, "combat" = 1, "magnets" = 2) build_type = PROTOLATHE materials = list("$metal" = 1500, "$glass" = 500, "$gold" = 500, "$plasma" = 500) reliability_base = 79 - build_path = /obj/item/weapon/pickaxe/plasmacutter + build_path = /obj/item/weapon/gun/energy/plasmacutter category = list("Mining") - + /datum/design/jackhammer name = "Sonic Jackhammer" desc = "Cracks rocks with sonic blasts, perfect for killing cave lizards." @@ -50,5 +50,5 @@ req_tech = list("materials" = 3, "powerstorage" = 2, "engineering" = 2) build_type = PROTOLATHE materials = list("$metal" = 2000, "$glass" = 500, "$silver" = 500) - build_path = /obj/item/weapon/pickaxe/jackhammer + build_path = /obj/item/weapon/pickaxe/drill/jackhammer category = list("Mining") \ No newline at end of file diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index beeacb6286d..83fc3441ef4 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -136,7 +136,7 @@ Note: Must be placed west/left of and R&D console to function. var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(src.loc) G.amount = round(diamond_amount / G.perunit) if(clown_amount >= MINERAL_MATERIAL_AMOUNT) - var/obj/item/stack/sheet/mineral/clown/G = new /obj/item/stack/sheet/mineral/clown(src.loc) + var/obj/item/stack/sheet/mineral/bananium/G = new /obj/item/stack/sheet/mineral/bananium(src.loc) G.amount = round(clown_amount / G.perunit) default_deconstruction_crowbar(O) return 1 @@ -192,7 +192,7 @@ Note: Must be placed west/left of and R&D console to function. uranium_amount += amount * MINERAL_MATERIAL_AMOUNT else if(istype(stack, /obj/item/stack/sheet/mineral/diamond)) diamond_amount += amount * MINERAL_MATERIAL_AMOUNT - else if(istype(stack, /obj/item/stack/sheet/mineral/clown)) + else if(istype(stack, /obj/item/stack/sheet/mineral/bananium)) clown_amount += amount * MINERAL_MATERIAL_AMOUNT stack.use(amount) busy = 0 diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 964af1cea1f..a7342609b79 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -539,7 +539,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, type = /obj/item/stack/sheet/mineral/diamond res_amount = "diamond_amount" if("clown") - type = /obj/item/stack/sheet/mineral/clown + type = /obj/item/stack/sheet/mineral/bananium res_amount = "clown_amount" if(ispath(type) && hasvar(linked_lathe, res_amount)) var/obj/item/stack/sheet/sheet = new type(linked_lathe.loc)