From d06e03bcf4cc4e019e685c9b222a0851be4c2a06 Mon Sep 17 00:00:00 2001 From: Ingakem <146962612+Ingakem@users.noreply.github.com> Date: Fri, 31 Jan 2025 22:39:15 +0200 Subject: [PATCH 1/7] New weapon & caliber - .35 Wespe pistol --- .../_defines220/_defines220.dme | 1 + .../_defines220/code/defines/calibers.dm | 1 + modular_bandastation/objects/_objects.dme | 2 + .../items/weapons/ranged/ballistic/ammo.dm | 201 ++++++++++++++++++ .../items/weapons/ranged/ballistic/wespe.dm | 142 +++++++++++++ .../objects/icons/obj/weapons/guns/ammo.dmi | Bin 0 -> 3374 bytes .../icons/obj/weapons/guns/ballistic.dmi | Bin 0 -> 1628 bytes .../objects/sounds/pistol_light.ogg | Bin 0 -> 11384 bytes 8 files changed, 347 insertions(+) create mode 100644 modular_bandastation/_defines220/code/defines/calibers.dm create mode 100644 modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo.dm create mode 100644 modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm create mode 100644 modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi create mode 100644 modular_bandastation/objects/icons/obj/weapons/guns/ballistic.dmi create mode 100644 modular_bandastation/objects/sounds/pistol_light.ogg diff --git a/modular_bandastation/_defines220/_defines220.dme b/modular_bandastation/_defines220/_defines220.dme index ca9cf0cafe5a7..7bee244917a3e 100644 --- a/modular_bandastation/_defines220/_defines220.dme +++ b/modular_bandastation/_defines220/_defines220.dme @@ -11,6 +11,7 @@ #include "code/defines/spans.dm" #include "code/defines/subsystems.dm" #include "code/defines/text_to_speech.dm" +#include "code/defines/calibers.dm" #include "code/signals_mob/signals_mob_ai.dm" #include "code/signals_mob/signals_mob_carbon.dm" #include "code/signals_mob/signals_mob_living.dm" diff --git a/modular_bandastation/_defines220/code/defines/calibers.dm b/modular_bandastation/_defines220/code/defines/calibers.dm new file mode 100644 index 0000000000000..00f39e19187f2 --- /dev/null +++ b/modular_bandastation/_defines220/code/defines/calibers.dm @@ -0,0 +1 @@ +#define CALIBER_SOL35SHORT ".35 Sol Short" diff --git a/modular_bandastation/objects/_objects.dme b/modular_bandastation/objects/_objects.dme index d44a935b9a27a..b75690834f590 100644 --- a/modular_bandastation/objects/_objects.dme +++ b/modular_bandastation/objects/_objects.dme @@ -65,6 +65,8 @@ #include "code/items/weapons/melee/centcom/rapier.dm" #include "code/items/weapons/ranged/energy/awaymission_gun.dm" #include "code/items/weapons/ranged/energy/eg_14.dm" +#include "code/items/weapons/ranged/ballistic/wespe.dm" +#include "code/items/weapons/ranged/ballistic/ammo.dm" #include "code/machinery/papershredder.dm" #include "code/machinery/photocopier.dm" diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo.dm new file mode 100644 index 0000000000000..5b9a01b279973 --- /dev/null +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo.dm @@ -0,0 +1,201 @@ +/obj/item/ammo_casing/c35sol + name = ".35 Sol Short lethal bullet casing" + desc = "A SolFed standard lethal pistol round." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "35sol" + caliber = CALIBER_SOL35SHORT + projectile_type = /obj/projectile/bullet/c35sol + +/obj/projectile/bullet/c35sol + name = ".35 Sol Short bullet" + damage = 15 + wound_bonus = -5 // Normal bullets are 20 + bare_wound_bonus = 5 + embed_falloff_tile = -4 + +/obj/item/ammo_box/c35sol + name = "ammo box (.35 Sol Short lethal)" + desc = "A box of .35 Sol Short lethal pistol rounds, holds twenty-four rounds." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "35box" + multiple_sprites = AMMO_BOX_FULL_EMPTY + w_class = WEIGHT_CLASS_NORMAL + caliber = CALIBER_SOL35SHORT + ammo_type = /obj/item/ammo_casing/c35sol + max_ammo = 24 + +/obj/item/ammo_casing/c35sol/rubber + name = ".35 Sol Short rubber bullet casing" + desc = "A SolFed standard less-lethal pistol round. Exhausts targets on hit, has a tendency to bounce off walls at shallow angles." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "35sol_disabler" + projectile_type = /obj/projectile/bullet/c35sol/rubber + harmful = FALSE + + +/obj/projectile/bullet/c35sol/rubber + name = ".35 Sol Short rubber bullet" + damage = 5 + stamina = 20 + wound_bonus = -40 + bare_wound_bonus = -20 + weak_against_armour = TRUE + + // The stats of the ricochet are a nerfed version of detective revolver rubber ammo + // This is due to the fact that there's a lot more rounds fired quickly from weapons that use this, over a revolver + ricochet_auto_aim_angle = 30 + ricochet_auto_aim_range = 5 + ricochets_max = 4 + ricochet_incidence_leeway = 50 + ricochet_chance = 130 + ricochet_decay_damage = 0.8 + shrapnel_type = null + sharpness = NONE + embed_type = null + + +/obj/item/ammo_box/c35sol/rubber + name = "ammo box (.35 Sol Short rubber)" + desc = "A box of .35 Sol Short less-lethal pistol rounds, holds twenty-four rounds. The blue stripe indicates this should hold less-lethal ammunition." + icon_state = "35box_disabler" + ammo_type = /obj/item/ammo_casing/c35sol/rubber + + +// .35 Sol ripper, similar to the detective revolver's dumdum rounds, causes slash wounds and is weak to armor + +/obj/item/ammo_casing/c35sol/ripper + name = ".35 Sol Short ripper bullet casing" + desc = "A SolFed standard ripper pistol round. Causes slashing wounds on targets, but is weak to armor." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "35sol_shrapnel" + projectile_type = /obj/projectile/bullet/c35sol/ripper + + +/obj/projectile/bullet/c35sol/ripper + name = ".35 Sol ripper bullet" + damage = 12 + weak_against_armour = TRUE + sharpness = SHARP_EDGED + ricochets_max = 0 + wound_bonus = 20 + bare_wound_bonus = 20 + embed_type = /datum/embedding/bullet/c35sol/ripper + embed_falloff_tile = -15 + +/datum/embedding/bullet/c35sol/ripper + embed_chance = 75 + fall_chance = 3 + jostle_chance = 4 + ignore_throwspeed_threshold = TRUE + pain_stam_pct = 0.4 + pain_mult = 5 + jostle_pain_mult = 6 + rip_time = 1 SECONDS + +/obj/item/ammo_box/c35sol/ripper + name = "ammo box (.35 Sol Short ripper)" + desc = "A box of .35 Sol Short ripper pistol rounds, holds twenty-four rounds. The orange stripe indicates this should hold hollowpoint-like ammunition." + icon_state = "35box_shrapnel" + ammo_type = /obj/item/ammo_casing/c35sol/ripper + +//.35 sol pierce are the AP rounds for this weapon + +/obj/item/ammo_casing/c35sol/pierce + name = ".35 Sol Short armor piercing bullet casing" + desc = "A SolFed standard armor piercing pistol round. The silver stripe indicates this should hold pierce-like ammunition. Penetrates armor, but is rather weak against un-armored targets." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "35sol_ap" + projectile_type = /obj/projectile/bullet/c35sol/pierce + +/obj/projectile/bullet/c35sol/pierce + name = ".35 Sol Short armor piercing bullet" + damage = 13 + bare_wound_bonus = -30 + armour_penetration = 20 + +/obj/item/ammo_box/c35sol/pierce + name = "ammo box (.35 Sol Short armor piercing)" + desc = "A box of .35 Sol Short armor piercing pistol rounds, holds twenty-four rounds." + icon_state = "35box_ap" + ammo_type = /obj/item/ammo_casing/c35sol/pierce + +/obj/item/ammo_box/magazine/c35sol_pistol + name = "Sol pistol magazine" + desc = "A standard size magazine for SolFed pistols, holds twelve rounds." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "pistol_35_standard" + multiple_sprites = AMMO_BOX_FULL_EMPTY + w_class = WEIGHT_CLASS_TINY + ammo_type = /obj/item/ammo_casing/c35sol + caliber = CALIBER_SOL35SHORT + max_ammo = 12 + +/obj/item/ammo_box/magazine/c35sol_pistol/starts_empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo + name = "Sol extended pistol magazine" + desc = "An extended magazine for SolFed pistols, holds sixteen rounds." + icon_state = "pistol_35_stended" + w_class = WEIGHT_CLASS_NORMAL + max_ammo = 16 + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/starts_empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/c35sol_pistol/rubber + name = "Sol rubber pistol magazine" + desc = "A standard size magazine for SolFed pistols, holds twelve rubber rounds." + icon_state = "pistol_35_standard_disabler" + multiple_sprites = AMMO_BOX_FULL_EMPTY + ammo_type = /obj/item/ammo_casing/c35sol/rubber + +/obj/item/ammo_box/magazine/c35sol_pistol/rubber/starts_empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/rubber + name = "Sol rubber extended pistol magazine" + desc = "An extended magazine for SolFed pistols, holds sixteen rubber rounds." + icon_state = "pistol_35_stended_disabler" + ammo_type = /obj/item/ammo_casing/c35sol/rubber + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/rubber/starts_empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/c35sol_pistol/pierce + name = "Sol AP pistol magazine" + desc = "A standard size magazine for SolFed pistols, holds twelve pierce rounds." + icon_state = "pistol_35_standard_ap" + multiple_sprites = AMMO_BOX_FULL_EMPTY + ammo_type = /obj/item/ammo_casing/c35sol/pierce + +/obj/item/ammo_box/magazine/c35sol_pistol/pierce/starts_empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/pierce + name = "Sol AP extended pistol magazine" + desc = "An extended magazine for SolFed pistols, holds sixteen pierce rounds." + icon_state = "pistol_35_stended_ap" + ammo_type = /obj/item/ammo_casing/c35sol/pierce + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/pierce/starts_empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/c35sol_pistol/ripper + name = "Sol HP pistol magazine" + desc = "A standard size magazine for SolFed pistols, holds twelve ripper rounds." + icon_state = "pistol_35_standard_shrapnel" + multiple_sprites = AMMO_BOX_FULL_EMPTY + ammo_type = /obj/item/ammo_casing/c35sol/ripper + +/obj/item/ammo_box/magazine/c35sol_pistol/ripper/starts_empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/ripper + name = "Sol HP extended pistol magazine" + desc = "An extended magazine for SolFed pistols, holds sixteen ripper rounds." + icon_state = "pistol_35_stended_shrapnel" + ammo_type = /obj/item/ammo_casing/c35sol/ripper + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/ripper/starts_empty + start_empty = TRUE diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm new file mode 100644 index 0000000000000..17f54f4d47e6e --- /dev/null +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm @@ -0,0 +1,142 @@ +/obj/item/gun/ballistic/automatic/pistol/sol + name = "Wespe Pistol" + desc = "The standard issue service pistol of SolFed's various military branches. Uses .35 Sol and comes with an attached light." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ballistic.dmi' + icon_state = "wespe" + fire_sound = 'modular_bandastation/objects/sounds/pistol_light.ogg' + w_class = WEIGHT_CLASS_NORMAL + accepted_magazine_type = /obj/item/ammo_box/magazine/c35sol_pistol + special_mags = TRUE + suppressor_x_offset = 7 + suppressor_y_offset = 0 + fire_delay = 0.3 SECONDS + obj_flags = UNIQUE_RENAME + unique_reskin = list( + "Default" = "wespe", + "Black" = "wespe_black", + ) + + +/obj/item/gun/ballistic/automatic/pistol/sol/add_seclight_point() + AddComponent(/datum/component/seclite_attachable, \ + starting_light = new /obj/item/flashlight/seclite(src), \ + is_light_removable = FALSE, \ + ) + +/obj/item/gun/ballistic/automatic/pistol/sol/examine_more(mob/user) + . = ..() + + . += "The Wespe is a pistol that was made entirely for military use. \ + Required to use a standard round, standard magazines, and be able \ + to function in all of the environments that SolFed operated in \ + commonly. These qualities just so happened to make the weapon \ + popular in frontier space and is likely why you are looking at \ + one now." + + return . + +/obj/item/gun/ballistic/automatic/pistol/sol/no_mag + spawnwithmagazine = FALSE + +/datum/supply_pack/security/wespe_guns + name = "Wespe Pistols Crate" + desc = "Need new handguns? In that case, this crate contains two Wespe handguns with two rubber magazines." + cost = CARGO_CRATE_VALUE * 10 + access_view = ACCESS_SECURITY + contains = list( + /obj/item/gun/ballistic/automatic/pistol/sol/no_mag = 2, + /obj/item/ammo_box/magazine/c35sol_pistol/rubber = 2, + ) + crate_name = "Wespe handguns crate" + +/datum/supply_pack/security/wespe_ammo + name = ".35 Sol Ammo Crate" + desc = "Short on ammo? No worries, this crate contains two .35 Sol rubber non-lethal magazines, two lethal magazines, and respective ammunition packets." + cost = CARGO_CRATE_VALUE * 6 + access_view = ACCESS_SECURITY + contains = list( + /obj/item/ammo_box/magazine/c35sol_pistol = 2, + /obj/item/ammo_box/magazine/c35sol_pistol/rubber = 2, + /obj/item/ammo_box/c35sol = 1, + /obj/item/ammo_box/c35sol/rubber = 1, + ) + crate_name = ".35 Sol ammo crate" + +/datum/supply_pack/security/wespe_ammospecial + name = ".35 Sol Special Ammo Crate" + desc = "Need some special ammunition? No worries, this crate contains two .35 Sol AP magazines, two HP magazines, and respective ammunition packets." + cost = CARGO_CRATE_VALUE * 8 + access_view = ACCESS_SECURITY + contains = list( + /obj/item/ammo_box/magazine/c35sol_pistol/pierce = 2, + /obj/item/ammo_box/magazine/c35sol_pistol/ripper = 2, + /obj/item/ammo_box/c35sol/pierce = 1, + /obj/item/ammo_box/c35sol/ripper = 1, + ) + crate_name = ".35 Sol special ammo crate" + +/datum/supply_pack/security/wespe_mags_extended + name = ".35 Sol Extended Magazines Crate" + desc = "Not enough bullets in mag? No worries, this crate contains two extended .35 Sol magazines." + cost = CARGO_CRATE_VALUE * 4 + access_view = ACCESS_SECURITY + contains = list( + /obj/item/ammo_box/magazine/c35sol_pistol/stendo = 1, + /obj/item/ammo_box/magazine/c35sol_pistol/stendo/rubber = 1, + ) + crate_name = ".35 Sol extended magazines crate" + +/datum/supply_pack/goody/wespe_mags_extended_single + name = ".35 Sol Extended Magazine Crate" + desc = "Not enough bullets in mag? No worries, this crate contains two extended .35 Sol magazines." + cost = CARGO_CRATE_VALUE * 3 + access_view = ACCESS_SECURITY + contains = list( + /obj/item/ammo_box/magazine/c35sol_pistol/stendo/starts_empty = 1, + ) + +/datum/supply_pack/goody/wespe_single + name = "Wespe Pistol Single-Pack" + desc = "Need new handgun? In that case, this crate contains Wespe handgun with a magazine." + cost = CARGO_CRATE_VALUE * 6 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/gun/ballistic/automatic/pistol/sol/no_mag = 1, + /obj/item/ammo_box/magazine/c35sol_pistol/starts_empty = 1, + ) + +/datum/supply_pack/goody/rubber35 + name = ".35 Sol Rubber Ammo Box" + desc = "Need some non-lethal ammo? In that case, this crate contains a box of .35 Sol rubber ammo." + cost = CARGO_CRATE_VALUE * 2 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/ammo_box/c35sol/rubber = 1, + ) + +/datum/supply_pack/goody/ripper35 + name = ".35 Sol HP Ammo Box" + desc = "Need some HP ammo? In that case, this crate contains a box of .35 Sol hollow-point ammo." + cost = CARGO_CRATE_VALUE * 2 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/ammo_box/c35sol/ripper = 1, + ) + +/datum/supply_pack/goody/pierce35 + name = ".35 Sol AP Ammo Box" + desc = "Need some AP ammo? In that case, this crate contains a box of .35 Sol armor-piercing ammo." + cost = CARGO_CRATE_VALUE * 2 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/ammo_box/c35sol/pierce = 1, + ) + +/datum/supply_pack/goody/lethal35 + name = ".35 Sol Ammo Box" + desc = "Need some lethal ammo? In that case, this crate contains a box of .35 Sol lethal ammo." + cost = CARGO_CRATE_VALUE * 2 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/ammo_box/c35sol/pierce = 1, + ) diff --git a/modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi b/modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi new file mode 100644 index 0000000000000000000000000000000000000000..33ba6f5537cd5bc2ef9ce1c584f19242d894708c GIT binary patch literal 3374 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 literal 0 HcmV?d00001 diff --git a/modular_bandastation/objects/icons/obj/weapons/guns/ballistic.dmi b/modular_bandastation/objects/icons/obj/weapons/guns/ballistic.dmi new file mode 100644 index 0000000000000000000000000000000000000000..25a085d0cad35ccb5dec28d8d6bb1c453a921514 GIT binary patch literal 1628 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 G3I7fJDLYmG literal 0 HcmV?d00001 From 3478df2589642243e2d44f7d37a5fc54f1fbb261 Mon Sep 17 00:00:00 2001 From: Ingakem <146962612+Ingakem@users.noreply.github.com> Date: Sat, 1 Feb 2025 01:30:23 +0200 Subject: [PATCH 2/7] small fix --- .../objects/code/items/weapons/ranged/ballistic/wespe.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm index 17f54f4d47e6e..bdc5c8102a713 100644 --- a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm @@ -138,5 +138,5 @@ cost = CARGO_CRATE_VALUE * 2 access_view = ACCESS_WEAPONS contains = list( - /obj/item/ammo_box/c35sol/pierce = 1, + /obj/item/ammo_box/c35sol = 1, ) From 50e4606b33a7c3e15e9dd421b8d42fb8bfd0f7c2 Mon Sep 17 00:00:00 2001 From: Ingakem <146962612+Ingakem@users.noreply.github.com> Date: Sat, 1 Feb 2025 01:49:00 +0200 Subject: [PATCH 3/7] Small fix2 --- .../objects/code/items/weapons/ranged/ballistic/wespe.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm index bdc5c8102a713..97c7940c5dfb5 100644 --- a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm @@ -88,9 +88,9 @@ /datum/supply_pack/goody/wespe_mags_extended_single name = ".35 Sol Extended Magazine Crate" - desc = "Not enough bullets in mag? No worries, this crate contains two extended .35 Sol magazines." + desc = "Not enough bullets in mag? No worries, this crate contains one extended .35 Sol magazine." cost = CARGO_CRATE_VALUE * 3 - access_view = ACCESS_SECURITY + access_view = ACCESS_WEAPONS contains = list( /obj/item/ammo_box/magazine/c35sol_pistol/stendo/starts_empty = 1, ) From c109ad0c0aa2faeb5bc196e911ce76b79a78c0d2 Mon Sep 17 00:00:00 2001 From: Ingakem <146962612+Ingakem@users.noreply.github.com> Date: Sat, 1 Feb 2025 19:58:12 +0200 Subject: [PATCH 4/7] major rework --- modular_bandastation/objects/_objects.dme | 6 +- .../items/weapons/ranged/ballistic/ammo.dm | 201 ------------------ .../weapons/ranged/ballistic/ammo_boxes.dm | 28 +++ .../weapons/ranged/ballistic/ammo_casings.dm | 33 +++ .../weapons/ranged/ballistic/magazines.dm | 64 ++++++ .../weapons/ranged/ballistic/projectiles.dm | 53 +++++ .../weapons/ranged/ballistic/supply_packs.dm | 102 +++++++++ .../items/weapons/ranged/ballistic/wespe.dm | 127 ++--------- .../objects/icons/obj/weapons/guns/ammo.dmi | Bin 3374 -> 2552 bytes .../code/translation_data/ru_names.toml | 117 ++++++++++ 10 files changed, 414 insertions(+), 317 deletions(-) delete mode 100644 modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo.dm create mode 100644 modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo_boxes.dm create mode 100644 modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo_casings.dm create mode 100644 modular_bandastation/objects/code/items/weapons/ranged/ballistic/magazines.dm create mode 100644 modular_bandastation/objects/code/items/weapons/ranged/ballistic/projectiles.dm create mode 100644 modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm diff --git a/modular_bandastation/objects/_objects.dme b/modular_bandastation/objects/_objects.dme index cdb9d423f9d23..f69f163c447f1 100644 --- a/modular_bandastation/objects/_objects.dme +++ b/modular_bandastation/objects/_objects.dme @@ -69,7 +69,11 @@ #include "code/items/weapons/ranged/energy/awaymission_gun.dm" #include "code/items/weapons/ranged/energy/eg_14.dm" #include "code/items/weapons/ranged/ballistic/wespe.dm" -#include "code/items/weapons/ranged/ballistic/ammo.dm" +#include "code/items/weapons/ranged/ballistic/ammo_casings.dm" +#include "code/items/weapons/ranged/ballistic/supply_packs.dm" +#include "code/items/weapons/ranged/ballistic/magazines.dm" +#include "code/items/weapons/ranged/ballistic/projectiles.dm" +#include "code/items/weapons/ranged/ballistic/ammo_boxes.dm" #include "code/machinery/papershredder.dm" #include "code/machinery/photocopier.dm" diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo.dm deleted file mode 100644 index 5b9a01b279973..0000000000000 --- a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo.dm +++ /dev/null @@ -1,201 +0,0 @@ -/obj/item/ammo_casing/c35sol - name = ".35 Sol Short lethal bullet casing" - desc = "A SolFed standard lethal pistol round." - icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' - icon_state = "35sol" - caliber = CALIBER_SOL35SHORT - projectile_type = /obj/projectile/bullet/c35sol - -/obj/projectile/bullet/c35sol - name = ".35 Sol Short bullet" - damage = 15 - wound_bonus = -5 // Normal bullets are 20 - bare_wound_bonus = 5 - embed_falloff_tile = -4 - -/obj/item/ammo_box/c35sol - name = "ammo box (.35 Sol Short lethal)" - desc = "A box of .35 Sol Short lethal pistol rounds, holds twenty-four rounds." - icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' - icon_state = "35box" - multiple_sprites = AMMO_BOX_FULL_EMPTY - w_class = WEIGHT_CLASS_NORMAL - caliber = CALIBER_SOL35SHORT - ammo_type = /obj/item/ammo_casing/c35sol - max_ammo = 24 - -/obj/item/ammo_casing/c35sol/rubber - name = ".35 Sol Short rubber bullet casing" - desc = "A SolFed standard less-lethal pistol round. Exhausts targets on hit, has a tendency to bounce off walls at shallow angles." - icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' - icon_state = "35sol_disabler" - projectile_type = /obj/projectile/bullet/c35sol/rubber - harmful = FALSE - - -/obj/projectile/bullet/c35sol/rubber - name = ".35 Sol Short rubber bullet" - damage = 5 - stamina = 20 - wound_bonus = -40 - bare_wound_bonus = -20 - weak_against_armour = TRUE - - // The stats of the ricochet are a nerfed version of detective revolver rubber ammo - // This is due to the fact that there's a lot more rounds fired quickly from weapons that use this, over a revolver - ricochet_auto_aim_angle = 30 - ricochet_auto_aim_range = 5 - ricochets_max = 4 - ricochet_incidence_leeway = 50 - ricochet_chance = 130 - ricochet_decay_damage = 0.8 - shrapnel_type = null - sharpness = NONE - embed_type = null - - -/obj/item/ammo_box/c35sol/rubber - name = "ammo box (.35 Sol Short rubber)" - desc = "A box of .35 Sol Short less-lethal pistol rounds, holds twenty-four rounds. The blue stripe indicates this should hold less-lethal ammunition." - icon_state = "35box_disabler" - ammo_type = /obj/item/ammo_casing/c35sol/rubber - - -// .35 Sol ripper, similar to the detective revolver's dumdum rounds, causes slash wounds and is weak to armor - -/obj/item/ammo_casing/c35sol/ripper - name = ".35 Sol Short ripper bullet casing" - desc = "A SolFed standard ripper pistol round. Causes slashing wounds on targets, but is weak to armor." - icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' - icon_state = "35sol_shrapnel" - projectile_type = /obj/projectile/bullet/c35sol/ripper - - -/obj/projectile/bullet/c35sol/ripper - name = ".35 Sol ripper bullet" - damage = 12 - weak_against_armour = TRUE - sharpness = SHARP_EDGED - ricochets_max = 0 - wound_bonus = 20 - bare_wound_bonus = 20 - embed_type = /datum/embedding/bullet/c35sol/ripper - embed_falloff_tile = -15 - -/datum/embedding/bullet/c35sol/ripper - embed_chance = 75 - fall_chance = 3 - jostle_chance = 4 - ignore_throwspeed_threshold = TRUE - pain_stam_pct = 0.4 - pain_mult = 5 - jostle_pain_mult = 6 - rip_time = 1 SECONDS - -/obj/item/ammo_box/c35sol/ripper - name = "ammo box (.35 Sol Short ripper)" - desc = "A box of .35 Sol Short ripper pistol rounds, holds twenty-four rounds. The orange stripe indicates this should hold hollowpoint-like ammunition." - icon_state = "35box_shrapnel" - ammo_type = /obj/item/ammo_casing/c35sol/ripper - -//.35 sol pierce are the AP rounds for this weapon - -/obj/item/ammo_casing/c35sol/pierce - name = ".35 Sol Short armor piercing bullet casing" - desc = "A SolFed standard armor piercing pistol round. The silver stripe indicates this should hold pierce-like ammunition. Penetrates armor, but is rather weak against un-armored targets." - icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' - icon_state = "35sol_ap" - projectile_type = /obj/projectile/bullet/c35sol/pierce - -/obj/projectile/bullet/c35sol/pierce - name = ".35 Sol Short armor piercing bullet" - damage = 13 - bare_wound_bonus = -30 - armour_penetration = 20 - -/obj/item/ammo_box/c35sol/pierce - name = "ammo box (.35 Sol Short armor piercing)" - desc = "A box of .35 Sol Short armor piercing pistol rounds, holds twenty-four rounds." - icon_state = "35box_ap" - ammo_type = /obj/item/ammo_casing/c35sol/pierce - -/obj/item/ammo_box/magazine/c35sol_pistol - name = "Sol pistol magazine" - desc = "A standard size magazine for SolFed pistols, holds twelve rounds." - icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' - icon_state = "pistol_35_standard" - multiple_sprites = AMMO_BOX_FULL_EMPTY - w_class = WEIGHT_CLASS_TINY - ammo_type = /obj/item/ammo_casing/c35sol - caliber = CALIBER_SOL35SHORT - max_ammo = 12 - -/obj/item/ammo_box/magazine/c35sol_pistol/starts_empty - start_empty = TRUE - -/obj/item/ammo_box/magazine/c35sol_pistol/stendo - name = "Sol extended pistol magazine" - desc = "An extended magazine for SolFed pistols, holds sixteen rounds." - icon_state = "pistol_35_stended" - w_class = WEIGHT_CLASS_NORMAL - max_ammo = 16 - -/obj/item/ammo_box/magazine/c35sol_pistol/stendo/starts_empty - start_empty = TRUE - -/obj/item/ammo_box/magazine/c35sol_pistol/rubber - name = "Sol rubber pistol magazine" - desc = "A standard size magazine for SolFed pistols, holds twelve rubber rounds." - icon_state = "pistol_35_standard_disabler" - multiple_sprites = AMMO_BOX_FULL_EMPTY - ammo_type = /obj/item/ammo_casing/c35sol/rubber - -/obj/item/ammo_box/magazine/c35sol_pistol/rubber/starts_empty - start_empty = TRUE - -/obj/item/ammo_box/magazine/c35sol_pistol/stendo/rubber - name = "Sol rubber extended pistol magazine" - desc = "An extended magazine for SolFed pistols, holds sixteen rubber rounds." - icon_state = "pistol_35_stended_disabler" - ammo_type = /obj/item/ammo_casing/c35sol/rubber - -/obj/item/ammo_box/magazine/c35sol_pistol/stendo/rubber/starts_empty - start_empty = TRUE - -/obj/item/ammo_box/magazine/c35sol_pistol/pierce - name = "Sol AP pistol magazine" - desc = "A standard size magazine for SolFed pistols, holds twelve pierce rounds." - icon_state = "pistol_35_standard_ap" - multiple_sprites = AMMO_BOX_FULL_EMPTY - ammo_type = /obj/item/ammo_casing/c35sol/pierce - -/obj/item/ammo_box/magazine/c35sol_pistol/pierce/starts_empty - start_empty = TRUE - -/obj/item/ammo_box/magazine/c35sol_pistol/stendo/pierce - name = "Sol AP extended pistol magazine" - desc = "An extended magazine for SolFed pistols, holds sixteen pierce rounds." - icon_state = "pistol_35_stended_ap" - ammo_type = /obj/item/ammo_casing/c35sol/pierce - -/obj/item/ammo_box/magazine/c35sol_pistol/stendo/pierce/starts_empty - start_empty = TRUE - -/obj/item/ammo_box/magazine/c35sol_pistol/ripper - name = "Sol HP pistol magazine" - desc = "A standard size magazine for SolFed pistols, holds twelve ripper rounds." - icon_state = "pistol_35_standard_shrapnel" - multiple_sprites = AMMO_BOX_FULL_EMPTY - ammo_type = /obj/item/ammo_casing/c35sol/ripper - -/obj/item/ammo_box/magazine/c35sol_pistol/ripper/starts_empty - start_empty = TRUE - -/obj/item/ammo_box/magazine/c35sol_pistol/stendo/ripper - name = "Sol HP extended pistol magazine" - desc = "An extended magazine for SolFed pistols, holds sixteen ripper rounds." - icon_state = "pistol_35_stended_shrapnel" - ammo_type = /obj/item/ammo_casing/c35sol/ripper - -/obj/item/ammo_box/magazine/c35sol_pistol/stendo/ripper/starts_empty - start_empty = TRUE diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo_boxes.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo_boxes.dm new file mode 100644 index 0000000000000..13aa23aeede12 --- /dev/null +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo_boxes.dm @@ -0,0 +1,28 @@ +/obj/item/ammo_box/c35sol + name = "ammo box (.35 Sol Short lethal)" + desc = "Коробка со летальными пистолетными патронами калибра .35 Sol Short, вмещает двадцать четыре патрона." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "35box" + multiple_sprites = AMMO_BOX_FULL_EMPTY + w_class = WEIGHT_CLASS_NORMAL + caliber = CALIBER_SOL35SHORT + ammo_type = /obj/item/ammo_casing/c35sol + max_ammo = 24 + +/obj/item/ammo_box/c35sol/rubber + name = "ammo box (.35 Sol Short rubber)" + desc = "Коробка с нелетальными пистолетными патронами калибра .35 Sol Short, вмещает двадцать четыре патрона. Синяя полоска указывает на то, что здесь должны храниться нелетальные боеприпасы." + icon_state = "35box_disabler" + ammo_type = /obj/item/ammo_casing/c35sol/rubber + +/obj/item/ammo_box/c35sol/ripper + name = "ammo box (.35 Sol Short ripper)" + desc = "Коробка с экспансивными пистолетными патронами калибра .35 Sol Short, вмещает двадцать четыре патрона. Оранжевая полоска указывает на то, что в ней должны храниться экспансивные боеприпасы." + icon_state = "35box_shrapnel" + ammo_type = /obj/item/ammo_casing/c35sol/ripper + +/obj/item/ammo_box/c35sol/ap + name = "ammo box (.35 Sol Short armor piercing)" + desc = "Коробка с бронебойными пистолетными патронами калибра .35 Sol Short, вмещает двадцать четыре патрона. Серебрянная полоска указывает на то, что в ней должны храниться бронебойные боеприпасы." + icon_state = "35box_ap" + ammo_type = /obj/item/ammo_casing/c35sol/ap diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo_casings.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo_casings.dm new file mode 100644 index 0000000000000..d94109a944da8 --- /dev/null +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/ammo_casings.dm @@ -0,0 +1,33 @@ +/obj/item/ammo_casing/c35sol + name = ".35 Sol Short lethal bullet casing" + desc = "Стандартный летальный пистолетный патрон ТСФ калибра .35 Sol Short." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "35sol" + caliber = CALIBER_SOL35SHORT + projectile_type = /obj/projectile/bullet/c35sol + +/obj/item/ammo_casing/c35sol/rubber + name = ".35 Sol Short rubber bullet casing" + desc = "Стандартный резиновый пистолетный патрон ТСФ калибра .35 Sol Short с пониженной летальностью. Изнуряет цель при попадании, имеет тенденцию отскакивать от стен под небольшим углом." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "35sol_disabler" + projectile_type = /obj/projectile/bullet/c35sol/rubber + harmful = FALSE + +// .35 Sol ripper, similar to the detective revolver's dumdum rounds, causes slash wounds and is weak to armor + +/obj/item/ammo_casing/c35sol/ripper + name = ".35 Sol Short ripper bullet casing" + desc = "Стандартный экспансивный пистолетный патрон ТСФ калибра .35 Sol Short. Наносит целям режущие раны, но слаб против брони." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "35sol_shrapnel" + projectile_type = /obj/projectile/bullet/c35sol/ripper + +//.35 sol armor piercing are the AP rounds for this weapon + +/obj/item/ammo_casing/c35sol/ap + name = ".35 Sol Short armor piercing bullet casing" + desc = "Стандартный бронебойный пистолетный патрон ТСФ калибра .35 Sol Short. Пробивает броню, но довольно слаб против небронированных целей." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "35sol_ap" + projectile_type = /obj/projectile/bullet/c35sol/ap diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/magazines.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/magazines.dm new file mode 100644 index 0000000000000..fc38215240d02 --- /dev/null +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/magazines.dm @@ -0,0 +1,64 @@ +/obj/item/ammo_box/magazine/c35sol_pistol + name = "Sol pistol magazine" + desc = "Магазин стандартного размера для пистолетов ТСФ калибра .35 Sol Short, вмещает двенадцать патронов." + icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi' + icon_state = "pistol_35_standard" + base_icon_state = "pistol_35_standard" + w_class = WEIGHT_CLASS_TINY + ammo_type = /obj/item/ammo_casing/c35sol + caliber = CALIBER_SOL35SHORT + max_ammo = 12 + ammo_band_icon = "+35_ammo_band" + ammo_band_color = null + multiple_sprites = AMMO_BOX_FULL_EMPTY + multiple_sprite_use_base = TRUE + +/obj/item/ammo_box/magazine/c35sol_pistol/starts_empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo + name = "Sol extended pistol magazine" + desc = "Увеличенный магазин для пистолетов ТСФ калибра .35 Sol Short, вмещает шестнадцать патронов." + icon_state = "pistol_35_stended" + base_icon_state = "pistol_35_stended" + w_class = WEIGHT_CLASS_NORMAL + max_ammo = 16 + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/starts_empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/c35sol_pistol/rubber + name = "Sol rubber pistol magazine" + desc = "Магазин стандартного размера для пистолетов ТСФ калибра .35 Sol Short, вмещает двенадцать резиновых патронов." + ammo_band_color = COLOR_AMMO_RUBBER + ammo_type = /obj/item/ammo_casing/c35sol/rubber + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/rubber + name = "Sol rubber extended pistol magazine" + desc = "Увеличенный магазин для пистолетов ТСФ калибра .35 Sol Short, вмещает шестнадцать резиновых патронов." + ammo_band_color = COLOR_AMMO_RUBBER + ammo_type = /obj/item/ammo_casing/c35sol/rubber + +/obj/item/ammo_box/magazine/c35sol_pistol/ap + name = "Sol AP pistol magazine" + desc = "Магазин стандартного размера для пистолетов ТСФ калибра .35 Sol Short, вмещает двенадцать бронебойных патронов." + MAGAZINE_TYPE_ARMORPIERCE + ammo_type = /obj/item/ammo_casing/c35sol/ap + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/ap + name = "Sol AP extended pistol magazine" + desc = "Увеличенный магазин для пистолетов ТСФ калибра .35 Sol Short, вмещает шестнадцать бронебойных патронов." + MAGAZINE_TYPE_ARMORPIERCE + ammo_type = /obj/item/ammo_casing/c35sol/ap + +/obj/item/ammo_box/magazine/c35sol_pistol/ripper + name = "Sol HP pistol magazine" + desc = "Магазин стандартного размера для пистолетов ТСФ калибра .35 Sol Short, вмещает двенадцать экспансивных патронов." + MAGAZINE_TYPE_HOLLOWPOINT + ammo_type = /obj/item/ammo_casing/c35sol/ripper + +/obj/item/ammo_box/magazine/c35sol_pistol/stendo/ripper + name = "Sol HP extended pistol magazine" + desc = "Увеличенный магазин для пистолетов ТСФ калибра .35 Sol Short, вмещающий шестнадцать экспансивных патронов." + MAGAZINE_TYPE_HOLLOWPOINT + ammo_type = /obj/item/ammo_casing/c35sol/ripper diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/projectiles.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/projectiles.dm new file mode 100644 index 0000000000000..8799aef8b34ec --- /dev/null +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/projectiles.dm @@ -0,0 +1,53 @@ +/obj/projectile/bullet/c35sol + name = ".35 Sol Short bullet" + damage = 15 + wound_bonus = -5 // Normal bullets are 20 + bare_wound_bonus = 5 + embed_falloff_tile = -4 + +/obj/projectile/bullet/c35sol/rubber + name = ".35 Sol Short rubber bullet" + damage = 5 + stamina = 20 + wound_bonus = -40 + bare_wound_bonus = -20 + weak_against_armour = TRUE + + // The stats of the ricochet are a nerfed version of detective revolver rubber ammo + // This is due to the fact that there's a lot more rounds fired quickly from weapons that use this, over a revolver + ricochet_auto_aim_angle = 30 + ricochet_auto_aim_range = 5 + ricochets_max = 4 + ricochet_incidence_leeway = 50 + ricochet_chance = 130 + ricochet_decay_damage = 0.8 + shrapnel_type = null + sharpness = NONE + embed_type = null + +/obj/projectile/bullet/c35sol/ripper + name = ".35 Sol ripper bullet" + damage = 12 + weak_against_armour = TRUE + sharpness = SHARP_EDGED + ricochets_max = 0 + wound_bonus = 20 + bare_wound_bonus = 20 + embed_type = /datum/embedding/bullet/c35sol/ripper + embed_falloff_tile = -15 + +/datum/embedding/bullet/c35sol/ripper + embed_chance = 75 + fall_chance = 3 + jostle_chance = 4 + ignore_throwspeed_threshold = TRUE + pain_stam_pct = 0.4 + pain_mult = 5 + jostle_pain_mult = 6 + rip_time = 1 SECONDS + +/obj/projectile/bullet/c35sol/ap + name = ".35 Sol Short armor piercing bullet" + damage = 13 + bare_wound_bonus = -30 + armour_penetration = 20 diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm new file mode 100644 index 0000000000000..4d2427861a8bc --- /dev/null +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm @@ -0,0 +1,102 @@ +/datum/supply_pack/security/wespe_guns + name = "Wespe Pistols Crate" + desc = "Вам нужны новые пистолеты? В таком случае в этом ящике находятся два пистолета Wespe с двумя резиновыми магазинами." + cost = CARGO_CRATE_VALUE * 10 + access_view = ACCESS_SECURITY + contains = list( + /obj/item/gun/ballistic/automatic/pistol/wespe/no_mag = 2, + /obj/item/ammo_box/magazine/c35sol_pistol/rubber = 2, + ) + crate_name = "Wespe handguns crate" + +/datum/supply_pack/security/wespe_ammo + name = ".35 Sol Ammo Crate" + desc = "Не хватает патронов? Не беспокойтесь, в этом ящике вы найдете два нелетальных магазина и два летальных магазина калибра .35 Sol, и соответствующие коробки с боеприпасами." + cost = CARGO_CRATE_VALUE * 6 + access_view = ACCESS_SECURITY + contains = list( + /obj/item/ammo_box/magazine/c35sol_pistol = 2, + /obj/item/ammo_box/magazine/c35sol_pistol/rubber = 2, + /obj/item/ammo_box/c35sol = 1, + /obj/item/ammo_box/c35sol/rubber = 1, + ) + crate_name = ".35 Sol ammo crate" + +/datum/supply_pack/security/wespe_ammospecial + name = ".35 Sol Special Ammo Crate" + desc = "Нужны особые боеприпасы? Не беспокойтесь, в этом ящике вы найдете два бронебойных магазина и два экспансивных магазина калибра .35 Sol, и соответствующие коробки с боеприпасами." + cost = CARGO_CRATE_VALUE * 8 + access_view = ACCESS_SECURITY + contains = list( + /obj/item/ammo_box/magazine/c35sol_pistol/ap = 2, + /obj/item/ammo_box/magazine/c35sol_pistol/ripper = 2, + /obj/item/ammo_box/c35sol/ap = 1, + /obj/item/ammo_box/c35sol/ripper = 1, + ) + crate_name = ".35 Sol special ammo crate" + +/datum/supply_pack/security/wespe_mags_extended + name = ".35 Sol Extended Magazines Crate" + desc = "Не хватает патронов в магазине? Не беспокойтесь, в этом ящике находятся два увеличенных магазина калибра .35 Sol." + cost = CARGO_CRATE_VALUE * 4 + access_view = ACCESS_SECURITY + contains = list( + /obj/item/ammo_box/magazine/c35sol_pistol/stendo = 1, + /obj/item/ammo_box/magazine/c35sol_pistol/stendo/rubber = 1, + ) + crate_name = ".35 Sol extended magazines crate" + +/datum/supply_pack/goody/wespe_mags_extended_single + name = ".35 Sol Extended Magazine Crate" + desc = "Не хватает патронов в магазине? Не беспокойтесь, в этом ящике находится один увеличенный магазин .35 Sol." + cost = CARGO_CRATE_VALUE * 3 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/ammo_box/magazine/c35sol_pistol/stendo/starts_empty = 1, + ) + +/datum/supply_pack/goody/wespe_single + name = "Wespe Pistol Single-Pack" + desc = "Вам нужен новый пистолет? В таком случае, в этом ящике вы найдете себе один пистолет Wespe с магазином." + cost = CARGO_CRATE_VALUE * 6 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/gun/ballistic/automatic/pistol/wespe/no_mag = 1, + /obj/item/ammo_box/magazine/c35sol_pistol/starts_empty = 1, + ) + +/datum/supply_pack/goody/rubber35 + name = ".35 Sol Rubber Ammo Box" + desc = "Нужны нелетальные патроны? В таком случае, в этом ящике находится коробка резиновых патронов калибра .35 Sol." + cost = CARGO_CRATE_VALUE * 2 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/ammo_box/c35sol/rubber = 1, + ) + +/datum/supply_pack/goody/ripper35 + name = ".35 Sol HP Ammo Box" + desc = "Нужны экспансивные патроны? В таком случае, в этом ящике находится коробка с экспансивными патронами .35 Sol." + cost = CARGO_CRATE_VALUE * 2 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/ammo_box/c35sol/ripper = 1, + ) + +/datum/supply_pack/goody/ap35 + name = ".35 Sol AP Ammo Box" + desc = "Нужны бронебойные патроны? В таком случае, в этом ящике находится коробка с бронебойными патронами калибра .35 Sol." + cost = CARGO_CRATE_VALUE * 2 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/ammo_box/c35sol/ap = 1, + ) + +/datum/supply_pack/goody/lethal35 + name = ".35 Sol Ammo Box" + desc = "Нужны летальные патроны? В таком случае, в этом ящике находится коробка с летальными патронами калибра .35 Sol." + cost = CARGO_CRATE_VALUE * 2 + access_view = ACCESS_WEAPONS + contains = list( + /obj/item/ammo_box/c35sol = 1, + ) diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm index 97c7940c5dfb5..12552dcd69fe8 100644 --- a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/wespe.dm @@ -1,6 +1,6 @@ -/obj/item/gun/ballistic/automatic/pistol/sol - name = "Wespe Pistol" - desc = "The standard issue service pistol of SolFed's various military branches. Uses .35 Sol and comes with an attached light." +/obj/item/gun/ballistic/automatic/pistol/wespe + name = "'Wespe' pistol" + desc = "Стандартный служебный пистолет различных военных подразделений ТСФ. Использует патрон .35 Sol Short имеет встроенный фонарик." icon = 'modular_bandastation/objects/icons/obj/weapons/guns/ballistic.dmi' icon_state = "wespe" fire_sound = 'modular_bandastation/objects/sounds/pistol_light.ogg' @@ -17,126 +17,23 @@ ) -/obj/item/gun/ballistic/automatic/pistol/sol/add_seclight_point() +/obj/item/gun/ballistic/automatic/pistol/wespe/add_seclight_point() AddComponent(/datum/component/seclite_attachable, \ starting_light = new /obj/item/flashlight/seclite(src), \ is_light_removable = FALSE, \ ) -/obj/item/gun/ballistic/automatic/pistol/sol/examine_more(mob/user) +/obj/item/gun/ballistic/automatic/pistol/wespe/examine_more(mob/user) . = ..() - . += "The Wespe is a pistol that was made entirely for military use. \ - Required to use a standard round, standard magazines, and be able \ - to function in all of the environments that SolFed operated in \ - commonly. These qualities just so happened to make the weapon \ - popular in frontier space and is likely why you are looking at \ - one now." + . += "'Оса' - пистолет, созданный исключительно для военных целей. \ + Он должен был использовать стандартные патроны, стандартные магазины и быть способным \ + функционировать во всех условиях, в которых обычно работает ТСФ. \ + Так получилось, что эти качества сделали это оружие популярным \ + в пограничном пространстве, и, скорее всего, именно поэтому вы сейчас смотрите на \ + этот пистолет. Данный экземпляр является модификацией компании Etamin Industries." return . -/obj/item/gun/ballistic/automatic/pistol/sol/no_mag +/obj/item/gun/ballistic/automatic/pistol/wespe/no_mag spawnwithmagazine = FALSE - -/datum/supply_pack/security/wespe_guns - name = "Wespe Pistols Crate" - desc = "Need new handguns? In that case, this crate contains two Wespe handguns with two rubber magazines." - cost = CARGO_CRATE_VALUE * 10 - access_view = ACCESS_SECURITY - contains = list( - /obj/item/gun/ballistic/automatic/pistol/sol/no_mag = 2, - /obj/item/ammo_box/magazine/c35sol_pistol/rubber = 2, - ) - crate_name = "Wespe handguns crate" - -/datum/supply_pack/security/wespe_ammo - name = ".35 Sol Ammo Crate" - desc = "Short on ammo? No worries, this crate contains two .35 Sol rubber non-lethal magazines, two lethal magazines, and respective ammunition packets." - cost = CARGO_CRATE_VALUE * 6 - access_view = ACCESS_SECURITY - contains = list( - /obj/item/ammo_box/magazine/c35sol_pistol = 2, - /obj/item/ammo_box/magazine/c35sol_pistol/rubber = 2, - /obj/item/ammo_box/c35sol = 1, - /obj/item/ammo_box/c35sol/rubber = 1, - ) - crate_name = ".35 Sol ammo crate" - -/datum/supply_pack/security/wespe_ammospecial - name = ".35 Sol Special Ammo Crate" - desc = "Need some special ammunition? No worries, this crate contains two .35 Sol AP magazines, two HP magazines, and respective ammunition packets." - cost = CARGO_CRATE_VALUE * 8 - access_view = ACCESS_SECURITY - contains = list( - /obj/item/ammo_box/magazine/c35sol_pistol/pierce = 2, - /obj/item/ammo_box/magazine/c35sol_pistol/ripper = 2, - /obj/item/ammo_box/c35sol/pierce = 1, - /obj/item/ammo_box/c35sol/ripper = 1, - ) - crate_name = ".35 Sol special ammo crate" - -/datum/supply_pack/security/wespe_mags_extended - name = ".35 Sol Extended Magazines Crate" - desc = "Not enough bullets in mag? No worries, this crate contains two extended .35 Sol magazines." - cost = CARGO_CRATE_VALUE * 4 - access_view = ACCESS_SECURITY - contains = list( - /obj/item/ammo_box/magazine/c35sol_pistol/stendo = 1, - /obj/item/ammo_box/magazine/c35sol_pistol/stendo/rubber = 1, - ) - crate_name = ".35 Sol extended magazines crate" - -/datum/supply_pack/goody/wespe_mags_extended_single - name = ".35 Sol Extended Magazine Crate" - desc = "Not enough bullets in mag? No worries, this crate contains one extended .35 Sol magazine." - cost = CARGO_CRATE_VALUE * 3 - access_view = ACCESS_WEAPONS - contains = list( - /obj/item/ammo_box/magazine/c35sol_pistol/stendo/starts_empty = 1, - ) - -/datum/supply_pack/goody/wespe_single - name = "Wespe Pistol Single-Pack" - desc = "Need new handgun? In that case, this crate contains Wespe handgun with a magazine." - cost = CARGO_CRATE_VALUE * 6 - access_view = ACCESS_WEAPONS - contains = list( - /obj/item/gun/ballistic/automatic/pistol/sol/no_mag = 1, - /obj/item/ammo_box/magazine/c35sol_pistol/starts_empty = 1, - ) - -/datum/supply_pack/goody/rubber35 - name = ".35 Sol Rubber Ammo Box" - desc = "Need some non-lethal ammo? In that case, this crate contains a box of .35 Sol rubber ammo." - cost = CARGO_CRATE_VALUE * 2 - access_view = ACCESS_WEAPONS - contains = list( - /obj/item/ammo_box/c35sol/rubber = 1, - ) - -/datum/supply_pack/goody/ripper35 - name = ".35 Sol HP Ammo Box" - desc = "Need some HP ammo? In that case, this crate contains a box of .35 Sol hollow-point ammo." - cost = CARGO_CRATE_VALUE * 2 - access_view = ACCESS_WEAPONS - contains = list( - /obj/item/ammo_box/c35sol/ripper = 1, - ) - -/datum/supply_pack/goody/pierce35 - name = ".35 Sol AP Ammo Box" - desc = "Need some AP ammo? In that case, this crate contains a box of .35 Sol armor-piercing ammo." - cost = CARGO_CRATE_VALUE * 2 - access_view = ACCESS_WEAPONS - contains = list( - /obj/item/ammo_box/c35sol/pierce = 1, - ) - -/datum/supply_pack/goody/lethal35 - name = ".35 Sol Ammo Box" - desc = "Need some lethal ammo? In that case, this crate contains a box of .35 Sol lethal ammo." - cost = CARGO_CRATE_VALUE * 2 - access_view = ACCESS_WEAPONS - contains = list( - /obj/item/ammo_box/c35sol = 1, - ) diff --git a/modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi b/modular_bandastation/objects/icons/obj/weapons/guns/ammo.dmi index 33ba6f5537cd5bc2ef9ce1c584f19242d894708c..bd93ed5621b93d23dda7a2de9e1f589bb6ea24ee 100644 GIT binary patch literal 2552 zcmYjR3pms3AODqUnq0=oq%orAr0BTJB{5DN%B|$+#`x!YC=<&jZPOH~kR%;uaY}M9 zb=XlZTa#QGxty3w4AD4CCN^d>|2dcE^ghq~{eIr>^L>Ax@B8^Y&oBL`x0@P74*~#y z+F|#Dz5uWxSh3M6N{R|Y+uvQ0>W+H)9a3Z)Tc2^g@uLYpCO|p z&EK=s%hNPUC~9lz0A(ZK4*%QMC~-B< z6_iYze&7H5^~&y{y4}67GiSIWDY?>%vZWYpndB;d*4`NRF>6~BHco9zha>XgHwu{* zOZL$^ztaDEOV&sXpURt#1ns|1B!xsoxZ!{>8Wt1uTgo7x@09##p&EhimAud}oRNJ3 z-^P(XE4e#3OE-K|)CqXskSlY80c5jEOpW%YZ=8}d{^!+{muG-(l9U~mZ(eL$$jOmu zPiON>k@Lvzhh5;mnE_y6w@=+YAPMpouilJF;(2*VZrP!Rl=l1#oIHEJ;*v# zvQRx&gd;7@AoSYR!)e%{Af$<^=>hWE&tcA|(59?DYjT{VOqvx8D(&pT#8zYFU$$Nr zmQER-LeEH~sBv@*Xo|)n2SYyvf0T5I_jcV;1`(V%Wb<5$5%Ry20D$S$PXfGxt4crT zE%^e0u>56e{ATEeEJp-8y|_Vy@9JWv^hyS~b4U0QK`gVv2Sibbsq@7(=&i9DNxL%3 z(V9F3@eX8BiK}!RNi3@Wr#TP9GW(h*+3gCBctI?)V4TkgFW-47!iOz$poA<{_4K%p z=KEW+QpcuObC@<2ktBU~wiHRkh78J{Dr#nz0Pd5yFu)C3p@^-}ip)?&)an2-A7zf+ zS6r!Yz>%IXZ4&?wULeN7`6O@qf#jR4`bHMhR<2@1#3#hLZo_&-j6r^cGyW0oKRZ+m4>Zo2bqcsun4PNV*t1{xB3@WhDB?`6 z!ZDXWmG?@@kjSkHznm!Ad?bu|N&fyQ>GJ~YuLjary^FFJCH(c@*53SY=WXYG;hhxC26r#9($g?5M^qsyy6U4Vm_U9K-texoZtA9&!hvcA4{MXqFe_zV zZtN4VT2$0=!Zy}m!^`Z55CRCi#%9Z&L*bh6TN-hT{YZBf_^i@KxO7v|AkA*AQ<#B| zpCJ6B*?-BsDU)Saz3GDT%e~~VA*|2C9`OnArm|x!0Z*^Oz|(U=mcTiK82GL)YZRu^ zH@Ct`6N#^2!JeYh+Qf{NDRdH6egVh)wrkN(CEeS}8W{5jREvDnqPU@%3*IVPFM)j7GWINwD%1+b_Du&apk-(UcsMb$-_ z8|i_N;h|4C&-Avxdw$yL&gcs`LDTX0nZ3{kn{b^9*cPA6uI1H1>|2l-2hf?6+{M_I+<_@PI~(dWfhP z$;u6BBspTvBkt3FyvFCL)o66G1Xy~Lh$9!X6)%-Xtv-dyT(;Xpb-k54>@U!mU{GrJ zt3oXt8Snv%?xJD`pjq#a24Zz{S#z}n`(xTE`F_#nBC%OYpm*Q9qQ`yt<$AL>`7Yg_UW@?f zy2K|y*mFUSR;vA+-dF0bVW5K9et`l_DB2=&iVmZN)`kSi*fx5R&x4Lv`d2v=XEI6y zubDOs^Vu00-g>cS4D*shgqcnEL#-1v9Sifju2%UA3yldY zh6B9ODLE7UTGizZ#5dEhnrL+L6#ES{pmf#p5Cr8Bf7Oz5*Vz4l$~v^7Gq@h5W)|i#B>NMI)wsG|9+PmZXu*bJuFr-=gM#cS zM1{zt_SUV|^^;aG$NJDo2rbak*CX#1ieW*M9P(&A#%O8$%jST-NDTlmY-a6))OC2y SUkhFL{O}>~gLKzm%KrhOA>3*J literal 3374 zcmYjS4LFnQ8-KT9qLIo+l<9Q(OF3~)4kwOHr;sBo7d9*i(zyUZJ4nco6Y}CSO4q0*Y&*j^Ly^+ey;nzfA{@7X*f?;l$Nm; z001brg9p3;0LFm^T@wMVXz99|K%yCU$k!Q?Zm!4D(+i(H{rg8djG#_U&Vhfs%>rh1 z2K7sZmV0?h>Sf%KV?v?O*3N0iZd)%e@2IGV27=*>-_1tJT5s=Z?bu;EIXO8$KVMi_ z$Y3y9Z)=TE);-SDVO-WNOGT}u0jY4H5)SwQK&Xy(DgdPEXh$2a&oEpcv&G>07K5~P z+8LYHUpF;Jx%;strhg@6N!rxi=U%Uz0!7Q9eg%8fETbkWY9VA?!pyI9w4`f*V}Q zaN1~&jGlVUK>iW^GcPV;jDC2ug7e$i)8MW$$IU2~P4}npwWyZ&vN{CM?0T~1#D_(H zdHPO5Iy(MVfVwpJ7jyLKf7;s*!m=Z60_?3S)6+0+FGuWVP7j5db$nlyKhWosdR2fN zuf5`BbFDEn<)ZH1YwT}OEt<+*Y3I|lZj`vfad!L*i5@Y18#j`~8RU{ndxp1~+_cdR zG>#+|cLx4Cgui=V1_pf}P<%c}mRv(Ib`0O0ba`4-)UUg{f2=->piPBpgzI)-pYORl z)5BD}ahvgrF$?GJ_uub5l4pByxu@qp_wK!QG3mV{Td95hy2QGoa~)bz7{<;?S-hZc znn?U_@Nsn8UWge0FcSxtOAF+`j~3eV>+SC$KM|zK!#_F}llnz6McrHe$iTqT*yV!Q zj)-_9YE0ukOLY`JG(3Duhn6Q~j(yjMrH*UdZ&c;M?T-=qGT$z-}Z3sm2JyKS6j2wx%x+EM9GUyw&F zsB8u90}5V+RUMZ%hm{dCYv0yCjt&%F;qnhP!_`jQ4S~UJ26@KvqGZI+?_}6 ze9ONGFbeV34dgyz7(*>!9(>EE0sUv)k7GbO3;Zq^6u@#vFiLcx14?SHtdQpn88 zgcOHY6%>24TsZe)0rr0{%}QrDmpRn42!`}`Nc%5tVpJ=Za2d3pX}baq?T0;o4? z4DV!-)8!VoW#D1#_IZ_^!2H9=ii`5%kb-a9%&u$Lp-|O(Fu@Gq;S7~0k-q@?5jgA$ z{hSI+P|HnPF_A`mKv>VKTBn2^$j}*O+HG!55>2S!r&lvYz~wYHVzcd>PTW_YXd4r# z`7DaqmR?UMKost5V3!y2yAL$O`lSUF%6=1RP%ewzG1iCCmTLHNyT*o&-kehi@3))M zOuF&Wl8*TaXXFmij2>48!>l;_4SRmJ%(uhAEgL9fBu*4U$Nqw6G+i4P1kUcq`KM3| zj))NtBr5yTIb`UVGQn?Lms1NJ_`@XgB20PfQYly)FY$+e^^Xn=Q$Xf&_-*-Pxd5sF z6CuN^s)Sv|mJhiIm|HnF@U%KE)J4~;X)KViGU{}c-=tJpw$@twQNRYP*UX0E1Nbau zKFkt@8^&|{ax_kisLDjJQ%okN5g!an_T!`jP{EArI*C8aGF>O-fbu;gIfIol4z%DS zI^Qq7Qa*xU2y>Wo+rBymUFZ69DtqxVSs?d&F5~Kl@DGts9hsI^wPWjRr{qxr!%zrJ zih39P^WN~wrC@UkLwKvZf!2yhp12U_tJ;y7g6`71Sz0l?vV|Cb4XW z$Y^HYW`R`;^2F6H`}}Zy{fetTnoCXenhWbFU4GaE(VrjE+{MouKi=GJnt~w2I#a@8 z76znVcakzp zq6%s`b6>>}pEFu9M74z2oIhhl3HJdFtFW^|bR+eY5}yfK8EtVz#J$>Z@bsv7GGXdX zzWj}O)?ZlT@{rJfa;}%PgfSaUnpdp-z`#7Cuvf&UqwGf!!7CEYLyk@2IeyL8 z;J-+kg>?D%I&QspSCRkcJc0yfGv!ySkp{COhvEhKYdiY$oEQ1KR&(lLNEF3nXNFJz zSl7ibFT~cwcDu)OGF%JBwPT7vFGp&L$$>U*zsM5rtAOZS+E5^}el!%+jI3y8-%4Jf ze`Y0G_b-T#Rlr*Xn1B0|J-MI|S6XG&y@%NIm;e2|u7eJu4Dzu+)lJviLhNKIL!nrn zIw|HK?84_hp*~s>lr>Yr2`gWjY-vgRA5c6yZ#XF6O;{c3%k-p{&xnG; z)b2s3$@xDMRyO_k7HEHCIlPmsn|lYGJ)d+YunQlMObwb&7ZDl3OUl@~QV{iT&t7IF zt1t=5o=Szu=PJfD918~H1uB;WrT({hR;HWh4PCBn81|?(oUY!Ks}OoCGsP;56v~3? zSANr<1Y-K5w)iP!LZw>iyy0IHA|IK5b@zyYi0GclIY(Pq(k_FwD|QuJxmqnXivI>? zO${6FyG)b#8>b-w*v*gT=k!>5faI}I49#D#=tvW@^8eP z4SMqELiZA&oU^UJEthDCvDf2mT>vn4_DnzRFI?s4r z;GBxp#>8sJ<%Q&qh0}T^&(@08KA5|ij|M4cX9qNU^P}Hs{3PyZk$l`VqJtw7A}>i> z0Dkj)&Nz%s6Q$+|m^uKc)S;o;hh^b4FvKaBi93cc0RVn@s%rsTvo%_j8l>do!g?)GUZ z1$RqE5FLvEe@JgMY~3i&0p2;IJ$zK5sP?MVMBFL#9y9R#GPxc|t7Bm*EndbYx}Wp* z$r_t7fU7~pOw%IIWry^R{OJg{9BSZ(;GbxB1$PqmCP~U8MLR#2gfIx!QwF9Temz1&SER?`Mr7?z3mXO zFwA7sPFgFf;-?It>jH3P(u>hAwa^cv_4@1_dS;;yWk(>td(W(8;JYz54@o%; dpj}-?FGNjEwEr<#`1z7>bM`z?{Yz--{{SCb!8QN@ diff --git a/modular_bandastation/translations/code/translation_data/ru_names.toml b/modular_bandastation/translations/code/translation_data/ru_names.toml index 57fbcaf6589ee..4157aa9f2c3bd 100644 --- a/modular_bandastation/translations/code/translation_data/ru_names.toml +++ b/modular_bandastation/translations/code/translation_data/ru_names.toml @@ -3588,6 +3588,15 @@ instrumental = "реактивным пистолетом" prepositional = "реактивном пистолете" gender = "male" +["'Wespe' pistol"] +nominative = "пистолет 'Оса'" +genitive = "пистолета 'Оса'" +dative = "пистолету 'Оса'" +accusative = "пистолет 'Оса'" +instrumental = "пистолетом 'Оса'" +prepositional = "пистолете 'Оса'" +gender = "male" + # MARK: Projectiles ["kiss"] nominative = "поцелуй" @@ -3994,6 +4003,114 @@ instrumental = "специализированным магазином (.75)" prepositional = "специализированном магазине (.75)" gender = "male" +["Sol pistol magazine"] +nominative = "стандартный магазин (.35 Sol Short)" +genitive = "стандартного магазина (.35 Sol Short)" +dative = "стандартному магазину (.35 Sol Short)" +accusative = "стандартный магазин (.35 Sol Short)" +instrumental = "стандартным магазином (.35 Sol Short)" +prepositional = "стандартном магазине (.35 Sol Short)" +gender = "male" + +["Sol extended pistol magazine"] +nominative = "увеличенный магазин (.35 Sol Short)" +genitive = "увеличенного магазина (.35 Sol Short)" +dative = "увеличенному магазину (.35 Sol Short)" +accusative = "увеличенный магазин (.35 Sol Short)" +instrumental = "увеличенным магазином (.35 Sol Short)" +prepositional = "увеличенном магазине (.35 Sol Short)" +gender = "male" + +["Sol rubber pistol magazine"] +nominative = "стандартный магазин (.35 Sol Short резина)" +genitive = "стандартного магазина (.35 Sol Short резина)" +dative = "стандартному магазину (.35 Sol Short резина)" +accusative = "стандартный магазин (.35 Sol Short резина)" +instrumental = "стандартным магазином (.35 Sol Short резина)" +prepositional = "стандартном магазине (.35 Sol Short резина)" +gender = "male" + +["Sol rubber extended pistol magazine"] +nominative = "увеличенный магазин (.35 Sol Short резина)" +genitive = "увеличенного магазина (.35 Sol Short резина)" +dative = "увеличенному магазину (.35 Sol Short резина)" +accusative = "увеличенный магазин (.35 Sol Short резина)" +instrumental = "увеличенным магазином (.35 Sol Short резина)" +prepositional = "увеличенном магазине (.35 Sol Short резина)" +gender = "male" + +["Sol AP pistol magazine"] +nominative = "стандартный магазин (.35 Sol Short бронебойные)" +genitive = "стандартного магазина (.35 Sol Short бронебойные)" +dative = "стандартному магазину (.35 Sol Short бронебойные)" +accusative = "стандартный магазин (.35 Sol Short бронебойные)" +instrumental = "стандартным магазином (.35 Sol Short бронебойные)" +prepositional = "стандартном магазине (.35 Sol Short бронебойные)" +gender = "male" + +["Sol AP extended pistol magazine"] +nominative = "увеличенный магазин (.35 Sol Short бронебойные)" +genitive = "увеличенного магазина (.35 Sol Short бронебойные)" +dative = "увеличенному магазину (.35 Sol Short бронебойные)" +accusative = "увеличенный магазин (.35 Sol Short бронебойные)" +instrumental = "увеличенным магазином (.35 Sol Short бронебойные)" +prepositional = "увеличенном магазине (.35 Sol Short бронебойные)" +gender = "male" + +["Sol HP pistol magazine"] +nominative = "стандартный магазин (.35 Sol Short экспансивные)" +genitive = "стандартного магазина (.35 Sol Short экспансивные)" +dative = "стандартному магазину (.35 Sol Short экспансивные)" +accusative = "стандартный магазин (.35 Sol Short экспансивные)" +instrumental = "стандартным магазином (.35 Sol Short экспансивные)" +prepositional = "стандартном магазине (.35 Sol Short экспансивные)" +gender = "male" + +["Sol HP extended pistol magazine"] +nominative = "увеличенный магазин (.35 Sol Short экспансивные)" +genitive = "увеличенного магазина (.35 Sol Short экспансивные)" +dative = "увеличенному магазину (.35 Sol Short экспансивные)" +accusative = "увеличенный магазин (.35 Sol Short экспансивные)" +instrumental = "увеличенным магазином (.35 Sol Short экспансивные)" +prepositional = "увеличенном магазине (.35 Sol Short экспансивные)" +gender = "male" + +["ammo box (.35 Sol Short lethal)"] +nominative = "коробка патронов (.35 Sol Short)" +genitive = "коробки патронов (.35 Sol Short)" +dative = "коробке патронов (.35 Sol Short)" +accusative = "коробку патронов (.35 Sol Short)" +instrumental = "коробкой патронов (.35 Sol Short)" +prepositional = "коробке патронов (.35 Sol Short)" +gender = "female" + +["ammo box (.35 Sol Short rubber)"] +nominative = "коробка патронов (.35 Sol Short резина)" +genitive = "коробки патронов (.35 Sol Short резина)" +dative = "коробке патронов (.35 Sol Short резина)" +accusative = "коробку патронов (.35 Sol Short резина)" +instrumental = "коробкой патронов (.35 Sol Short резина)" +prepositional = "коробке патронов (.35 Sol Short резина)" +gender = "female" + +["ammo box (.35 Sol Short ripper)"] +nominative = "коробка патронов (.35 Sol Short экспансивные)" +genitive = "коробки патронов (.35 Sol Short экспансивные)" +dative = "коробке патронов (.35 Sol Short экспансивные)" +accusative = "коробку патронов (.35 Sol Short экспансивные)" +instrumental = "коробкой патронов (.35 Sol Short экспансивные)" +prepositional = "коробке патронов (.35 Sol Short экспансивные)" +gender = "female" + +["ammo box (.35 Sol Short armor piercing)"] +nominative = "коробка патронов (.35 Sol Short бронебойные)" +genitive = "коробки патронов (.35 Sol Short бронебойные)" +dative = "коробке патронов (.35 Sol Short бронебойные)" +accusative = "коробку патронов (.35 Sol Short бронебойные)" +instrumental = "коробкой патронов (.35 Sol Short бронебойные)" +prepositional = "коробке патронов (.35 Sol Short бронебойные)" +gender = "female" + # MARK: Service ["fish-porter 3000"] nominative = "рыбопортал 3000" From bcdb31148fe920c90a0482ccddbe3bdeaa7b1e92 Mon Sep 17 00:00:00 2001 From: Ingakem <146962612+Ingakem@users.noreply.github.com> Date: Sat, 1 Feb 2025 20:07:28 +0200 Subject: [PATCH 5/7] small adjustment --- .../weapons/ranged/ballistic/supply_packs.dm | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm index 4d2427861a8bc..c1493dae0f590 100644 --- a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm @@ -1,6 +1,6 @@ /datum/supply_pack/security/wespe_guns name = "Wespe Pistols Crate" - desc = "Вам нужны новые пистолеты? В таком случае в этом ящике находятся два пистолета Wespe с двумя резиновыми магазинами." + desc = "Вам нужны новые пистолеты? В таком случае в этом ящике находятся два пистолета 'Оса' калибра .35 Sol Short с двумя магазинами заряженными резиной." cost = CARGO_CRATE_VALUE * 10 access_view = ACCESS_SECURITY contains = list( @@ -10,8 +10,8 @@ crate_name = "Wespe handguns crate" /datum/supply_pack/security/wespe_ammo - name = ".35 Sol Ammo Crate" - desc = "Не хватает патронов? Не беспокойтесь, в этом ящике вы найдете два нелетальных магазина и два летальных магазина калибра .35 Sol, и соответствующие коробки с боеприпасами." + name = ".35 Sol Short Ammo Crate" + desc = "Не хватает патронов? Не беспокойтесь, в этом ящике вы найдете два нелетальных магазина и два летальных магазина калибра .35 Sol Short, и соответствующие коробки с боеприпасами." cost = CARGO_CRATE_VALUE * 6 access_view = ACCESS_SECURITY contains = list( @@ -20,11 +20,11 @@ /obj/item/ammo_box/c35sol = 1, /obj/item/ammo_box/c35sol/rubber = 1, ) - crate_name = ".35 Sol ammo crate" + crate_name = ".35 Sol Short ammo crate" /datum/supply_pack/security/wespe_ammospecial - name = ".35 Sol Special Ammo Crate" - desc = "Нужны особые боеприпасы? Не беспокойтесь, в этом ящике вы найдете два бронебойных магазина и два экспансивных магазина калибра .35 Sol, и соответствующие коробки с боеприпасами." + name = ".35 Sol Short Special Ammo Crate" + desc = "Нужны особые боеприпасы? Не беспокойтесь, в этом ящике вы найдете два бронебойных магазина и два экспансивных магазина калибра .35 Sol Short, и соответствующие коробки с боеприпасами." cost = CARGO_CRATE_VALUE * 8 access_view = ACCESS_SECURITY contains = list( @@ -33,22 +33,22 @@ /obj/item/ammo_box/c35sol/ap = 1, /obj/item/ammo_box/c35sol/ripper = 1, ) - crate_name = ".35 Sol special ammo crate" + crate_name = ".35 Sol Short special ammo crate" /datum/supply_pack/security/wespe_mags_extended - name = ".35 Sol Extended Magazines Crate" - desc = "Не хватает патронов в магазине? Не беспокойтесь, в этом ящике находятся два увеличенных магазина калибра .35 Sol." + name = ".35 Sol Short Extended Magazines Crate" + desc = "Не хватает патронов в магазине? Не беспокойтесь, в этом ящике находятся два увеличенных магазина калибра .35 Sol Short." cost = CARGO_CRATE_VALUE * 4 access_view = ACCESS_SECURITY contains = list( /obj/item/ammo_box/magazine/c35sol_pistol/stendo = 1, /obj/item/ammo_box/magazine/c35sol_pistol/stendo/rubber = 1, ) - crate_name = ".35 Sol extended magazines crate" + crate_name = ".35 Sol Short extended magazines crate" /datum/supply_pack/goody/wespe_mags_extended_single - name = ".35 Sol Extended Magazine Crate" - desc = "Не хватает патронов в магазине? Не беспокойтесь, в этом ящике находится один увеличенный магазин .35 Sol." + name = ".35 Sol Short Extended Magazine Crate" + desc = "Не хватает патронов в магазине? Не беспокойтесь, в этом ящике находится один увеличенный магазин калибра .35 Sol Short." cost = CARGO_CRATE_VALUE * 3 access_view = ACCESS_WEAPONS contains = list( @@ -57,7 +57,7 @@ /datum/supply_pack/goody/wespe_single name = "Wespe Pistol Single-Pack" - desc = "Вам нужен новый пистолет? В таком случае, в этом ящике вы найдете себе один пистолет Wespe с магазином." + desc = "Вам нужен новый пистолет? В таком случае, в этом ящике вы найдете себе один пистолет 'Оса' калибра .35 Sol Short с пустым магазином." cost = CARGO_CRATE_VALUE * 6 access_view = ACCESS_WEAPONS contains = list( @@ -66,8 +66,8 @@ ) /datum/supply_pack/goody/rubber35 - name = ".35 Sol Rubber Ammo Box" - desc = "Нужны нелетальные патроны? В таком случае, в этом ящике находится коробка резиновых патронов калибра .35 Sol." + name = ".35 Sol Short Rubber Ammo Box" + desc = "Нужны нелетальные патроны? В таком случае, в этом ящике находится коробка резиновых патронов калибра .35 Sol Short." cost = CARGO_CRATE_VALUE * 2 access_view = ACCESS_WEAPONS contains = list( @@ -75,8 +75,8 @@ ) /datum/supply_pack/goody/ripper35 - name = ".35 Sol HP Ammo Box" - desc = "Нужны экспансивные патроны? В таком случае, в этом ящике находится коробка с экспансивными патронами .35 Sol." + name = ".35 Sol Short HP Ammo Box" + desc = "Нужны экспансивные патроны? В таком случае, в этом ящике находится коробка с экспансивными патронами калибра .35 Sol Short." cost = CARGO_CRATE_VALUE * 2 access_view = ACCESS_WEAPONS contains = list( @@ -84,8 +84,8 @@ ) /datum/supply_pack/goody/ap35 - name = ".35 Sol AP Ammo Box" - desc = "Нужны бронебойные патроны? В таком случае, в этом ящике находится коробка с бронебойными патронами калибра .35 Sol." + name = ".35 Sol Short AP Ammo Box" + desc = "Нужны бронебойные патроны? В таком случае, в этом ящике находится коробка с бронебойными патронами калибра .35 Sol Short." cost = CARGO_CRATE_VALUE * 2 access_view = ACCESS_WEAPONS contains = list( @@ -93,8 +93,8 @@ ) /datum/supply_pack/goody/lethal35 - name = ".35 Sol Ammo Box" - desc = "Нужны летальные патроны? В таком случае, в этом ящике находится коробка с летальными патронами калибра .35 Sol." + name = ".35 Sol Short Ammo Box" + desc = "Нужны летальные патроны? В таком случае, в этом ящике находится коробка с летальными патронами калибра .35 Sol Short." cost = CARGO_CRATE_VALUE * 2 access_view = ACCESS_WEAPONS contains = list( From ab58c4492217a93bdc9185df0bd1efc9e524807b Mon Sep 17 00:00:00 2001 From: Ingakem <146962612+Ingakem@users.noreply.github.com> Date: Mon, 3 Feb 2025 21:40:08 +0200 Subject: [PATCH 6/7] small addition to handguns crate --- .../code/items/weapons/ranged/ballistic/supply_packs.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm index c1493dae0f590..e435bfd7136ac 100644 --- a/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm +++ b/modular_bandastation/objects/code/items/weapons/ranged/ballistic/supply_packs.dm @@ -1,11 +1,13 @@ /datum/supply_pack/security/wespe_guns name = "Wespe Pistols Crate" - desc = "Вам нужны новые пистолеты? В таком случае в этом ящике находятся два пистолета 'Оса' калибра .35 Sol Short с двумя магазинами заряженными резиной." + desc = "Вам нужны новые пистолеты? В таком случае в этом ящике находятся два пистолета 'Оса' калибра .35 Sol Short с двумя магазинами заряженными резиной, а также по одной коробке соответствующих летальных и нелетальных боеприпасов." cost = CARGO_CRATE_VALUE * 10 access_view = ACCESS_SECURITY contains = list( - /obj/item/gun/ballistic/automatic/pistol/wespe/no_mag = 2, + /obj/item/gun/ballistic/automatic/pistol/wespe = 2, /obj/item/ammo_box/magazine/c35sol_pistol/rubber = 2, + /obj/item/ammo_box/c35sol = 1, + /obj/item/ammo_box/c35sol/rubber = 1, ) crate_name = "Wespe handguns crate" From 2aac37f8e516c50d70deac239e7d9621cce36eae Mon Sep 17 00:00:00 2001 From: Ingakem <146962612+Ingakem@users.noreply.github.com> Date: Sun, 16 Feb 2025 14:33:01 +0200 Subject: [PATCH 7/7] include shuffle --- modular_bandastation/_defines220/_defines220.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_bandastation/_defines220/_defines220.dme b/modular_bandastation/_defines220/_defines220.dme index 7bee244917a3e..9b5759dc52686 100644 --- a/modular_bandastation/_defines220/_defines220.dme +++ b/modular_bandastation/_defines220/_defines220.dme @@ -11,10 +11,10 @@ #include "code/defines/spans.dm" #include "code/defines/subsystems.dm" #include "code/defines/text_to_speech.dm" -#include "code/defines/calibers.dm" #include "code/signals_mob/signals_mob_ai.dm" #include "code/signals_mob/signals_mob_carbon.dm" #include "code/signals_mob/signals_mob_living.dm" #include "code/signals_mob/signals_mob_main.dm" #include "code/signals_mob/signals_mob_silicon.dm" #include "code/signals_mob/signals_mob_simple.dm" +#include "code/defines/calibers.dm"