From 6067370a6f076688bc2fc578b6606f66d546e746 Mon Sep 17 00:00:00 2001 From: Hatterhat <31829017+Hatterhat@users.noreply.github.com> Date: Fri, 8 May 2020 19:49:25 -0500 Subject: [PATCH] shotgun shell clips (#11955) * shell clips revised by based ghom * lmao yeet better not forget that bit * nitpicking but also merge 11976 first * No freeloaders. * Update weapon_designs.dm Co-authored-by: Hatterhat Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> --- .../boxes_magazines/_box_magazine.dm | 2 +- .../projectiles/boxes_magazines/ammo_boxes.dm | 48 ++++++++++++++++++ .../research/designs/weapon_designs.dm | 11 +++- code/modules/research/techweb/all_nodes.dm | 2 +- icons/obj/ammo.dmi | Bin 26146 -> 27863 bytes 5 files changed, 60 insertions(+), 3 deletions(-) diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 594734c86a..8ebddaa24f 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -113,7 +113,7 @@ /obj/item/ammo_box/update_icon() . = ..() - desc = "[initial(desc)] There are [stored_ammo.len] shell\s left!" + desc = "[initial(desc)] There [stored_ammo.len == 1 ? "is" : "are"] [stored_ammo.len] shell\s left!" for (var/material in bullet_cost) var/material_amount = bullet_cost[material] material_amount = (material_amount*stored_ammo.len) + base_cost[material] diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 81ae026138..597c7203b4 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -121,3 +121,51 @@ icon_state = "foambox_riot" ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot custom_materials = list(/datum/material/iron = 50000) + +//Shotgun clips +/obj/item/ammo_box/shotgun + name = "stripper clip (shotgun shells)" + desc = "A stripper clip, designed to help with loading a shotgun slightly faster." + icon = 'icons/obj/ammo.dmi' + icon_state = "shotgunclip" + caliber = "shotgun" // slapped in to allow shell mix n match + ammo_type = /obj/item/ammo_casing/shotgun + max_ammo = 4 + var/pixeloffsetx = 4 + start_empty = TRUE + +/obj/item/ammo_box/shotgun/update_overlays() + . = ..() + if(stored_ammo.len) + var/offset = -4 + for(var/A in stored_ammo) + var/obj/item/ammo_casing/shotgun/C = A + offset += pixeloffsetx + var/mutable_appearance/shell_overlay = mutable_appearance(icon, "[initial(C.icon_state)]-clip") + shell_overlay.pixel_x += offset + shell_overlay.appearance_flags = RESET_COLOR + . += shell_overlay + +/obj/item/ammo_box/shotgun/loaded + start_empty = FALSE + +/obj/item/ammo_box/shotgun/loaded/rubbershot + ammo_type = /obj/item/ammo_casing/shotgun/rubbershot + +/obj/item/ammo_box/shotgun/loaded/buckshot + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + +/obj/item/ammo_box/shotgun/loaded/beanbag + ammo_type = /obj/item/ammo_casing/shotgun/beanbag + +/obj/item/ammo_box/shotgun/loaded/stunslug + ammo_type = /obj/item/ammo_casing/shotgun/stunslug + +/obj/item/ammo_box/shotgun/loaded/techshell + ammo_type = /obj/item/ammo_casing/shotgun/techshell + +/obj/item/ammo_box/shotgun/loaded/incendiary + ammo_type = /obj/item/ammo_casing/shotgun/incendiary + +/obj/item/ammo_box/shotgun/loaded/dart + ammo_type = /obj/item/ammo_casing/shotgun/dart diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 44b71a025f..93168e17c7 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -135,6 +135,15 @@ //Ammo Shells/ ////////////// +/datum/design/shell_clip + name = "stripper clip (shotgun shells)" + id = "sec_shellclip" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 5000) + build_path = /obj/item/ammo_box/shotgun + category = list("Ammo") + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + /datum/design/beanbag_slug/sec id = "sec_beanbag" build_type = PROTOLATHE @@ -166,7 +175,7 @@ departmental_flags = DEPARTMENTAL_FLAG_SECURITY /datum/design/incendiary_slug/sec - id = "sec_Islug" + id = "sec_islug" build_type = PROTOLATHE category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 002bb3d64b..12e4557121 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -10,7 +10,7 @@ // Default research tech, prevents bricking design_ids = list("basic_matter_bin", "basic_cell", "basic_scanning", "basic_capacitor", "basic_micro_laser", "micro_mani", "desttagger", "handlabel", "packagewrap", "destructive_analyzer", "circuit_imprinter", "experimentor", "rdconsole", "design_disk", "tech_disk", "rdserver", "rdservercontrol", "mechfab", - "space_heater", "beaker", "large_beaker", "bucket", "xlarge_beaker", "sec_beanbag", "sec_rshot", "sec_bshot", "sec_slug", "sec_Islug", "sec_dart", "sec_38", "sec_38lethal", + "space_heater", "beaker", "large_beaker", "bucket", "xlarge_beaker", "sec_shellclip", "sec_beanbag", "sec_rshot", "sec_bshot", "sec_slug", "sec_islug", "sec_dart", "sec_38", "sec_38lethal", "rglass","plasteel","plastitanium","plasmaglass","plasmareinforcedglass","titaniumglass","plastitaniumglass") /datum/techweb_node/mmi diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index a26b01883ede06b86fe93f0d405230d2f3c39aa0..e0b02d2adca23b857bef9a8b80d849f33fa41f49 100644 GIT binary patch delta 6927 zcma)>c{G&KAOD}Rmuv}H$5N49mdG-)rtBo!*o9;XktNTB5HV!mNp>NGu`eO(sH~Cf zWQ`fiFwAfC{e92*ZGZgEndi)NKKJu{p7*_4>3_O9jMNIqMQ~K#tCFbN;#xlm zsdLdn2(Tu;lR4cFth!z_<+dUb0nq+c;0Tt)t9?Jt#P9xHJ$CgXI4TDE=2bSypmeHH z>F}48hpI_4Hy$X0O{JD_ldeBG!BwFT+!OR37~xMRUY05iRUABDOPF?$Xu3nT@#_!9 z!t?H3osR3|k{8)7u3QmT6W=`GH9AOgWs5A(Io(wA9Z+$%SCJ8a%*ap+%{FKDf4wg2OcB?k5I2&wwyp9C79t(W@g%;Y&WjCh0F^K z@3S&x4svlIn5Ty*l1(xqreK)h$N0hhv}MvZw00veebhDnBv$dZL7?OosWJMJfX!oN zF$ap;BmJJKSXk;}F}JYTA3QiO-d1GN92JeEG@` za%5%K+3b8~Kxxh+T05UP`8$94zO1z)ZRTcEZqF8_&6qk}4%7CltDN2=shFkwtq>Wk z33feeQzsuzJVesb+tUqc`y;uzoeG=ztxB5tTg#gHxhk3|$Dc2r)}26tGWDsu-*44k zOxtYb7v^kai3)FI7btUlreP@Bf3JVY^9D;b>Dv!@DUe-DA)h?^8wr|9j|v^Z5*f1R za1kX!%}hyU7j2n;P^VsD<~_}uGFGKtVZ^7`$&AvK{3^mjIUXtErE>?(jJnawjJiC) z6s4*Q6Y@GTi?2aPalABHTB;$5c86vwh:EGHY-kY_ghzE|n=C~#sjWl6@&vJGd5 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 E0H5W1%>V!Z delta 5196 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 fO#b`PdJHiW$>~lpJNPvA-w