[READY]Armadyne Anti Trust Act Part 2: Return of The Ballistic Security (#27409)

* Update pistol.dm

* Update pistol.dm

* Update pistol.dm

* we fix the linter

* Update pistol.dm

* Update pistol.dmi

* Update pistol.dm

* this shit

* Update pistol.dm

* Update pistol.dm

* Update pistol.dm

* Update rifle.dm

* I am happy.

* Update vending.dm

* new file

* fire delay

* Create magazine.dm

* finally

* Update pistol.dm

* bazinga

* Update pistol.dm

* this is impossible

* Update magazine.dm

* mm

* as

* i forgot!

* Update pistol.dm

* what the hell are we doing

* Update pistol.dm

* Update security.dm

* Update pistol.dm

* what

* i fixed linter

* help me gordon

* Update allstar.dm

* Update tgstation.dme

* Update pistol.dm

* Update pistol.dm

* now what

* Update tgstation.dme

* i crave sex

* Update smg.dm

* Update magazine.dm

* Update pistol.dm

* Update sec_research.dm

* Update sec_research.dm

* accurate

* mmm

* Update tgstation.dme

* Update sec_research.dm

* Update all_nodes.dm

* don't you feel silly?

* Update all_nodes.dm

* Update tgstation.dme

* Update cargo_stuff.dm

* Update cargo_stuff.dm

* Update magazine.dm

* Update magazine.dm

* we are ready

* Update all_nodes.dm

* Update rifle.dm

* Update gun48x32.dmi

* Update rifle.dm

* bird

* Update rifle.dm

* Why

* its ready?

* what

* Update rifle.dm

* i wish i can die soon

* Update ammo.dmi

* more curious about the result

* Update rifle.dm

* mister mister president i want to die

* Update magazines.dm

* what

* fml lol

* Update gun40x32.dmi

* this is sick af

* Update rifle.dm

* what

* Update rifle.dm

* Update all_nodes.dm

* what

* Update rifle.dm

* Update all_nodes.dm

* yeah

* Update all_nodes.dm

* Update pistol.dm

* so

* Update sec_research.dm

* Update rifle.dm

* ready

* Update head.dmi

* wwhat

* Update gun40x32.dmi

* yeah

* ww got vything done

* we h int at a darker past

* yeah I know that there's no pleasing you

* Update magazines.dm

* Update sol_fed.dm

* mhm

* Update rifle.dm

* Update rifle.dm

* Update magazines.dm

* Update magazine.dm

* Update cargo_stuff.dm

* Update cargo_stuff.dm

* Update gun_redemption.dm

* what

* Update rifle.dm

* how did we mess this up so badly

* be more thorough next time?

* fixed

* Update pistol.dm

* Update rifle.dm

* Update rifle.dm

* stats and stats

* Update rifle.dm

* Update ammobox.dm

* Update beams.dm

* Update magazine.dm

* Update rifle.dm

* Update rifle.dm

* Update magazine.dm

* Update rifle.dm

* Update helmet.dmi

* this should fix it

* Update packs.dm

* Update rifle.dm

* why doesnt this work is beyond me

* Update shotgun.dm

* Update pistol.dm

* i pray this fix it before i die

* Update ammobox.dm

* this should work

* Update shotgun.dm

* this is utterly shit code thati should die for

* Update shotgun.dm

* fix the helmet

* Update sec_clothing_overrides.dm

* Update shotgun.dm

* what did i do

* what else?

* Update pistol.dm

* Update shotgun.dm

* an ode to joy

* Update rifle.dm

* Update pistol.dm

* here we go

* Update tgstation.dme

* Update tgstation.dme

* Update tgstation.dme

* so

* forgive yourself

* Update pistol.dmi

* Update pistol.dm

* Update magazine.dmi

* Update magazine.dmi

* it was also my plan

* mmm

* Update magazine.dm

* Update rifle.dm

* vanilla expanded

* yeah

* Update sec_research.dm

* silly

* Update all_nodes.dm

* yeah

* Update sec_research.dm

* yes

* can  you even say, my name

* Update shotgun.dm

* this is easier

* wonderful

* Update tgstation.dme

* Update tgstation.dme

* Update rifle.dm

* Update rifle.dm

* done

* Update tgstation.dme

* yeah

* Update tgstation.dme

* yes

* Update tgstation.dme

* Update shotgun.dm

* there

* yeah!

* it feels right

* Update helmet.dmi

* Update cargo_packs.dm

* Update peacekeeper_clothing.dm

---------

Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
This commit is contained in:
projectkepler-RU
2024-08-21 06:47:05 +07:00
committed by GitHub
co-authored by SpaceLoveSs13
parent bd10267794
commit 4dd0fef1cf
69 changed files with 2189 additions and 311 deletions
@@ -20,10 +20,10 @@
/obj/projectile/bullet/c35sol
name = ".35 Sol Short bullet"
damage = 25
damage = 20
wound_bonus = 10 // Normal bullets are 20
bare_wound_bonus = 20
wound_bonus = 5 // Normal bullets are 20
bare_wound_bonus = 25
/obj/item/ammo_box/c35sol
@@ -56,7 +56,7 @@
/obj/projectile/bullet/c35sol/incapacitator
name = ".35 Sol Short incapacitator bullet"
damage = 5
damage = 8
stamina = 30
wound_bonus = -40
@@ -108,8 +108,8 @@
sharpness = SHARP_EDGED
wound_bonus = 20
bare_wound_bonus = 20
wound_bonus = 25
bare_wound_bonus = 25
embed_type = /datum/embed_data/c35sol_ripper
@@ -22,8 +22,8 @@
name = ".40 Sol Long bullet"
damage = 35
wound_bonus = 10
bare_wound_bonus = 20
wound_bonus = -30
bare_wound_bonus = -35
/obj/item/ammo_box/c40sol
@@ -66,7 +66,7 @@
sharpness = SHARP_EDGED
wound_bonus = 0
bare_wound_bonus = 10
bare_wound_bonus = 20
shrapnel_type = /obj/item/shrapnel/stingball
embed_type = /datum/embed_data/c40sol_fragmentation
@@ -58,7 +58,7 @@
icon_state = "rifle_standard"
w_class = WEIGHT_CLASS_SMALL
w_class = WEIGHT_CLASS_NORMAL
max_ammo = 30
@@ -15,7 +15,7 @@
bolt_type = BOLT_TYPE_OPEN
w_class = WEIGHT_CLASS_NORMAL
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_MEDIUM
slot_flags = ITEM_SLOT_SUITSTORE | ITEM_SLOT_BELT
@@ -0,0 +1,10 @@
//Alert locked pin
/obj/item/firing_pin/alert_level
name = "alert level firing pin"
var/desired_minimium_alert = SEC_LEVEL_VIOLET //For the purpose of the firing pin, we will consider violet, orange and amber as same level
desc = "A small authentication device, to be inserted into a firearm receiver to allow operation. This one is configured to only fire on amber alert or higher."
fail_message = "incorrect alert level!"
/obj/item/firing_pin/alert_level/pin_auth(mob/living/user)
return (SSsecurity_level.current_security_level.number_level >= desired_minimium_alert)
@@ -0,0 +1,88 @@
//9mm Magazines
/obj/item/ammo_box/magazine/m9mm
name = "pistol magazine (9x25mm)"
multiple_sprites = AMMO_BOX_PER_BULLET
icon = 'modular_skyrat/modules/aesthetics/guns/icons/magazine.dmi'
/obj/item/ammo_box/magazine/m9mm
custom_premium_price = 50
/obj/item/ammo_box/magazine/m9mm/rubber
name = "pistol magazine (9x25mm Rubber)"
ammo_type = /obj/item/ammo_casing/c9mm/rubber
icon_state = "9x19pB"
/obj/item/ammo_box/magazine/m9mm/ihdf
name = "pistol magazine (9x25mm Intelligent Dispersal Foam)"
ammo_type = /obj/item/ammo_casing/c9mm/ihdf
icon_state = "9x19pp"
//Extended 9mm
/obj/item/ammo_box/magazine/m9mm/stendo
name = "pistol magazine (9x25mm)"
ammo_type = /obj/item/ammo_casing/c9mm
icon_state = "g18"
multiple_sprites = AMMO_BOX_FULL_EMPTY
max_ammo = 33
/obj/item/ammo_box/magazine/m9mm/stendo/fire
name = "pistol magazine (9x25mm Incendiary)"
ammo_type = /obj/item/ammo_casing/c9mm/fire
icon_state = "g18_r"
/obj/item/ammo_box/magazine/m9mm/stendo/rubber
name = "pistol magazine (9x25mm Incendiary)"
ammo_type = /obj/item/ammo_casing/c9mm/rubber
icon_state = "g18_b"
/obj/item/ammo_box/magazine/m9mm/stendo/hp
name = "pistol magazine (9x25mm Hollow Point)"
ammo_type = /obj/item/ammo_casing/c9mm/hp
icon_state = "g18_hp"
/obj/item/ammo_box/magazine/m9mm/stendo/ap
name = "pistol magazine (9x25mm Armour Piercing)"
ammo_type = /obj/item/ammo_casing/c9mm/ap
icon_state = "g18_ihdf"
/obj/item/ammo_box/magazine/m9mm/stendo/ihdf
name = "pistol magazine (9x25mm Intelligent Dispersal Foam)"
ammo_type = /obj/item/ammo_casing/c9mm/ihdf
icon_state = "g18_ihdf"
//10mm Cylinder
/obj/item/ammo_box/magazine/internal/cylinder/nt_sec
name = "\improper 10mm revolver cylinder"
desc = "how did you get this"
max_ammo = 6
ammo_type = /obj/item/ammo_casing/c10mm/rubber
caliber = CALIBER_10MM
//10mm Stuff
/obj/item/ammo_box/c10mm/speedloader
name = "speed loader (10mm Auto)"
desc = "Designed to quickly reload revolvers."
ammo_type = /obj/item/ammo_casing/c10mm
ammo_band_color = "#dd6057"
max_ammo = 6
item_flags = NO_MAT_REDEMPTION
icon_state = "38"
multiple_sprites = AMMO_BOX_PER_BULLET
ammo_band_icon = "+38_ammo_band"
custom_premium_price = 50
/obj/item/ammo_box/c10mm/speedloader/rubber
name = "speed loader (10mm Auto Rubber)"
desc = "Designed to quickly reload revolvers."
ammo_type = /obj/item/ammo_casing/c10mm/rubber
ammo_band_color = "#1824c5"
/obj/item/ammo_box/c10mm/speedloader/fire
name = "speed loader (10mm Auto Fire)"
desc = "Designed to quickly reload revolvers."
ammo_type = /obj/item/ammo_casing/c10mm/fire
ammo_band_color = "#c41d1a"
@@ -0,0 +1,90 @@
//Handgun
/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_glock
name = "9x25mm Mk12 Standard Pistol"
weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/nt_glock/empty
/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_glock/PopulateContents()
new weapon_to_spawn (src)
generate_items_inside(list(
/obj/item/ammo_box/magazine/m9mm/ihdf = 2,
/obj/item/ammo_box/magazine/m9mm/rubber = 3,
), src)
/obj/item/gun/ballistic/automatic/pistol/nt_glock
name = "\improper GP-9"
desc = "General Purpose Pistol Number 9. A classic 9x25mm handgun with a small magazine capacity."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi'
icon_state = "black"
w_class = WEIGHT_CLASS_NORMAL
spread = 10
fire_sound = 'sound/weapons/gun/pistol/shot_alt.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg'
bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg'
pin = /obj/item/firing_pin
spawn_magazine_type = /obj/item/ammo_box/magazine/m9mm/rubber
/obj/item/gun/ballistic/automatic/pistol/nt_glock/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_NANOTRASEN)
/obj/item/gun/ballistic/automatic/pistol/nt_glock/empty
spawnwithmagazine = FALSE
/obj/item/storage/toolbox/guncase/skyrat/nt_glock_spec
name = "9x25mm Mk2 Special Operation Pistol"
weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/nt_glock/empty
/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_glock_spec/PopulateContents()
new weapon_to_spawn (src)
generate_items_inside(list(
/obj/item/ammo_box/magazine/m9mm/stendo/hp = 2,
/obj/item/ammo_box/magazine/m9mm/stendo/ap = 3,
), src)
/obj/item/gun/ballistic/automatic/pistol/nt_glock/spec
name = "\improper GP-93R"
desc = "General Purpose Pistol Number 9, 3-Round Burst. A special operation variant with a high capacity magazine."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi'
icon_state = "silver"
spread = 17
pin = /obj/item/firing_pin
fire_delay = 2
burst_size = 3
spawn_magazine_type = /obj/item/ammo_box/magazine/m9mm/stendo
/obj/item/gun/ballistic/automatic/pistol/nt_glock/empty
spawnwithmagazine = FALSE
// Revolver
/obj/item/gun/ballistic/revolver/nt_revolver
name = "\improper R10"
desc = "The Revolver Number 10. A rugged and reliable pistol chambered in 10mm Auto, holds 6 shot. Remember our promise"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi'
icon_state = "zeta"
spawn_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/nt_sec
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/nt_sec
/obj/item/gun/ballistic/revolver/nt_revolver/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_NANOTRASEN)
/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_revolver
name = "10mm Auto Standard Revolver"
weapon_to_spawn = /obj/item/gun/ballistic/revolver/nt_revolver
/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_revolver/PopulateContents()
new weapon_to_spawn (src)
generate_items_inside(list(
/obj/item/ammo_box/c10mm/speedloader = 2,
/obj/item/ammo_box/c10mm/speedloader/rubber = 3,
), src)
@@ -0,0 +1,74 @@
/obj/item/ammo_casing/c460rowland
name = ".460 Rowland Magnum bullet casing"
desc = "A Romulus Tech standard lethal pistol round."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
icon_state = "sl-casing"
caliber = CALIBER_460ROWLAND
projectile_type = /obj/projectile/bullet/c460rowland
/obj/projectile/bullet/c460rowland
name = ".460 Rowland Magnum"
damage = 35
stamina = 15 //knock the winds outta ya
wound_bonus = -35
bare_wound_bonus = -60
stamina_falloff_tile = 0.3
/obj/item/ammo_casing/c460rowland/dart
name = ".460 Rowland Armour Piercing bullet casing"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
icon_state = "sr-casing"
caliber = CALIBER_460ROWLAND
projectile_type = /obj/projectile/bullet/c460rowland/dart
/obj/projectile/bullet/c460rowland/dart
name = ".460 Rowland Armour Piercing"
damage = 25
wound_bonus = -50
bare_wound_bonus = -10
armour_penetration = 40
damage_falloff_tile = 0
stamina_falloff_tile = 0
//457
/obj/item/ammo_casing/c457govt
name = ".457 Government bullet casing"
desc = "A Romulus Tech standard lethal pistol round."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
icon_state = "sl-casing"
caliber = CALIBER_457GOVT
projectile_type = /obj/projectile/bullet/c457govt
/obj/projectile/bullet/c457govt
name = ".457 Government"
damage = 35
wound_bonus = -25
bare_wound_bonus = -35
/obj/item/ammo_casing/c457govt/dart
name = ".457 Government Accelerating"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
icon_state = "sr-casing"
caliber = CALIBER_457GOVT
projectile_type = /obj/projectile/bullet/c457govt/dart
/obj/projectile/bullet/c457govt/dart
name = ".457 Government Accelerating"
damage = 15
wound_bonus = -10
bare_wound_bonus = -10
armour_penetration = 45
speed = 0.5
range = 14
@@ -0,0 +1,150 @@
#define AMMO_MATS_SHOTGUN list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 4) // not quite as thick as a half-sheet
#define AMMO_MATS_SHOTGUN_FLECH list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2,\
/datum/material/titanium = SMALL_MATERIAL_AMOUNT * 2)
#define AMMO_MATS_SHOTGUN_HIVE list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2,\
/datum/material/plasma = SMALL_MATERIAL_AMOUNT * 1,\
/datum/material/silver = SMALL_MATERIAL_AMOUNT * 1)
#define AMMO_MATS_SHOTGUN_TIDE list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2,\
/datum/material/plasma = SMALL_MATERIAL_AMOUNT * 1,\
/datum/material/titanium = SMALL_MATERIAL_AMOUNT * 1)
#define AMMO_MATS_SHOTGUN_PLASMA list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2,\
/datum/material/plasma = SMALL_MATERIAL_AMOUNT * 2)
/obj/item/ammo_casing/caflechette
name = "flechette steel penetrator"
desc = "A Romfed standard rifle flechette."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/carwo_defense_systems/ammo.dmi'
icon_state = "40sol"
caliber = CALIBER_FLECHETTE
projectile_type = /obj/projectile/bullet/caflechette
custom_materials = AMMO_MATS_SHOTGUN_FLECH
advanced_print_req = TRUE
/obj/item/ammo_casing/caflechette/Initialize(mapload)
. = ..()
AddElement(/datum/element/caseless)
/obj/projectile/bullet/caflechette
name = "flechette penetrator"
damage = 15
armour_penetration = 60
wound_bonus = 10
bare_wound_bonus = 10
embed_type = /datum/embed_data/caflechette
dismemberment = 0
/datum/embed_data/caflechette
embed_chance = 55
pain_chance = 70
fall_chance = 30
jostle_chance = 80
ignore_throwspeed_threshold = TRUE
pain_stam_pct = 0.9
pain_mult = 2
rip_time = 2 SECONDS
/obj/item/ammo_casing/caflechette/ripper
name = "flechette dart"
desc = "A Romfed standard rifle flechette."
projectile_type = /obj/projectile/bullet/caflechette/ripper
custom_materials = AMMO_MATS_SHOTGUN_TIDE
/obj/projectile/bullet/caflechette/ripper
name = "flechette dart"
damage = 10
wound_bonus = 25
bare_wound_bonus = 35
embed_type = /datum/embed_data/ripper
armour_penetration = 40 //defeat basic armour
/datum/embed_data/ripper
embed_chance = 200
pain_chance = 70
fall_chance = 1
jostle_chance = 80
ignore_throwspeed_threshold = TRUE
pain_stam_pct = 0.9
pain_mult = 2
rip_time = 5 SECONDS
/obj/item/ammo_casing/caflechette/ballpoint
name = "steel ball"
desc = "A bullet casing with a large metallic ball as a projectile."
projectile_type = /obj/projectile/bullet/caflechette/ballpoint
custom_materials = AMMO_MATS_SHOTGUN_TIDE
/obj/projectile/bullet/caflechette/ballpoint
name = "high velocity steel ball"
damage = 10
wound_bonus = 20
bare_wound_bonus = 10
sharpness = SHARP_EDGED
wound_bonus = 0
bare_wound_bonus = 20
armour_penetration = 10
shrapnel_type = /obj/item/shrapnel/stingball
embed_type = /datum/embed_data/ballpoint
stamina = 20
ricochet_chance = 50
ricochets_max = 3
ricochet_auto_aim_angle = 90
ricochet_auto_aim_range = 5
/datum/embed_data/ballpoint
embed_chance = 50
fall_chance = 5
jostle_chance = 5
ignore_throwspeed_threshold = TRUE
pain_stam_pct = 0.4
pain_mult = 2
jostle_pain_mult = 3
rip_time = 1 SECONDS
/obj/item/ammo_casing/caflechette/magnesium
name = "magnesium dart"
projectile_type = /obj/projectile/bullet/caflechette/magnesium
custom_materials = AMMO_MATS_SHOTGUN_PLASMA
/obj/projectile/bullet/caflechette/magnesium
name = "high velocity magnesium rod"
damage = 5
wound_bonus = 15
bare_wound_bonus = 5
embed_type = /datum/embed_data/magnesium
armour_penetration = 100 //does really low damage
/datum/embed_data/magnesium
embed_chance = 80
pain_chance = 10
fall_chance = 10
jostle_chance = 80
ignore_throwspeed_threshold = TRUE
pain_stam_pct = 0.9
pain_mult = 2
rip_time = 10 SECONDS
/obj/projectile/bullet/caflechette/magnesium/on_hit(atom/target, blocked = 0, pierce_hit)
. = ..()
if(iscarbon(target))
var/mob/living/carbon/M = target
M.adjust_fire_stacks(12)
M.ignite_mob()
#undef AMMO_MATS_SHOTGUN
#undef AMMO_MATS_SHOTGUN_FLECH
#undef AMMO_MATS_SHOTGUN_HIVE
#undef AMMO_MATS_SHOTGUN_TIDE
#undef AMMO_MATS_SHOTGUN_PLASMA
@@ -0,0 +1,53 @@
//Handgun Magazine
/obj/item/ammo_box/magazine/m45a5
name = "\improper m45a5 magazine (Rose)"
desc = "A magazine for the m45a5 chambered in .460 Rowland, holds ten rounds. Warning, contains expanding head that deform on contact, may cause excessive bleeding."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
icon_state = "rowlandmodular"
multiple_sprites = AMMO_BOX_FULL_EMPTY
w_class = WEIGHT_CLASS_NORMAL
ammo_type = /obj/item/ammo_casing/c460rowland
caliber = CALIBER_460ROWLAND
max_ammo = 10
/obj/item/ammo_box/magazine/m45a5/ap
name = "\improper m45a5 magazine (Armour Piercing)"
desc = "A magazine for the m45a5 chambered in .460 Rowland, holds ten rounds. Warning, contains lead core intended to defeat body armour."
/obj/item/ammo_box/magazine/m45a5/starts_empty
start_empty = TRUE
//Cylinder (not speedloader)
/obj/item/ammo_box/magazine/internal/cylinder/c457
caliber = CALIBER_457GOVT
ammo_type = /obj/item/ammo_casing/c457govt
//Rifle Magazine
/obj/item/ammo_box/magazine/caflechette
name = "flechette penetrator box"
ammo_type = /obj/item/ammo_casing/caflechette
caliber = CALIBER_FLECHETTE
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
icon_state = "cmg_penetrator"
max_ammo = 25
/obj/item/ammo_box/magazine/caflechette/ripper
name = "flechette ripper box"
ammo_type = /obj/item/ammo_casing/caflechette/ripper
icon_state = "cmg_ripper"
/obj/item/ammo_box/magazine/caflechette/ballpoint
name = "ballpoint box"
ammo_type = /obj/item/ammo_casing/caflechette/ballpoint
icon_state = "cmg_ballpoint"
/obj/item/ammo_box/magazine/caflechette/magnesium
name = "magnesium rod box"
ammo_type = /obj/item/ammo_casing/caflechette/magnesium
icon_state = "cmg_incend"
@@ -0,0 +1,145 @@
//Pistol, Handguns and Revolvers
//Now improved
/obj/item/gun/ballistic/revolver/hos_revolver
name = "\improper HR-460MS"
desc = "An experimental revolver design that can only be loaded one shot at a time, if the initial damage did not kill, the bleedout would. Chambered in .457 Government."
accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/c457
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/revolver.dmi'
icon_state = "microtracker"
fire_sound = 'modular_skyrat/modules/modular_weapons/sounds/revolver_heavy.ogg'
/obj/item/gun/ballistic/revolver/hos_revolver/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
/obj/item/gun/ballistic/revolver/hos_revolver/long
name = "\improper HR-460LR"
desc = "A long unwiedly revolver from Romulus Technology. chambered in the rare .457 Government. You might be able to kill someone by whacking it over the head"
icon_state = "tracker"
force = 18
/obj/item/storage/bag/b460reloadpouch
name = "reload pouch"
desc = "A pouch for holding loose casings for .357 ammo and .457 ammo. incompatible with anything else. Fit on your belt too"
icon = 'modular_skyrat/modules/sec_haul/icons/misc/pouches.dmi'
icon_state = "reloadpouch"
slot_flags = ITEM_SLOT_POCKETS | ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_BULKY
worn_icon = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_worn.dmi'
worn_icon_state = null
/obj/item/storage/bag/b460reloadpouch/Initialize(mapload)
. = ..()
atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL
atom_storage.max_total_storage = 35
atom_storage.max_slots = 35
atom_storage.numerical_stacking = TRUE
atom_storage.set_holdable(list(
/obj/item/ammo_casing/c457govt,
/obj/item/ammo_casing/a357,
))
/obj/item/storage/bag/b460reloadpouch/PopulateContents()
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
new /obj/item/ammo_casing/c457govt(src)
/obj/item/storage/toolbox/guncase/skyrat/hos_revolver
name = "heavy revolver .457"
/obj/item/storage/toolbox/guncase/skyrat/hos_revolver/PopulateContents()
new /obj/item/gun/ballistic/revolver/hos_revolver(src)
new /obj/item/storage/bag/b460reloadpouch(src)
/obj/item/gun/ballistic/automatic/pistol/m1911/gold
name = "gold trimmed m1911"
desc = "A classic .460 ceres handgun with a small magazine capacity. Now trimmed in gold"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/pistol.dmi'
icon_state = "m1911"
/obj/item/gun/ballistic/automatic/pistol/m1911/gold/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
/obj/item/storage/toolbox/guncase/skyrat/m1911_gold
name = "golden m1911 .460 ceres"
weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/m1911/gold
extra_to_spawn = /obj/item/ammo_box/magazine/m45
/obj/item/storage/toolbox/guncase/skyrat/m1911/PopulateContents()
new weapon_to_spawn (src)
generate_items_inside(list(
/obj/item/ammo_box/c45 = 2,
), src)
/obj/item/storage/toolbox/guncase/skyrat/m45a5
name = "heavy pistol .460 magnum"
/obj/item/storage/toolbox/guncase/skyrat/m45a5/PopulateContents()
new /obj/item/gun/ballistic/automatic/pistol/m45a5(src)
new /obj/item/ammo_box/magazine/m45a5(src)
new /obj/item/ammo_box/magazine/m45a5(src)
new /obj/item/ammo_box/magazine/m45a5(src)
/obj/item/gun/ballistic/automatic/pistol/m45a5
name = "M4A5"
desc = "A standard issue pistol given to pilot officers in Romulus Federation, chambered in .460 Rowland Magnum, now commonly found in the hands of high ranking NanotTrasen Staff"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/pistol.dmi'
icon_state = "m45a5"
fire_sound = 'modular_skyrat/modules/modular_weapons/sounds/pistol_heavy.ogg'
force = 15
fire_delay = 1.8 SECONDS
special_mags = TRUE
recoil = 3
accepted_magazine_type = /obj/item/ammo_box/magazine/m45a5
spawn_magazine_type = /obj/item/ammo_box/magazine/m45a5
/obj/item/gun/ballistic/automatic/pistol/m45a5/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
/obj/item/gun/ballistic/automatic/pistol/m45a5/examine(mob/user)
. = ..()
. += span_notice("You can <b>examine closer</b> to learn a little more about this weapon.")
/obj/item/gun/ballistic/automatic/pistol/m45a5/examine_more(mob/user)
. = ..()
. += "This Design was made by Romulus Technology for \
usage during the start of the NRI-Sol Border war. \
Following the embargo and trade restriction \
making it impossible for Romulus Federation to source weapory, \
with this design being rapidly pushed out, being made from an advanced sol design \
this pistol seems rather unassuming but it has been, itself, the new symbol of peace \
Leaving NRI weapon in the past, as it now became the symbol of the oppressive era of Romulus\
To whom it may concerns, These weapon were mostly used by the new Romulus National Army,\
it was a symbol of struggle and freedom \
Weapons cannot bring people back, but it can save your life."
return .
@@ -0,0 +1,36 @@
/obj/structure/sign/poster/official/idmarecruit
name = "Romulus Federation Marine Corp - Enlist Today"
desc = "This poster depicts a RomFed Marine in their full gear. It is printed on some sort of space resistant paper."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/poster.dmi'
icon_state = "idmarecruit"
/obj/structure/sign/poster/official/idmarecruit/examine_more(mob/user)
. = ..()
. += "Join the Romulus Federation Marine Corp Today! \
Service will ensure welfare, long term position as security consultant in many company \
And even opportunity to join Sol Galactic Peacekeeping Program \
What are you waiting for!?"
return .
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/official/idmarecruit, 32)
/obj/structure/sign/poster/official/flech_rifle
name = "Weapon of the Future"
desc = "This poster depicts the CMG-1, a standard issue rifle in the RomFed Military. \
It claims that this rifle can defeat any body armour currently available, sounds utterlry insane right?"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/poster.dmi'
icon_state = "cmg1"
/obj/structure/sign/poster/official/flech_rifle/examine_more(mob/user)
. = ..()
. += "Small text details that certain types of magazines may not be available in your \
region depending on local weapons regulations. Suspiciously, however, if you squint at \
it a bit, the background colors of the image come together vaguely in the shape of \
a computer board and a multitool. What did they mean by this?"
return .
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/official/carwo_magazine, 32)
@@ -0,0 +1,245 @@
//Sprite for these guns are modified from the carwil/carwo rifle, they're a pallet swap with very small modification
//Main Rifle
/obj/item/gun/ballistic/automatic/rom_carbine
name = "\improper RomTech Carbine"
desc = "An unusual variation of the Carwo-Carwil Battle rifle fielded as service rifle in Romulus Federation, preferred by some law enforcement agency for the compact nature. Accepts any standard .40 SolFed rifle magazine."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun48x32.dmi'
icon_state = "carbine"
worn_icon = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_worn.dmi'
worn_icon_state = "carbine"
lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_lefthand.dmi'
righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_righthand.dmi'
inhand_icon_state = "carbine"
bolt_type = BOLT_TYPE_LOCKING
special_mags = TRUE
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_SUITSTORE | ITEM_SLOT_BELT
burst_size = 1
fire_delay = 3
spread = 7
projectile_wound_bonus = -35
accepted_magazine_type = /obj/item/ammo_box/magazine/c40sol_rifle
spawn_magazine_type = /obj/item/ammo_box/magazine/c40sol_rifle/standard
actions_types = list()
/obj/item/gun/ballistic/automatic/rom_carbine/Initialize(mapload)
. = ..()
give_autofire()
/obj/item/gun/ballistic/automatic/rom_carbine/proc/give_autofire()
AddComponent(/datum/component/automatic_fire, fire_delay)
/obj/item/gun/ballistic/automatic/rom_carbine/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
/obj/item/gun/ballistic/automatic/rom_carbine/examine(mob/user)
. = ..()
. += span_notice("You can <b>examine closer</b> to learn a little more about this weapon.")
/obj/item/gun/ballistic/automatic/rom_carbine/examine_more(mob/user)
. = ..()
. += "This Design was made by Romulus Technology for \
usage during the start of the NRI-Sol Border war. \
Following the embargo and trade restriction \
making it impossible for Romulus Federation to source weapory, \
with this design being rapidly pushed out, being made from converted rifle making it easier to acquire, \
this rifle seems rather unassuming but it has been, itself, the new symbol of peace \
Leaving NRI weapon in the past, as it now became the symbol of the oppressive era of Romulus\
To whom it may concerns, These weapon were mostly used by the new Romulus National Army,\
it was a symbol of struggle and freedom \
Weapons cannot bring people back, but it can save your life."
return .
//Bolt Action Rifle
/obj/item/gun/ballistic/rifle/carwil
name = "\improper RomTech Ceremonial Rifle"
desc = "A boltaction ceremonial rifle, chambered in Sol .40 Rifle While technically outdated in modern arms markets, it still used by recreational hunter \
as rifle of this kind are much more controllable. Famously used by the royal guard of Romulus Federation."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun48x32.dmi'
icon_state = "elite"
worn_icon = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_worn.dmi'
worn_icon_state = "carbine"
lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_lefthand.dmi'
righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_righthand.dmi'
inhand_icon_state = "carbine"
inhand_x_dimension = 32
inhand_y_dimension = 32
weapon_weight = WEAPON_HEAVY
fire_sound = 'modular_skyrat/modules/modular_weapons/sounds/rifle_heavy.ogg'
suppressed_sound = 'modular_skyrat/modules/modular_weapons/sounds/suppressed_rifle.ogg'
fire_sound_volume = 90
load_sound = 'sound/weapons/gun/sniper/mag_insert.ogg'
rack_sound = 'sound/weapons/gun/sniper/rack.ogg'
recoil = 2
accepted_magazine_type = /obj/item/ammo_box/magazine/c40sol_rifle
spawn_magazine_type = /obj/item/ammo_box/magazine/c40sol_rifle
internal_magazine = FALSE
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
mag_display = TRUE
tac_reloads = TRUE
rack_delay = 1.5 SECONDS
can_suppress = TRUE
can_unsuppress = TRUE
special_mags = TRUE
/obj/item/gun/ballistic/rifle/carwil/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
/obj/item/gun/ballistic/rifle/carwil/empty
spawnwithmagazine = FALSE
/obj/item/storage/toolbox/guncase/skyrat/ceremonial_rifle
name = "Sporting Rifle Case"
weapon_to_spawn = /obj/item/gun/ballistic/rifle/carwil/empty
extra_to_spawn = /obj/item/ammo_box/magazine/c40sol_rifle/starts_empty
/obj/item/storage/toolbox/guncase/skyrat/ceremonial_rifle/PopulateContents()
new weapon_to_spawn (src)
generate_items_inside(list(
/obj/item/ammo_box/c40sol/fragmentation = 1,
/obj/item/ammo_box/c40sol = 1,
), src)
//Flechette Rifle
//This Replace The Battle Rifle, handle with care please
//This is based on the old CMG Code from Hatterhat when he made it foldable, Dragonfruit made the sprite sometime ago and I'm using it as it's easier than remaking new sprite from the ground up
/obj/item/gun/ballistic/automatic/rom_flech
name = "\improper RomTech CMG-1 Rifle"
desc = "The Compact Machinegun-1 is an automatic rifle fielded by the Romulus Expeditionary Force, chambered in an experimental flechette cartridge capable of defeating all type of conventional body armour. Has a folding stock"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun40x32.dmi'
icon_state = "cmg1"
worn_icon = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_worn.dmi'
worn_icon_state = "infanterie_evil"
//placeeholder, I had to do this in a crunch hour.. sorry! - Kali
lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_lefthand.dmi'
righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_righthand.dmi'
inhand_icon_state = "infanterie_evil"
bolt_type = BOLT_TYPE_LOCKING
mag_display = TRUE
mag_display_ammo = TRUE
empty_indicator = TRUE
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_SUITSTORE | ITEM_SLOT_BELT
selector_switch_icon = TRUE
burst_size = 2
fire_delay = 2
spread = 5
pin = /obj/item/firing_pin/alert_level
accepted_magazine_type = /obj/item/ammo_box/magazine/caflechette
spawn_magazine_type = /obj/item/ammo_box/magazine/caflechette
var/folding_sound = 'sound/weapons/batonextend.ogg'
/// is our stock collapsed?
var/folded = FALSE
/// how long does it take to extend/collapse the stock
var/toggle_time = 1 SECONDS
/// what's our spread with our extended stock (mild varedit compatibility I Guess)?
var/unfolded_spread = 5
/// what's our spread with a folded stock (see above comment)?
var/folded_spread = 20
/obj/item/gun/ballistic/automatic/rom_flech/examine(mob/user)
. = ..()
. += span_notice("<b>Alt-click</b> to [folded ? "extend" : "collapse"] the stock.")
/obj/item/gun/ballistic/automatic/rom_flech/click_alt(mob/user)
if(!user.is_holding(src))
return
if(item_flags & IN_STORAGE)
return
toggle_stock(user)
/obj/item/gun/ballistic/automatic/rom_flech/proc/toggle_stock(mob/user, var/forced)
if(!user && forced)
folded = !folded
update_fold_stats()
return
balloon_alert(user, "[folded ? "extending" : "collapsing"] stock...")
if(!do_after(user, toggle_time))
balloon_alert(user, "interrupted!")
return
folded = !folded
update_fold_stats()
balloon_alert(user, "stock [folded ? "collapsed" : "extended"]")
playsound(src.loc, folding_sound, 30, 1)
/obj/item/gun/ballistic/automatic/rom_flech/proc/update_fold_stats()
if(folded)
spread = folded_spread
else
spread = unfolded_spread
update_icon()
/obj/item/gun/ballistic/automatic/rom_flech/update_overlays()
. = ..()
. += "[icon_state]-stock[folded ? "_in" : "_out"]"
/obj/item/gun/ballistic/automatic/rom_flech/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
/obj/item/gun/ballistic/automatic/rom_flech/empty
spawnwithmagazine = FALSE
/obj/item/storage/toolbox/guncase/skyrat/rom_flech
name = "CMG-1 Rifle Case"
weapon_to_spawn = /obj/item/gun/ballistic/automatic/rom_flech/empty
/obj/item/storage/toolbox/guncase/skyrat/rom_flech/PopulateContents()
new weapon_to_spawn (src)
generate_items_inside(list(
/obj/item/ammo_box/magazine/caflechette = 2,
/obj/item/ammo_box/magazine/caflechette/ballpoint = 3,
), src)
/obj/item/gun/ballistic/automatic/rom_flech/blueshield
name = "\improper RomTech CMG-2C Rifle"
desc = "The Compact Machinegun-2 Commando is an automatic rifle used by Romulus Executive Protection Service, modified to be one handed for usage with shield."
icon_state = "cmg2"
worn_icon = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_worn.dmi'
worn_icon_state = "infanterie_evil"
lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_lefthand.dmi'
righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_righthand.dmi'
inhand_icon_state = "infanterie_evil"
bolt_type = BOLT_TYPE_LOCKING
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_LIGHT
burst_size = 3
spread = 0
pin = /obj/item/firing_pin
unfolded_spread = 0
folded_spread = 7
/obj/item/gun/ballistic/automatic/rom_flech/blueshield/empty
spawnwithmagazine = FALSE
/obj/item/storage/toolbox/guncase/skyrat/blueshield_cmg
name = "CMG-2C Rifle Case"
weapon_to_spawn = /obj/item/gun/ballistic/automatic/rom_flech/blueshield/empty
/obj/item/storage/toolbox/guncase/skyrat/blueshield_cmg/PopulateContents()
new weapon_to_spawn (src)
generate_items_inside(list(
/obj/item/ammo_box/magazine/caflechette = 2,
/obj/item/ammo_box/magazine/caflechette/ripper = 2,
), src)
@@ -0,0 +1,49 @@
//While I could also just, make it a subtype, I prefer to keep it seperate incase I need to switch later
/obj/item/gun/ballistic/automatic/rom_smg
name = "\improper RomTech Submachine gun"
desc = "A horrible conversion kit of the sindano only seen in usage by PMC and in Romulus Police Force. Accepts any standard Sol pistol magazine."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun40x32.dmi'
icon_state = "gelato"
lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_lefthand.dmi'
righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_righthand.dmi'
inhand_icon_state = "gelato"
special_mags = TRUE
bolt_type = BOLT_TYPE_OPEN
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_MEDIUM
slot_flags = ITEM_SLOT_SUITSTORE | ITEM_SLOT_BELT
accepted_magazine_type = /obj/item/ammo_box/magazine/c35sol_pistol
spawn_magazine_type = /obj/item/ammo_box/magazine/c35sol_pistol/stendo
fire_sound = 'modular_skyrat/modules/modular_weapons/sounds/smg_light.ogg'
can_suppress = TRUE
suppressor_x_offset = 11
burst_size = 1
fire_delay = 2
spread = 4
actions_types = list()
/obj/item/gun/ballistic/automatic/rom_smg/Initialize(mapload)
. = ..()
give_autofire()
/// Separate proc for handling auto fire just because one of these subtypes isn't otomatica
/obj/item/gun/ballistic/automatic/rom_smg/proc/give_autofire()
AddComponent(/datum/component/automatic_fire, fire_delay)
/obj/item/gun/ballistic/automatic/rom_smg/give_manufacturer_examine()
AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
//Does not have additional examine text.. Yet
@@ -23,7 +23,7 @@
name = "Trappiste 'Wespe' gunset"
weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/sol/no_mag
extra_to_spawn = /obj/item/ammo_box/magazine/c35sol_pistol
extra_to_spawn = /obj/item/ammo_box/magazine/c35sol_pistol/starts_empty
/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/eland
name = "Trappiste 'Eland' gunset"