diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index 55cdd09d4ca..bf1d04c1051 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -465,39 +465,61 @@ /obj/structure/closet/syndicate/resources/ - desc = "It's an emergancy storage closet for repairs." + desc = "An old, dusty locker." /obj/structure/closet/syndicate/resources/New() ..() + var/common_min = 30 //Minimum amount of minerals in the stack for common minerals + var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals + var/rare_min = 5 //Minimum HONK of HONK in the stack HONK HONK rare minerals + var/rare_max = 20 //Maximum HONK HONK HONK in the HONK for HONK rare HONK - var/list/resources_common = list( - - /obj/item/stack/sheet/metal, - /obj/item/stack/sheet/glass, - /obj/item/stack/sheet/plasteel, - /obj/item/stack/rods - ) - - var/list/resources_rare = list( - - /obj/item/stack/sheet/gold, - /obj/item/stack/sheet/silver, - /obj/item/stack/sheet/plasma, - /obj/item/stack/sheet/uranium, - /obj/item/stack/sheet/diamond - - ) sleep(2) - for(var/i = 0, i<2, i++) - for(var/res in resources_common) - var/obj/item/stack/R = new res(src) - R.amount = rand(40,R.max_amount) + var/pickednum = rand(1, 50) - for(var/res in resources_rare) - var/obj/item/stack/R = new res(src) - R.amount = rand(10,25) + //Sad trombone + if(pickednum == 1) + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src) + P.name = "IOU" + P.info = "Sorry man, we needed the money so we sold your stash. It's ok, we'll double our money for sure this time!" + + //Metal (common ore) + if(pickednum >= 2) + new /obj/item/stack/sheet/metal(src, rand(common_min, common_max)) + + //Glass (common ore) + if(pickednum >= 5) + new /obj/item/stack/sheet/glass(src, rand(common_min, common_max)) + + //Plasteel (common ore) Because it has a million more uses then plasma + if(pickednum >= 10) + new /obj/item/stack/sheet/plasteel(src, rand(common_min, common_max)) + + //Plasma (rare ore) + if(pickednum >= 15) + new /obj/item/stack/sheet/plasma(src, rand(rare_min, rare_max)) + + //Silver (rare ore) + if(pickednum >= 20) + new /obj/item/stack/sheet/silver(src, rand(rare_min, rare_max)) + + //Gold (rare ore) + if(pickednum >= 30) + new /obj/item/stack/sheet/gold(src, rand(rare_min, rare_max)) + + //Uranium (rare ore) + if(pickednum >= 40) + new /obj/item/stack/sheet/uranium(src, rand(rare_min, rare_max)) + + //Diamond (rare HONK) + if(pickednum >= 45) + new /obj/item/stack/sheet/diamond(src, rand(rare_min, rare_max)) + + //Jetpack (You hit the jackpot!) + if(pickednum == 50) + new /obj/item/weapon/tank/jetpack/carbondioxide(src) return diff --git a/code/game/asteroid/artifacts.dm b/code/game/asteroid/artifacts.dm index a4b834b4c86..e9817ac925f 100644 --- a/code/game/asteroid/artifacts.dm +++ b/code/game/asteroid/artifacts.dm @@ -1,23 +1,31 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 -var/global/list/space_surprises = list( /obj/item/clothing/mask/facehugger/angry =4, - // /obj/effect/critter/spesscarp =2, - /obj/effect/critter/spesscarp/elite =2, - // /obj/creature =0, - // /obj/item/weapon/rcd =0, - // /obj/item/weapon/rcd_ammo =0, - // /obj/item/weapon/spacecash =0, - // /obj/item/weapon/cloaking_device =1, - // /obj/item/weapon/gun/energy/teleport_gun =0, - // /obj/item/weapon/rubber_chicken =0, - /obj/item/weapon/melee/energy/sword/pirate =3, - /obj/structure/closet/syndicate/resources =2, - // /obj/machinery/wish_granter =1, // Okayyyy... Mayyyybe Kor is kinda sorta right. A little. Tiny bit. >.> - // /obj/item/clothing/glasses/thermal =2, // Could maybe be cool as its own rapid mode, sorta like wizard. Maybe. - // /obj/item/weapon/storage/box/stealth/ =2 +var/global/list/space_surprises = list( /obj/item/clothing/mask/facehugger/angry =4, + // /obj/item/weapon/pickaxe/hammer =4, //Waiting on a sprite + /obj/item/weapon/pickaxe/silver =4, + /obj/item/weapon/pickaxe/drill =4, + /obj/item/weapon/pickaxe/jackhammer =4, + /obj/effect/critter/spesscarp/elite =3, + /obj/item/weapon/pickaxe/diamond =3, + /obj/item/weapon/pickaxe/diamonddrill =3, + /obj/item/weapon/pickaxe/gold =3, + /obj/item/weapon/pickaxe/plasmacutter =2, + /obj/structure/closet/syndicate/resources =2, + /obj/item/weapon/melee/energy/sword/pirate =1, + /obj/mecha/working/ripley/mining =1 - // =11 - ) + // /obj/creature =0, + // /obj/item/weapon/rcd =0, + // /obj/item/weapon/rcd_ammo =0, + // /obj/item/weapon/spacecash =0, + // /obj/item/weapon/cloaking_device =0, + // /obj/item/weapon/gun/energy/teleport_gun =0, + // /obj/item/weapon/rubber_chicken =0, + // /obj/machinery/wish_granter =0, // Okayyyy... Mayyyybe Kor is kinda sorta right. A little. Tiny bit. >.> + // /obj/item/clothing/glasses/thermal =0, // Could maybe be cool as its own rapid mode, sorta like wizard. Maybe. + // /obj/item/weapon/storage/box/stealth/ =0 + // =11 + ) var/global/list/spawned_surprises = list() diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index de52992a2f7..01c897c49d1 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -4,6 +4,7 @@ icon = 'windoor.dmi' icon_state = "left" var/base_state = "left" + var/health = 200.0 //If you change this, consiter changing ../door/window/brigdoor/ health at the bottom of this .dm file visible = 0.0 flags = ON_BORDER opacity = 0 @@ -124,13 +125,49 @@ src.operating = 0 return 1 -/obj/machinery/door/window/attackby(obj/item/I as obj, mob/user as mob) +//When an object is thrown at the window +/obj/machinery/door/window/hitby(AM as mob|obj) + + ..() + for(var/mob/O in viewers(src, null)) + O.show_message("\red The glass door was hit by [AM].", 1) + var/tforce = 0 + if(ismob(AM)) + tforce = 40 + else + tforce = AM:throwforce + playsound(src.loc, 'Glasshit.ogg', 100, 1) + src.health = max(0, src.health - tforce) + if (src.health <= 0) + new /obj/item/weapon/shard(src.loc) + var/obj/item/weapon/cable_coil/CC = new /obj/item/weapon/cable_coil(src.loc) + CC.amount = 2 + src.density = 0 + del(src) + return + //..() //Does this really need to be here twice? The parent proc doesn't even do anything yet. - Nodrak + return + + +/obj/machinery/door/window/attack_ai(mob/user as mob) + return src.attack_hand(user) + + +/obj/machinery/door/window/attack_paw(mob/user as mob) + return src.attack_hand(user) + + +/obj/machinery/door/window/attack_hand(mob/user as mob) + return src.attackby(user, user) + + +/obj/machinery/door/window/attackby(obj/item/weapon/I as obj, mob/user as mob) + + //If it's in the process of opening/closing, ignore the click if (src.operating) return - src.add_fingerprint(user) - if (!src.requiresID()) - //don't care who they are or what they have, act as if they're NOTHING - user = null + + //Emags and ninja swords? You may pass. if (src.density && (istype(I, /obj/item/weapon/card/emag)||istype(I, /obj/item/weapon/melee/energy/blade))) src.operating = -1 if(istype(I, /obj/item/weapon/melee/energy/blade)) @@ -145,13 +182,36 @@ sleep(6) open() return 1 + + //If it's a weapon, smash windoor. Unless it's an id card, agent card, ect.. then ignore it (Cards really shouldnt damage a door anyway) + if(src.density && istype(I, /obj/item/weapon) && !istype(I, /obj/item/weapon/card)) + var/aforce = I.force + if(I.damtype == BRUTE || I.damtype == BURN) + src.health = max(0, src.health - aforce) + playsound(src.loc, 'Glasshit.ogg', 75, 1) + if (src.health <= 0) + new /obj/item/weapon/shard(src.loc) + var/obj/item/weapon/cable_coil/CC = new /obj/item/weapon/cable_coil(src.loc) + CC.amount = 2 + src.density = 0 + del(src) + return + + + src.add_fingerprint(user) + if (!src.requiresID()) + //don't care who they are or what they have, act as if they're NOTHING + user = null + if (src.allowed(user)) if (src.density) open() else close() + else if (src.density) flick(text("[]deny", src.base_state), src) + return @@ -163,6 +223,7 @@ base_state = "leftsecure" req_access = list(access_security) var/id = null + health = 500.0 //Stronger doors for prison (regular window door health is 200) /obj/machinery/door/window/northleft @@ -197,7 +258,6 @@ icon_state = "right" base_state = "right" - /obj/machinery/door/window/brigdoor/northleft dir = NORTH diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 24dcea75d08..8e05d853b84 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -41,6 +41,24 @@ ME.attach(src) return +/obj/mecha/working/ripley/mining + desc = "An old, dusty mining ripley." + name = "APLU \"Miner\"" + +/obj/mecha/working/ripley/mining/New() + ..() + //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 + D.attach(src) + else + var/obj/item/mecha_parts/mecha_equipment/tool/drill/D = new /obj/item/mecha_parts/mecha_equipment/tool/drill + D.attach(src) + + //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) + /obj/mecha/working/ripley/Exit(atom/movable/O) if(O in cargo) return 0 diff --git a/code/game/objects/window.dm b/code/game/objects/window.dm index a9af5f2469b..1c3f99dafa5 100644 --- a/code/game/objects/window.dm +++ b/code/game/objects/window.dm @@ -87,7 +87,7 @@ src.density = 0 del(src) return - ..() + //..() //Does this really need to be here twice? The parent proc doesn't even do anything yet. - Nodrak return //These all need to be rewritten to use visiblemessage() diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 55532c15f64..cab5db62009 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -192,6 +192,7 @@ proc/move_mining_shuttle() hammer name = "Mining Sledge Hammer" + //icon_state = "sledgehammer" Waiting on sprite desc = "A mining hammer made of reinforced metal. You feel like smashing your boss in the face with this." silver diff --git a/html/changelog.html b/html/changelog.html index 4921f947ca8..649ebce9dd4 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -46,6 +46,17 @@ 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. --> + +