From 834b9f98d1ebef00e1dd316f6a4a2cc6dfc3e812 Mon Sep 17 00:00:00 2001 From: "sieve32@gmail.com" Date: Tue, 19 Jun 2012 02:46:29 +0000 Subject: [PATCH] TIME FOR CONTENT -New item, the Sheet Snatcher. Picks up mineral sheets (Excluding wood and sandstone, since they aren't 'sheets' per se). Standard one holds up to 300 sheets, minerborgs get 500. Will hold any combination of sheets, and auto-stacks them when emptied, works similarly to the ore satchels -Mech drills can mine sand, with diamond drills getting an extended volume -Mech Diamond Drills will drill through rwalls again, but it is pretty slow, sometimes taking 5-6 tries just to get the plating off -Mining Ripleys no longer runtime to hell when the status panel is opened -Fixes Issue 572, now when floors are created, they assimilate air from nearby tiles, so if it's in space, there will be no air, etc... -Bumping an asteroid wall as a human or borg with a pickaxe in your hand will make you automattically start mining the wall, feels MUCH faster due to ignoring click_delay() -Miner borgs with the satchel in their active modules will automatically scoop up the ores -Clicking an asteroid turf with the satchel will function just as if you clicked on an ore (if any are present) git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3867 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj.dm | 9 + code/game/mecha/equipment/tools/tools.dm | 45 +++++ code/game/mecha/working/ripley.dm | 5 +- code/game/turf.dm | 46 +++++ code/modules/mining/mine_items.dm | 2 +- code/modules/mining/mine_turfs.dm | 57 +++++- code/modules/mining/satchel_ore_boxdm.dm | 163 +++++++++++++++++- .../mob/living/silicon/robot/robot_modules.dm | 2 +- html/changelog.html | 15 ++ icons/obj/mining.dmi | Bin 39960 -> 40454 bytes 10 files changed, 332 insertions(+), 12 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 3e2786156f2..703d86464cd 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -1209,6 +1209,15 @@ throw_range = 3 var/perunit = 3750 +/obj/item/stack/sheet/attackby(obj/item/weapon/W as obj, mob/user as mob) + if (istype(W, /obj/item/weapon/sheetsnatcher)) + var/obj/item/weapon/sheetsnatcher/S = W + if(!S.mode) + S.add(src,user) + else + for (var/obj/item/stack/sheet/stack in locate(src.x,src.y,src.z)) + S.add(stack,user) + /obj/item/stack/sheet/wood name = "wooden planks" desc = "One can only guess that this is a bunch of wood." diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index 093528955df..a6760ae6083 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -114,6 +114,51 @@ equip_cooldown = 20 force = 15 + action(atom/target) + if(!action_checks(target)) return + set_ready_state(0) + chassis.use_power(energy_drain) + chassis.visible_message("[chassis] starts to drill [target]", "You hear the drill.") + occupant_message("You start to drill [target]") + var/T = chassis.loc + var/C = target.loc //why are these backwards? we may never know -Pete + if(do_after_cooldown(target)) + if(T == chassis.loc && src == chassis.selected) + if(istype(target, /turf/simulated/wall/r_wall)) + if(do_after_cooldown(target))//To slow down how fast mechs can drill through the station + log_message("Drilled through [target]") + target.ex_act(3) + else if(istype(target, /turf/simulated/mineral)) + for(var/turf/simulated/mineral/M in range(chassis,1)) + if(get_dir(chassis,M)&chassis.dir) + M.gets_drilled() + log_message("Drilled through [target]") + if(locate(/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp) in chassis.equipment) + var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo + if(ore_box) + for(var/obj/item/weapon/ore/ore in range(chassis,1)) + if(get_dir(chassis,ore)&chassis.dir) + ore.Move(ore_box) + else if(istype(target,/turf/simulated/floor/plating/airless/asteroid)) + for(var/turf/simulated/floor/plating/airless/asteroid/M in range(target,1)) + M.gets_dug() + log_message("Drilled through [target]") + if(locate(/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp) in chassis.equipment) + var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo + if(ore_box) + for(var/obj/item/weapon/ore/ore in range(chassis,1)) + ore.Move(ore_box) + else if(target.loc == C) + log_message("Drilled through [target]") + target.ex_act(2) + return 1 + + can_attach(obj/mecha/M as obj) + if(..()) + if(istype(M, /obj/mecha/working) || istype(M, /obj/mecha/combat)) + return 1 + return 0 + /obj/item/mecha_parts/mecha_equipment/tool/extinguisher name = "Extinguisher" desc = "Exosuit-mounted extinguisher (Can be attached to: Engineering exosuits)" diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index f6f60d7e509..8530ad0993a 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -46,8 +46,7 @@ name = "APLU \"Miner\"" /obj/mecha/working/ripley/mining/New() - //Do not use ..() here, doing so would spawn it with a tracking beacon allowing people to find secret mining asteroid rooms easily. - + ..() //Attach drill if(prob(25)) //Possible diamond drill... Feeling lucky? var/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill/D = new /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill @@ -59,6 +58,8 @@ //Attach hydrolic clamp var/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp/HC = new /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp HC.attach(src) + for(var/obj/item/mecha_parts/mecha_tracking/B in src.contents)//Deletes the beacon so it can't be found easily + del (B) /obj/mecha/working/ripley/Exit(atom/movable/O) if(O in cargo) diff --git a/code/game/turf.dm b/code/game/turf.dm index d8a569dfda0..d15bd2bca31 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -151,9 +151,32 @@ /turf/proc/ReplaceWithFloor(explode=0) var/prior_icon = icon_old var/old_dir = dir + var/aoxy = 0//Holders to assimilate air from nearby turfs + var/anitro = 0 + var/aco = 0 + var/atox = 0 + var/atemp = 0 var/turf/simulated/floor/W = new /turf/simulated/floor( locate(src.x, src.y, src.z) ) + for(var/direction in cardinal) + var/turf/T = get_step(src,direction) + if(istype(T,/turf/space)) + continue + else if(istype(T,/turf/simulated)) + var/turf/simulated/S = T + if(S.air) + aoxy += S.air.oxygen + anitro += S.air.nitrogen + aco += S.air.carbon_dioxide + atox += S.air.toxins + atemp += S.air.temperature + W.air.oxygen = (aoxy/4) + W.air.nitrogen = (anitro/4) + W.air.carbon_dioxide = (aco/4) + W.air.toxins = (atox/4) + W.air.temperature = (atemp/4) + W.RemoveLattice() W.dir = old_dir if(prior_icon) W.icon_state = prior_icon @@ -169,8 +192,31 @@ /turf/proc/ReplaceWithPlating() var/prior_icon = icon_old var/old_dir = dir + var/aoxy = 0//Holders to assimilate air from nearby turfs + var/anitro = 0 + var/aco = 0 + var/atox = 0 + var/atemp = 0 var/turf/simulated/floor/plating/W = new /turf/simulated/floor/plating( locate(src.x, src.y, src.z) ) + for(var/direction in cardinal) + var/turf/T = get_step(src,direction) + if(istype(T,/turf/space)) + continue + else if(istype(T,/turf/simulated)) + var/turf/simulated/S = T + if(S.air) + aoxy += S.air.oxygen + anitro += S.air.nitrogen + aco += S.air.carbon_dioxide + atox += S.air.toxins + atemp += S.air.temperature + W.air.oxygen = (aoxy/4) + W.air.oxygen = (aoxy/4) + W.air.nitrogen = (anitro/4) + W.air.carbon_dioxide = (aco/4) + W.air.toxins = (atox/4) + W.air.temperature = (atemp/4) W.RemoveLattice() W.dir = old_dir diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 4ad43b8ba06..ad4ea961b57 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -249,7 +249,7 @@ proc/move_mining_shuttle() name = "Diamond Mining Drill" icon_state = "diamonddrill" item_state = "jackhammer" - digspeed = 0 //Digs through walls, girders, and can dig up sand + digspeed = 5 //Digs through walls, girders, and can dig up sand origin_tech = "materials=6;powerstorage=4;engineering=5" desc = "Yours is the drill that will pierce the heavens!" diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 64d01082761..48a52ef2ddd 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -14,6 +14,7 @@ var/mineralAmt = 0 var/spread = 0 //will the seam spread? var/spreadChance = 0 //the percentual chance of an ore spreading to the neighbouring tiles + var/last_act = 0 /turf/simulated/mineral/Del() return @@ -216,7 +217,9 @@ return */ //Watch your tabbing, microwave. --NEO - + if(last_act+W:digspeed > world.time)//prevents message spam + return + last_act = world.time user << "\red You start picking." playsound(user, 'Genhit.ogg', 20, 1) @@ -263,6 +266,28 @@ mineralAmt = 5 return*/ +/turf/simulated/mineral/Bumped(AM as mob|obj) + ..() + if(istype(AM,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = AM + if(istype(H.l_hand,/obj/item/weapon/pickaxe)) + src.attackby(H.l_hand,H) + else if(istype(H.r_hand,/obj/item/weapon/pickaxe)) + src.attackby(H.r_hand,H) + return + else if(istype(AM,/mob/living/silicon/robot)) + var/mob/living/silicon/robot/R = AM + if(istype(R.module_active,/obj/item/weapon/pickaxe)) + src.attackby(R.module_active,R) + return +/* else if(istype(AM,/obj/mecha)) + var/obj/mecha/M = AM + if(istype(M.selected,/obj/item/mecha_parts/mecha_equipment/tool/drill)) + src.attackby(M.selected,M) + return*/ +//Aparantly mechs are just TOO COOL to call Bump(), so fuck em (for now) + else + return /**********************Asteroid**************************/ @@ -320,8 +345,7 @@ if ((user.loc == T && user.equipped() == W)) user << "\blue You dug a hole." gets_dug() - else - ..(W,user) + if ((istype(W,/obj/item/weapon/pickaxe/drill))) var/turf/T = user.loc if (!( istype(T, /turf) )) @@ -338,8 +362,6 @@ if ((user.loc == T && user.equipped() == W)) user << "\blue You dug a hole." gets_dug() - else - ..(W,user) if ((istype(W,/obj/item/weapon/pickaxe/diamonddrill)) || (istype(W,/obj/item/weapon/pickaxe/borgdrill))) var/turf/T = user.loc @@ -357,9 +379,16 @@ if ((user.loc == T && user.equipped() == W)) user << "\blue You dug a hole." gets_dug() + + if(istype(W,/obj/item/weapon/satchel)) + var/obj/item/weapon/satchel/S = W + if(S.mode) + for(var/obj/item/weapon/ore/O in src.contents) + O.attackby(W,user) + return + else ..(W,user) - return /turf/simulated/floor/plating/airless/asteroid/proc/gets_dug() @@ -415,4 +444,18 @@ if(istype(get_step(src, SOUTH), /turf/simulated/floor/plating/airless/asteroid)) A = get_step(src, SOUTH) A.updateMineralOverlays() - src.updateMineralOverlays() \ No newline at end of file + src.updateMineralOverlays() + +/turf/simulated/floor/plating/airless/asteroid/Entered(atom/movable/M as mob|obj) + ..() + if(istype(M,/mob/living/silicon/robot)) + var/mob/living/silicon/robot/R = M + if(istype(R.module, /obj/item/weapon/robot_module/miner)) + if(istype(R.module_state_1,/obj/item/weapon/satchel/borg)) + src.attackby(R.module_state_1,R) + else if(istype(R.module_state_2,/obj/item/weapon/satchel/borg)) + src.attackby(R.module_state_2,R) + else if(istype(R.module_state_3,/obj/item/weapon/satchel/borg)) + src.attackby(R.module_state_3,R) + else + return \ No newline at end of file diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index d116cb00580..caf339f8f98 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -120,4 +120,165 @@ O.loc = src.loc usr << "\blue You empty the box" src.updateUsrDialog() - return \ No newline at end of file + return + +/**********************Sheet Snatcher**************************/ +//Stolen satchel code, making it a box just wouldn't work well for this -Sieve + +/obj/item/weapon/sheetsnatcher + icon = 'mining.dmi' + icon_state = "sheetsnatcher" + name = "Sheet Snatcher" + desc = "A patented Nanotrasen storage system designed for any kind of mineral sheet." + var/mode = 1; //0 = pick one at a time, 1 = pick all on tile + var/capacity = 300; //the number of sheets it can carry. + flags = FPRINT | TABLEPASS + w_class = 3 + var/metal = 0//Holder values, to have a count of how much of each type is in the snatcher + var/glass = 0 + var/gold = 0 + var/silver = 0 + var/diamond = 0 + var/plasma = 0 + var/uranium = 0 + var/clown = 0 + var/euranium = 0 + var/plasteel = 0 + +/obj/item/weapon/sheetsnatcher/attack_self(mob/user as mob)//Credit goes to carn on this one + var/location = get_turf(src) //fetches the turf containing the object. (so stuff spawns on the floor) + if(metal) + var/obj/item/stack/sheet/metal/S = new (location) + var/stacksize = min(metal,50) //maximum stack size is 50! + S.amount = stacksize + metal -= stacksize + if(glass) + var/obj/item/stack/sheet/glass/S = new (location) + var/stacksize = min(glass,50) + S.amount = stacksize + glass -= stacksize + if(gold) + var/obj/item/stack/sheet/gold/S = new (location) + var/stacksize = min(gold,50) + S.amount = stacksize + gold -= stacksize + if(silver) + var/obj/item/stack/sheet/silver/S = new (location) + var/stacksize = min(silver,50) + S.amount = stacksize + silver -= stacksize + if(diamond) + var/obj/item/stack/sheet/diamond/S = new (location) + var/stacksize = min(diamond,50) + S.amount = stacksize + diamond -= stacksize + if(plasma) + var/obj/item/stack/sheet/plasma/S = new (location) + var/stacksize = min(plasma,50) + S.amount = stacksize + plasma -= stacksize + if(uranium) + var/obj/item/stack/sheet/uranium/S = new (location) + var/stacksize = min(uranium,50) + S.amount = stacksize + uranium -= stacksize + if(clown) + var/obj/item/stack/sheet/clown/S = new (location) + var/stacksize = min(clown,50) + S.amount = stacksize + clown -= stacksize + if(euranium) + var/obj/item/stack/sheet/enruranium/S = new (location) + var/stacksize = min(euranium,50) + S.amount = stacksize + euranium -= stacksize + if(plasteel) + var/obj/item/stack/sheet/plasteel/S = new (location) + var/stacksize = min(plasteel,50) + S.amount = stacksize + plasteel -= stacksize + else if(!metal && !glass && !gold && !silver && !diamond && !plasma && !uranium && !clown && !euranium && !plasteel) + user << "\blue You empty the snatch." + return + + +/obj/item/weapon/sheetsnatcher/attackby(obj/item/weapon/W as obj, mob/user as mob) + ..() + if (istype(W, /obj/item/stack/sheet)) + var/obj/item/stack/sheet/O = W + src.add(O,user) + return + +/obj/item/weapon/sheetsnatcher/verb/toggle_mode() + set name = "Switch Sheet Snatcher Method" + set category = "Object" + + mode = !mode + switch (mode) + if(1) + usr << "The snatcher now picks up all sheets on a tile at once." + if(0) + usr << "The snatcher now picks up one sheet at a time." + +/obj/item/weapon/sheetsnatcher/proc/add(var/obj/item/stack/sheet/S as obj, mob/user as mob)//Handles sheets, adds them to the holder values + if((S.name == "Sandstone Bricks") || (S.name == "Wood Planks"))//Does not pick up sandstone or wood, as they are not true sheets + return + var/current = metal+glass+gold+silver+diamond+plasma+uranium+clown + if(capacity == current)//If it's full, you're done + user << "\red The snatcher is full." + return + if(capacity < current + S.amount)//If the stack will fill it up + var/diff = capacity - current + switch(S.name) + if("metal") + metal += diff + if("glass") + glass += diff + if("silver") + silver += diff + if("gold") + gold += diff + if("diamond") + diamond += diff + if("solid plasma") + plasma += diff + if("uranium") + uranium += diff + if("bananium") + clown += diff + if("enriched uranium") + euranium += diff + if("plasteel") + plasteel += diff + S.amount -= diff + user << "\blue You add the [S.name] to the [name]" + else + switch(S.name) + if("metal") + metal += S.amount + if("glass") + glass += S.amount + if("silver") + silver += S.amount + if("gold") + gold += S.amount + if("diamond") + diamond += S.amount + if("solid plasma") + plasma += S.amount + if("uranium") + uranium += S.amount + if("bananium") + clown += S.amount + if("enriched uranium") + euranium += S.amount + if("plasteel") + plasteel += S.amount + user << "\blue You add the [S.name] to the [name]" + del (S) + return + +/obj/item/weapon/sheetsnatcher/borg + name = "Sheet Snatcher 9000" + desc = "" + capacity = 500//Borgs get more because >specialization \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 039888914d8..bbf301676a1 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -198,8 +198,8 @@ src.emag = new /obj/item/borg/stun(src) src.modules += new /obj/item/weapon/satchel/borg(src) src.modules += new /obj/item/weapon/pickaxe/borgdrill(src) + src.modules += new /obj/item/weapon/sheetsnatcher/borg(src) // src.modules += new /obj/item/weapon/shovel(src) Uneeded due to buffed drill -// src.jetpack += new/obj/item/weapon/tank/jetpack/carbondioxide(src) return diff --git a/html/changelog.html b/html/changelog.html index b102ffbb46a..5ab731b3ee9 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -46,6 +46,21 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit tho. Thanks. --> +
+

June 18th, 2012

+

Sieve updated:

+ +
+

Monday, June 18th

Icarus updated:

diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 99c0b0859dd40da4655b79338aa39d712ba63a0a..5233fa40b3734d512feda073cadef8f6c290a68a 100644 GIT binary patch delta 18736 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