diff --git a/code/game/machinery/autolathe_datums_vr.dm b/code/game/machinery/autolathe_datums_vr.dm new file mode 100644 index 00000000000..2f6478c4a53 --- /dev/null +++ b/code/game/machinery/autolathe_datums_vr.dm @@ -0,0 +1,20 @@ +/datum/autolathe/recipe/classic_smg_9mm + name = "SMG magazine (9mm)" + path = /obj/item/ammo_magazine/mc9mml + category = "Arms and Ammunition" + hidden = 1 + +/datum/autolathe/recipe/classic_smg_9mmr + name = "SMG magazine (9mm rubber)" + path = /obj/item/ammo_magazine/mc9mml/rubber + category = "Arms and Ammunition" + +/datum/autolathe/recipe/classic_smg_9mmp + name = "SMG magazine (9mm practice)" + path = /obj/item/ammo_magazine/mc9mml/practice + category = "Arms and Ammunition" + +/datum/autolathe/recipe/classic_smg_9mmf + name = "SMG magazine (9mm flash)" + path = /obj/item/ammo_magazine/mc9mml/flash + category = "Arms and Ammunition" \ No newline at end of file diff --git a/code/modules/vore/fluffstuff/custom_guns_vr.dm b/code/modules/vore/fluffstuff/custom_guns_vr.dm index de64fc7cb71..1b92a5b7d96 100644 --- a/code/modules/vore/fluffstuff/custom_guns_vr.dm +++ b/code/modules/vore/fluffstuff/custom_guns_vr.dm @@ -200,6 +200,35 @@ toggle_scope(2.0) +// For general use +/obj/item/weapon/gun/projectile/automatic/pdw // Vorestation SMG because the WT550 is ugly and bad. + name = "personal defense weapon" + desc = "The X-9MM is a select-fire personal defense weapon designed in-house by Xing Private Security. It was made to compete with the WT550 Saber, but hasn't yet caught on in popularity outside of the Virgo-Erigone system. Uses 9mm rounds." + icon = 'icons/obj/gun_vr.dmi' + icon_state = "pdw" + item_state = "c20r" // Placeholder + w_class = 3 + caliber = "9mm" + origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2) + slot_flags = SLOT_BELT + load_method = MAGAZINE + magazine_type = /obj/item/ammo_magazine/mc9mml + allowed_magazines = list(/obj/item/ammo_magazine/mc9mm, /obj/item/ammo_magazine/mc9mml) + + firemodes = list( + list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null), + list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=6, burst_accuracy=list(0,-1,-2), dispersion=list(0.0, 0.6, 0.6)) + ) + +/obj/item/weapon/gun/projectile/automatic/pdw/update_icon(var/ignore_inhands) + ..() + if(istype(ammo_magazine,/obj/item/ammo_magazine/mc9mm)) + icon_state = "pdw-short" + else + icon_state = (ammo_magazine)? "pdw" : "pdw-empty" + if(!ignore_inhands) update_held_icon() + + //Currently, the only problem I have now is that this weapon's item_state isn't working. /obj/item/weapon/gun/projectile/automatic/fluff/crestrose name = "Crescent Rose" @@ -407,4 +436,36 @@ penetrating = 2 // Better penetration than the 7.62mm /obj/item/ammo_magazine/battlerifle/empty - initial_ammo = 0 \ No newline at end of file + initial_ammo = 0 + +//---------------- PDW ------------------ +/obj/item/ammo_magazine/mc9mml + name = "\improper SMG magazine (9mm)" + icon = 'icons/obj/ammo_vr.dmi' + icon_state = "smg" + origin_tech = list(TECH_COMBAT = 2) + mag_type = MAGAZINE + matter = list(DEFAULT_WALL_MATERIAL = 1800) + caliber = "9mm" + ammo_type = /obj/item/ammo_casing/c9mm + max_ammo = 30 + multiple_sprites = 1 + +/obj/item/ammo_magazine/mc9mml/empty + initial_ammo = 0 + +/obj/item/ammo_magazine/mc9mml/ap + name = "\improper SMG magazine (9mm armor-piercing)" + ammo_type = /obj/item/ammo_casing/c9mm/ap + +/obj/item/ammo_magazine/mc9mml/flash + name = "\improper SMG magazine (9mm flash)" + ammo_type = /obj/item/ammo_casing/c9mmf + +/obj/item/ammo_magazine/mc9mml/rubber + name = "\improper SMG magazine (9mm rubber)" + ammo_type = /obj/item/ammo_casing/c9mmr + +/obj/item/ammo_magazine/mc9mml/practice + name = "\improper SMG magazine (9mm practice)" + ammo_type = /obj/item/ammo_casing/c9mmp \ No newline at end of file diff --git a/icons/obj/ammo_vr.dmi b/icons/obj/ammo_vr.dmi index 74fd5fbc093..18b4eeeda20 100644 Binary files a/icons/obj/ammo_vr.dmi and b/icons/obj/ammo_vr.dmi differ diff --git a/icons/obj/gun_vr.dmi b/icons/obj/gun_vr.dmi index ebf0d0676d1..bd2f354b1be 100644 Binary files a/icons/obj/gun_vr.dmi and b/icons/obj/gun_vr.dmi differ diff --git a/vorestation.dme b/vorestation.dme index 0be785f66bc..4553f2a0eb9 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -420,6 +420,7 @@ #include "code\game\machinery\atmo_control.dm" #include "code\game\machinery\autolathe.dm" #include "code\game\machinery\autolathe_datums.dm" +#include "code\game\machinery\autolathe_datums_vr.dm" #include "code\game\machinery\Beacon.dm" #include "code\game\machinery\biogenerator.dm" #include "code\game\machinery\bioprinter.dm"