Right Arms of the Broken World - Tajara Gun Resprites (#21743)

Resprites 3 Tajaran rifles, expanding them to use a 48x32 canvas, and
brings them in-line with lore as written in terms of weapon design
history. Additionally, adds 6.8mm in the form of the Tajaran Z33
Tamparii cartridge to further separate Tajara and Human history and arms
development.

All weapon sprites are made by me, except the ba and ss sling which was
borrowed from the Dominian rifle sprites. Special thanks to Elorg for
help in making these not look awful.
<details><summary>Z33 Tamparii</summary>
<p>
<img width="331" height="332" alt="image"
src="https://github.com/user-attachments/assets/f9892dc8-9c6d-45c6-8779-3ad3e39abaed"
/>

An old caliber that continues to show its usefulness. The compromise
between weight and firepower, as well as room to change the powder load
has seen the cartridge remain in service across Adhomai.
</p>
</details> 
<details><summary>Tsarrayut Rifle (PRA)</summary>
<p>
<img width="572" height="387" alt="image"
src="https://github.com/user-attachments/assets/53327f3b-4b87-415e-8215-b1c2ccc08c9c"
/>

Redesigned to a general magazine-fed rifle. Not meant to be flashy or
cool, simply easy to mass-produce and train conscripts. Additionally,
still takes old bolt action rifle clips.
</p>
</details> 
<details><summary>Hotaki Marksman Rifle (ALA)</summary>
<p>
<img width="586" height="400" alt="image"
src="https://github.com/user-attachments/assets/c08986ec-1134-4869-8dc2-36b981a211f9"
/>

Carries many of the same lines and design from the Tsarrayut, especially
in the receiver. However, it was modified to be a bullpup for a longer
barrel. Higher bullet velocity for a similar overall length; perfect for
a marksman harassing down an enemy.
</p>
</details> 
<details><summary>Mrrazhak Assault Rifle (ALA)</summary>
<p>
<img width="483" height="332" alt="image"
src="https://github.com/user-attachments/assets/3f0a2885-49bb-418b-b956-4d2f89a60b40"
/>

Pretty much a shortened Hotaki. Intended to have a similar barrel length
to the Tsarrayut, but a shorter overall gun.
</p>
</details> 

WIP for the following items:

- [x] Golden Mrrazhak
- [x] Cartridge balancing
- [x] Addition/clean-up with uplink items
- [x] Addition/clean-up with ghost roles

---------

Signed-off-by: CatsinHD <31459154+CatsinHD@users.noreply.github.com>
Signed-off-by: Wildkins <john.wildkins@gmail.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
This commit is contained in:
CatsinHD
2026-02-17 16:30:22 +00:00
committed by GitHub
co-authored by Wildkins
parent 8998842f7a
commit a1e55d0958
25 changed files with 261 additions and 119 deletions
+1 -1
View File
@@ -332,7 +332,7 @@
BOMB = ARMOR_BOMB_MINOR
)
siemens_coefficient = 0.50
allowed = list(/obj/item/gun/projectile/shotgun/pump/rifle, /obj/item/ammo_magazine/boltaction, /obj/item/gun/projectile/automatic/rifle/adhomian, /obj/item/flashlight)
allowed = list(/obj/item/gun/projectile/shotgun/pump/rifle, /obj/item/ammo_magazine/boltaction/adhomai, /obj/item/ammo_magazine/a68, /obj/item/gun/projectile/automatic/rifle/adhomian, /obj/item/flashlight)
/obj/item/clothing/suit/storage/tajaran/dpra_jacket
name = "al'mariist jacket"
+1 -1
View File
@@ -43,7 +43,7 @@
id = /obj/item/card/id/syndicate
accessory = /obj/item/clothing/accessory/badge/hadii_card
belt_contents = list(
/obj/item/ammo_magazine/boltaction = 3,
/obj/item/ammo_magazine/a68 = 3,
/obj/item/grenade/smokebomb = 2,
/obj/item/plastique = 1,
/obj/item/gun/projectile/pistol/adhomai = 1,
@@ -545,6 +545,15 @@ If nothing is chosen, reload sounds revert to the default, which is metal_slide_
ammo_type = /obj/item/ammo_casing/vintage
caliber = "vintage"
/obj/item/ammo_magazine/boltaction/adhomai
name = "ammo clip (6.8mm)"
icon_state = "762"
ammo_type = /obj/item/ammo_casing/a68
caliber = "6.8mm"
/obj/item/ammo_magazine/boltaction/adhomai/blank
ammo_type = /obj/item/ammo_casing/a68/blank
/obj/item/ammo_magazine/d762
name = "magazine (7.62mm)"
icon_state = "SVD"
@@ -558,6 +567,25 @@ If nothing is chosen, reload sounds revert to the default, which is metal_slide_
/obj/item/ammo_magazine/d762/empty
initial_ammo = 0
/obj/item/ammo_magazine/a68
name = "magazine (6.8mm)"
icon_state = "a68"
mag_type = MAGAZINE
caliber = "6.8mm"
matter = list(DEFAULT_WALL_MATERIAL = 1800)
ammo_type = /obj/item/ammo_casing/a68/
max_ammo = 25
multiple_sprites = 1
insert_sound = SFX_RELOAD_RIFLE_SLIDE
/obj/item/ammo_magazine/a68/empty
initial_ammo = 0
/obj/item/ammo_magazine/a68/hotaki
icon_state = "SVD"
ammo_type = /obj/item/ammo_casing/a68/ap
max_ammo = 10
// Shotguns and special //
/obj/item/ammo_magazine/flechette
name = "flechette rounds"
@@ -263,6 +263,27 @@
. = ..()
expend()
/obj/item/ammo_casing/a68
desc = "A Z33 Tamparii bullet casing."
caliber = "6.8mm"
projectile_type = /obj/projectile/bullet/rifle/a68
icon_state = "rifle-casing"
spent_icon = "rifle-casing-spent"
max_stack = 5
/obj/item/ammo_casing/a68/spent/Initialize()
. = ..()
expend()
/obj/item/ammo_casing/a68/ap
desc = "A Z33r Tamparii bullet casing."
projectile_type = /obj/projectile/bullet/rifle/a68/ap
max_stack = 5
/obj/item/ammo_casing/a68/blank
desc = "A Z33t Tamparii blank casing."
projectile_type = /obj/projectile/bullet/blank
/obj/item/ammo_casing/a762/blank
desc = "A 7.62mm blank casing."
projectile_type = /obj/projectile/bullet/blank
@@ -545,13 +545,15 @@
automatic rifle. Laser weapons are usually used by high-ranking soldiers or special operatives. Regardless of advances in the small arms field, artillery is the Republican armys \
main weapon and pride."
load_method = SINGLE_CASING|SPEEDLOADER
ammo_type = /obj/item/ammo_casing/a762
allowed_magazines = null
magazine_type = null
load_method = MAGAZINE|SPEEDLOADER
caliber = "6.8mm"
ammo_type = /obj/item/ammo_casing/a68
allowed_magazines = list(/obj/item/ammo_magazine/a68, /obj/item/ammo_magazine/boltaction/adhomai)
magazine_type = /obj/item/ammo_magazine/a68
max_shells = 25
worn_x_dimension = 48 //Uses 48x32 gun sprite
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/gunshot/gunshot_rifle.ogg'
@@ -561,6 +563,17 @@
knife_x_offset = 23
knife_y_offset = 14
/obj/item/gun/projectile/automatic/rifle/adhomian/update_icon()
item_state = (ammo_magazine)? "tsarrayut" : "tsarrayut_nomag"
..() //Placed here so in-hand sprite reflects no magazine properly.
icon_state = (ammo_magazine)? "tsarrayut" : "tsarrayut_nomag"
/obj/item/gun/projectile/automatic/rifle/adhomian/attackby(obj/item/attacking_item, mob/user)
if(istype(attacking_item, /obj/item/ammo_magazine/boltaction) && !ammo_magazine)
to_chat(user, SPAN_WARNING("\The [src] cannot be reloaded without a magazine!"))
return
..()
/obj/item/gun/projectile/automatic/rifle/dpra
name = "adhomian assault rifle"
desc = "The Mrrazhak Model-1 is the newest Al'mariist automatic rifle. The Mrrazhak is notorious for its simple and reliable design; it can be fabricated and assembled without the \
@@ -568,33 +581,32 @@
icon = 'icons/obj/guns/mrrazhak.dmi'
icon_state = "mrrazhak"
item_state = "mrrazhak"
can_bayonet = TRUE
knife_x_offset = 22
knife_y_offset = 13
contained_sprite = TRUE
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
load_method = MAGAZINE|SPEEDLOADER
caliber = "6.8mm"
ammo_type = /obj/item/ammo_casing/a68
allowed_magazines = list(/obj/item/ammo_magazine/a68)
magazine_type = /obj/item/ammo_magazine/a68
max_shells = 25
worn_x_dimension = 48 //Uses 48x32 gun sprite
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/gunshot/gunshot_rifle.ogg'
is_wieldable = TRUE
magazine_type = /obj/item/ammo_magazine/c762/dpra
allowed_magazines = list(/obj/item/ammo_magazine/c762/dpra)
can_bayonet = TRUE
knife_x_offset = 23
knife_y_offset = 14
/obj/item/gun/projectile/automatic/rifle/dpra/update_icon()
if(ammo_magazine)
icon_state = "mrrazhak"
item_state = "mrrazhak"
else
icon_state = "mrrazhak_nomag"
item_state = "mrrazhak_nomag"
..()
/obj/item/gun/projectile/automatic/rifle/dpra/gold
name = "gold plated adhomian assault rifle"
desc = "The Mrrazhak Model-1 is the newest Al'mariist automatic rifle. The Mrrazhak is notorious for its simple and reliable design; it can be fabricated and assembled without the \
need of a specialized industry or a highly trained workforce. This one is golden plated."
icon = 'icons/obj/guns/golden_mrrazhak.dmi'
item_state = (ammo_magazine)? "mrrazhak" : "mrrazhak_nomag"
..() //Placed here so in-hand sprite reflects no magazine properly.
icon_state = (ammo_magazine)? "mrrazhak" : "mrrazhak_nomag"
/obj/item/gun/projectile/automatic/tommygun
name = "submachine gun"
@@ -6,9 +6,9 @@
item_state = "moistnugget"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/gunshot/gunshot_rifle.ogg'
caliber = "a762"
ammo_type = /obj/item/ammo_casing/a762
magazine_type = /obj/item/ammo_magazine/boltaction
caliber = "6.8mm"
ammo_type = /obj/item/ammo_casing/a68
magazine_type = /obj/item/ammo_magazine/boltaction/adhomai
max_shells = 5
rack_sound = 'sound/weapons/riflebolt.ogg'
@@ -37,7 +37,7 @@
/obj/item/gun/projectile/shotgun/pump/rifle/blank
desc = "A replica of a traditional Adhomian bolt action rifle. It has the seal of the Grand Romanovich Casino on its stock."
ammo_type = /obj/item/ammo_casing/a762/blank
ammo_type = /obj/item/ammo_casing/a68/blank
/obj/item/gun/projectile/shotgun/pump/rifle/scope
name = "sniper bolt action rifle"
@@ -189,14 +189,16 @@
force = 15
slot_flags = SLOT_BACK
origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_ILLEGAL = 5)
caliber = "a762"
caliber = "6.8mm"
recoil = 2
fire_sound = 'sound/weapons/gunshot/gunshot_svd.ogg'
load_method = MAGAZINE
max_shells = 10
magazine_type = /obj/item/ammo_magazine/d762
allowed_magazines = list(/obj/item/ammo_magazine/d762)
worn_x_dimension = 48 //Uses 48x32 gun sprite
magazine_type = /obj/item/ammo_magazine/a68/hotaki
allowed_magazines = list(/obj/item/ammo_magazine/a68/hotaki)
accuracy = -4
scoped_accuracy = 3
@@ -208,11 +210,9 @@
fire_delay = ROF_SUPERHEAVY
/obj/item/gun/projectile/dragunov/update_icon()
..()
if(ammo_magazine)
icon_state = "dragunov"
else
icon_state = "dragunov-empty"
item_state = (ammo_magazine)? "dragunov" : "dragunov_nomag"
..() //Placed here so in-hand sprite reflects no magazine properly.
icon_state = (ammo_magazine)? "dragunov" : "dragunov_nomag"
/obj/item/gun/projectile/dragunov/special_check(mob/user)
if(!wielded)
@@ -302,6 +302,18 @@
armor_penetration = 30
penetrating = FALSE
/obj/projectile/bullet/rifle/a68
name = "R33 Tamparii bullet"
damage = 40
armor_penetration = 17
penetrating = FALSE
/obj/projectile/bullet/rifle/a68/ap
name = "R33s Tamparii bullet"
damage = 30
armor_penetration = 30
penetrating = TRUE
/obj/projectile/bullet/rifle/a145
damage = 80
stun = 3