From d3b3ffee7d643979da8e3fcde8d0dbe52d4649ab Mon Sep 17 00:00:00 2001 From: Fluffe9911 Date: Sat, 1 Sep 2018 10:33:43 -0400 Subject: [PATCH 1/4] LOCKER MECHHHH --- .../code/game/mecha/makeshift/lockermech.dm | 74 ++++++++++++++++++ .../game/mecha/makeshift/makeshift_tools.dm | 22 ++++++ yogstation/code/modules/crafting/recipes.dm | 37 +++++++++ yogstation/icons/mecha/lockermech.dmi | Bin 0 -> 2182 bytes 4 files changed, 133 insertions(+) create mode 100644 yogstation/code/game/mecha/makeshift/lockermech.dm create mode 100644 yogstation/code/game/mecha/makeshift/makeshift_tools.dm create mode 100644 yogstation/icons/mecha/lockermech.dmi diff --git a/yogstation/code/game/mecha/makeshift/lockermech.dm b/yogstation/code/game/mecha/makeshift/lockermech.dm new file mode 100644 index 000000000000..615f5c95a934 --- /dev/null +++ b/yogstation/code/game/mecha/makeshift/lockermech.dm @@ -0,0 +1,74 @@ +/obj/mecha/makeshift + desc = "A locker with stolen wires, struts, electronics and airlock servos crudley assemebled into something that resembles the fuctions of a mech." + name = "Locker Mech" + icon = 'yogstation/icons/mecha/lockermech.dmi' + icon_state = "lockermech" + max_integrity = 100 //its made of scraps + lights_power = 5 + step_in = 4 //Same speed as a ripley, for now. + armor = list(melee = 20, bullet = 10, laser = 10, energy = 0, bomb = 10, bio = 0, rad = 0, fire = 70, acid = 60) //Same armour as a locker + internal_damage_threshold = 30 //Its got shitty durability + max_equip = 2 //You only have two arms and the control system is shitty + wreckage = null + var/list/cargo = list() + var/cargo_capacity = 5 // you can fit a few things in this locker but not much. + +/obj/mecha/makeshift/Topic(href, href_list) + ..() + if(href_list["drop_from_cargo"]) + var/obj/O = locate(sanitize(href_list["drop_from_cargo"])) + if(O && O in cargo) + occupant_message("You unload [O].") + O.forceMove(loc) + cargo -= O + log_message("Unloaded [O]. Cargo compartment capacity: [cargo_capacity - src.cargo.len]") + return + +/obj/mecha/makeshift/go_out() + ..() + update_icon() + +/obj/mecha/makeshift/moved_inside(mob/living/carbon/human/H) + ..() + update_icon() + + +/obj/mecha/makeshift/Exit(atom/movable/O) + if(O in cargo) + return 0 + return ..() + +/obj/mecha/makeshift/contents_explosion(severity, target) + for(var/X in cargo) + var/obj/O = X + if(prob(30/severity)) + cargo -= O + O.forceMove(loc) + . = ..() + +/obj/mecha/makeshift/get_stats_part() + var/output = ..() + output += "Cargo Compartment Contents:
" + if(cargo.len) + for(var/obj/O in cargo) + output += "Unload : [O]
" + else + output += "Nothing" + output += "
" + return output + +/obj/mecha/makeshift/relay_container_resist(mob/living/user, obj/O) + to_chat(user, "You lean on the back of [O] and start pushing so it falls out of [src].") + if(do_after(user, 10, target = O))//Its a fukken locker + if(!user || user.stat != CONSCIOUS || user.loc != src || O.loc != src ) + return + to_chat(user, "You successfully pushed [O] out of [src]!") + O.loc = loc + cargo -= O + else + if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded. + to_chat(user, "You fail to push [O] out of [src]!") + +/obj/mecha/makeshift/Destroy() + new /obj/structure/closet(loc) + ..() \ No newline at end of file diff --git a/yogstation/code/game/mecha/makeshift/makeshift_tools.dm b/yogstation/code/game/mecha/makeshift/makeshift_tools.dm new file mode 100644 index 000000000000..a11b62a825de --- /dev/null +++ b/yogstation/code/game/mecha/makeshift/makeshift_tools.dm @@ -0,0 +1,22 @@ +/obj/item/mecha_parts/mecha_equipment/drill/makeshift + name = "Makeshift exosuit drill" + desc = "Cobbled together from likely stolen parts, this drill is nowhere near as effective as the real deal." + equip_cooldown = 60 //Its slow as shit + force = 10 //Its not very strong + drill_delay = 15 + +/obj/item/mecha_parts/mecha_equipment/drill/makeshift/can_attach(obj/mecha/M as obj) + if(istype(M, /obj/mecha/makeshift)) + return TRUE + return FALSE + +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/makeshift + name = "makeshift clamp" + desc = "Loose arrangement of cobbled together bits resembling a clamp." + equip_cooldown = 25 + dam_force = 10 + +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/makeshift/can_attach(obj/mecha/M as obj) + if(istype(M, /obj/mecha/makeshift)) + return TRUE + return FALSE \ No newline at end of file diff --git a/yogstation/code/modules/crafting/recipes.dm b/yogstation/code/modules/crafting/recipes.dm index bc375cd8f4a6..2f450c1659ba 100644 --- a/yogstation/code/modules/crafting/recipes.dm +++ b/yogstation/code/modules/crafting/recipes.dm @@ -17,4 +17,41 @@ result = /obj/item/drone_shell reqs = list(/obj/item/stock_parts/cell = 1, /obj/item/assembly/flash/handheld = 1, /obj/item/crowbar = 1, /obj/item/wrench = 1, /obj/item/restraints/handcuffs/cable = 1, /obj/item/screwdriver = 1, /obj/item/multitool = 1, /obj/item/weldingtool = 1, /obj/item/wirecutters = 1, /obj/item/storage/backpack = 1, /obj/item/stack/sheet/plasteel = 5) time = 120 + category = CAT_ROBOT + +/datum/crafting_recipe/lockermech + name = "Locker Mech" + result = /obj/mecha/makeshift + reqs = list(/obj/item/stack/cable_coil = 20, + /obj/item/stack/sheet/metal = 10, + /obj/item/storage/toolbox = 2, // For feet + /obj/item/tank/internals/oxygen = 1, // For air + /obj/item/electronics/airlock = 1, //You are stealing the motors from airlocks + /obj/item/extinguisher = 1, //For bastard pnumatics + /obj/item/stack/ducttape = 5, //to make it airtight + /obj/item/flashlight = 1, //For the mech light + /obj/item/stack/rods = 4, //to mount the equipment + /obj/item/pipe = 2) //For legs + tools = list(/obj/item/weldingtool, /obj/item/screwdriver, /obj/item/wirecutters) + time = 200 + category = CAT_ROBOT + +/datum/crafting_recipe/lockermechdrill + name = "Makeshift exosuit drill" + result = /obj/item/mecha_parts/mecha_equipment/drill/makeshift + reqs = list(/obj/item/stack/cable_coil = 5, + /obj/item/stack/sheet/metal = 2, + /obj/item/surgicaldrill = 1) + tools = list(/obj/item/screwdriver) + time = 50 + category = CAT_ROBOT + +/datum/crafting_recipe/lockermechclamp + name = "Makeshift exosuit clamp" + result = /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/makeshift + reqs = list(/obj/item/stack/cable_coil = 5, + /obj/item/stack/sheet/metal = 2, + /obj/item/wirecutters = 1) //Don't ask, its just for the grabby grabby thing + tools = list(/obj/item/screwdriver) + time = 50 category = CAT_ROBOT \ No newline at end of file diff --git a/yogstation/icons/mecha/lockermech.dmi b/yogstation/icons/mecha/lockermech.dmi new file mode 100644 index 0000000000000000000000000000000000000000..a4e158315f127390bc2f7f75ae11a808d70cdcbc GIT binary patch literal 2182 zcmV;12zmF3P)urh7FUGlW6|{C@3hg2? zXo&ozH`D11qBik67)PgWG2M76Y zZ$v~ysTv*tc=&;A0B~IZO-f4e(E#hm08UO$J2oPbiV=-0C=2JR&a84_w-Y6@%7{? zOD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5DJMTUJGCe`H913x zi!&v&s2HS^i!-e#F*g;&HpHe>H@_e?524-=MZL0utDg(lEdbZwD#hD^TLS<926IV7 zK~z|UrI!s~(?}4;!^Jj%v;^l6h0i>_4i1%BSl~oZSU70AzLRS>YYv9Si1bu;HRLO=r^ zWICXR`8mMa%&u=*2-s+v8<;;2;5gOlrfF^>pp^@t=eO4pu$kS_ZZ{Fogxnj^YnlaM z=1s~!1z;zKj60n4a;Mowz}Dl`zk_T6+s<~Rd_b+%-PzgcB4E3n0VvImvAesqxA%CL zWMr0Md&_Zpky>3DunmBnZuiNK>ps;x-*y}^gR^h!KC_=cx1UV|IBCEO8PEg3!He&{ zKX8BO>H9zKJ5K-bP`H2hS^ee9dJG7k;4s|v%Io(%&*hp9c>Vgo{i&zB``%#KKOBux z0HfR8dc3#QB_V(>j7B5Q0Km~8L`(<#{0j%PyraR;8zp_{Lp{7jA)p@?=r|+J==TSM zUk3vs$YXd6d{xUlmIpQD6;DW7@m0km;^N|*1hhE+*fM0ox13ta`1OSo%fWFM1PbQOd6@Cktro|mnp<3OI zrD>P*m+VT7YGi?W1r32s$sU6TGJx^?ITohEHDKpVi&~^Yu~(lXY48fnLm*J2Th-tS z-XwT2j93sD`z4 zD@$2(tS|O@rWpfB()@4_fF%P=^ZFV9jTAtdABqCt#)bsAzQzg~l`k>i%YVqPw8(vv zzZYz2RKccIi2<+W`Jo^n^!FkFE2!#jLa4~|Ljkq7w>Q?w+=J0i5%elnP{l(I2^CA8 zA7-oDZnxLh+imdP4p{v(;QG4PBfzdj&f40|nIC5AMW@qjb~+sbh!ymDH#Zy*DQA8t z0N7u5_V>Y^q0fIsF|y@)_2%aHEI^(gW&{}JQ|TiU1W)MnjmeEoV$fa6H<{NUUVz@Hy% zY5FbK&D+0kWq>$86as()ChtA;+zj9rUM&$I&JV?u$}a+FE_D&`Pb6`EC?YTciM5vj zrb&Q!IuPcEV)^})wPzy0#g7UC#M1!+hSB^`B)`wNrw`3Ndny3%!%hSU^Ft8;7)in0 zr*F)ufCh?qekcOqMldn=A|R|Fc4hJW;1>mG8VjH^Dw+Fv?2%N#0vQ)BepHvL9~1;= zVC93*){oEU$5{Y02>SCm@%NeeVP<{>tb72z8vs5hhyYBlr{@Q<_o?||hS0CG;L`U? zWbS1EbZ0Eg4=|wk>G@%{qC+N?GKZ`em>&udrhEHB^TSmA3mEAZFYj7^l>h($07*qo IM6N<$g4<%#ng9R* literal 0 HcmV?d00001 From 928d7b1a475f37ce1a390188b76766cc4f098286 Mon Sep 17 00:00:00 2001 From: Fluffe9911 Date: Sat, 1 Sep 2018 10:58:34 -0400 Subject: [PATCH 2/4] GREYTIDE WORLD WIDE --- yogstation.dme | 2 ++ yogstation/code/modules/crafting/recipes.dm | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/yogstation.dme b/yogstation.dme index d4f6d6dcb8b7..78f54f42401e 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -2684,6 +2684,8 @@ #include "yogstation\code\game\machinery\telecomms\computers\logbrowser.dm" #include "yogstation\code\game\machinery\telecomms\computers\telemonitor.dm" #include "yogstation\code\game\mecha\mecha_wreckage.dm" +#include "yogstation\code\game\mecha\makeshift\lockermech.dm" +#include "yogstation\code\game\mecha\makeshift\makeshift_tools.dm" #include "yogstation\code\game\objects\effects\landmarks.dm" #include "yogstation\code\game\objects\items\bandage.dm" #include "yogstation\code\game\objects\items\cards_ids.dm" diff --git a/yogstation/code/modules/crafting/recipes.dm b/yogstation/code/modules/crafting/recipes.dm index 2f450c1659ba..44b04a288142 100644 --- a/yogstation/code/modules/crafting/recipes.dm +++ b/yogstation/code/modules/crafting/recipes.dm @@ -11,7 +11,7 @@ reqs = list(/obj/item/clothing/torncloth = 1, /datum/reagent/water = 20) time = 45 category = CAT_MISC - + /datum/crafting_recipe/drone_shell name = "Drone Shell" result = /obj/item/drone_shell @@ -28,7 +28,7 @@ /obj/item/tank/internals/oxygen = 1, // For air /obj/item/electronics/airlock = 1, //You are stealing the motors from airlocks /obj/item/extinguisher = 1, //For bastard pnumatics - /obj/item/stack/ducttape = 5, //to make it airtight + /obj/item/paper = 5, //Cause paper is the best for making a mech airtight obviously /obj/item/flashlight = 1, //For the mech light /obj/item/stack/rods = 4, //to mount the equipment /obj/item/pipe = 2) //For legs From 4d6ecf218154c9e15b00c36defe432de757381ac Mon Sep 17 00:00:00 2001 From: Fluffe9911 Date: Sat, 1 Sep 2018 11:14:38 -0400 Subject: [PATCH 3/4] Chair Legs! --- yogstation/code/modules/crafting/recipes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yogstation/code/modules/crafting/recipes.dm b/yogstation/code/modules/crafting/recipes.dm index 44b04a288142..e9c6188ec12b 100644 --- a/yogstation/code/modules/crafting/recipes.dm +++ b/yogstation/code/modules/crafting/recipes.dm @@ -31,7 +31,7 @@ /obj/item/paper = 5, //Cause paper is the best for making a mech airtight obviously /obj/item/flashlight = 1, //For the mech light /obj/item/stack/rods = 4, //to mount the equipment - /obj/item/pipe = 2) //For legs + /obj/structure/chair = 2) //For legs tools = list(/obj/item/weldingtool, /obj/item/screwdriver, /obj/item/wirecutters) time = 200 category = CAT_ROBOT From 1e9a1ed8ff5e8fb08fc97c6af54abe6fd3d84bcf Mon Sep 17 00:00:00 2001 From: Fluffe9911 Date: Sat, 1 Sep 2018 11:15:19 -0400 Subject: [PATCH 4/4] The item kind --- yogstation/code/modules/crafting/recipes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yogstation/code/modules/crafting/recipes.dm b/yogstation/code/modules/crafting/recipes.dm index e9c6188ec12b..51010853fc2f 100644 --- a/yogstation/code/modules/crafting/recipes.dm +++ b/yogstation/code/modules/crafting/recipes.dm @@ -31,7 +31,7 @@ /obj/item/paper = 5, //Cause paper is the best for making a mech airtight obviously /obj/item/flashlight = 1, //For the mech light /obj/item/stack/rods = 4, //to mount the equipment - /obj/structure/chair = 2) //For legs + /obj/item/chair = 2) //For legs tools = list(/obj/item/weldingtool, /obj/item/screwdriver, /obj/item/wirecutters) time = 200 category = CAT_ROBOT