Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quarad rebalance, minor nukie + import gun changes #5212

Merged
merged 32 commits into from
Feb 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
c8c16ff
Time to get started
Loiosh42 Jan 27, 2025
8bd1456
The rest of the work + BASIC sprites. I"m tired.
Loiosh42 Jan 27, 2025
b8097a8
Little tweaks
Loiosh42 Jan 27, 2025
7ff094c
Testing soon
Loiosh42 Jan 27, 2025
e1119ec
Bugfix 1
Loiosh42 Jan 28, 2025
f10bde1
Bleaugh
Loiosh42 Jan 28, 2025
9b29d69
Should work
Loiosh42 Jan 29, 2025
8f6a26a
Sprites for nukie
Loiosh42 Jan 30, 2025
4fd4360
NEARLY DONE
Loiosh42 Jan 30, 2025
c26a241
Hnrgh the damage bonus isn't working right
Loiosh42 Jan 30, 2025
56a3e25
So much work
Loiosh42 Jan 30, 2025
f02fd7d
YARRR
Loiosh42 Jan 30, 2025
8b901d7
Pain
Loiosh42 Jan 30, 2025
d92935d
Should stop the errors..
Loiosh42 Jan 30, 2025
7b7e17d
Tweaks + more sprites + hopefully function
Loiosh42 Jan 31, 2025
8f28bf4
There, function without runtimes.
Loiosh42 Jan 31, 2025
bde53e2
Lanca nerf
Loiosh42 Jan 31, 2025
a908a21
final?
Loiosh42 Jan 31, 2025
c290540
Guh
Loiosh42 Jan 31, 2025
e8ff62c
Hnrgh
Loiosh42 Jan 31, 2025
dc1757e
Yet another tiny tweak
Loiosh42 Jan 31, 2025
5e2d702
Apparently I am insane.
Loiosh42 Jan 31, 2025
f005b5a
Yadda yadda
Loiosh42 Jan 31, 2025
3f7b150
Guh
Loiosh42 Jan 31, 2025
4ebf33c
Didn't know that was how it worked.
Loiosh42 Jan 31, 2025
9a020b6
Update monkestation/code/modules/projectiles/projectile/bullets/machi…
Loiosh42 Feb 11, 2025
4a1d1d2
Update monkestation/code/modules/projectiles/projectile/bullets/machi…
Loiosh42 Feb 11, 2025
9416ef3
Update monkestation/code/modules/projectiles/guns/ballistic/machine_g…
Loiosh42 Feb 11, 2025
23a83d3
Update monkestation/code/modules/projectiles/projectile/bullets/machi…
Loiosh42 Feb 11, 2025
b8c105b
Requested changes
Loiosh42 Feb 11, 2025
25729d2
Merge branch 'Quarad_And_Imports_Rebalance' of https://github.com/Loi…
Loiosh42 Feb 11, 2025
0ad9f6b
Need a newline at the end of all files or it complains
Loiosh42 Feb 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/modules/projectiles/boxes_magazines/external/smg.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
base_icon_state = "c20r45"
ammo_type = /obj/item/ammo_casing/c45
caliber = CALIBER_45
max_ammo = 24
max_ammo = 42 ///monke edit 24 -> 42

/obj/item/ammo_box/magazine/smgm45/update_icon_state()
. = ..()
Expand Down
5 changes: 5 additions & 0 deletions code/modules/projectiles/projectile/bullets/lmg.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
/obj/projectile/bullet/mm712x82/ap
name = "7.12x82mm armor-piercing bullet"
armour_penetration = 75
speed = 0.3 //monke edit

/obj/projectile/bullet/mm712x82/hp
name = "7.12x82mm hollow-point bullet"
Expand All @@ -56,13 +57,15 @@
name = "7.12x82mm incendiary bullet"
damage = 15
fire_stacks = 3
speed = 0.6 //monke edit

/obj/projectile/bullet/mm712x82/match
name = "7.12x82mm match bullet"
ricochets_max = 2
ricochet_chance = 60
ricochet_auto_aim_range = 4
ricochet_incidence_leeway = 55
speed = 0.3 //monke edit

/obj/projectile/bullet/mm712x82/bouncy
name = "7.12x82mm rubber bullet"
Expand All @@ -72,3 +75,5 @@
ricochet_auto_aim_range = 4
ricochet_incidence_leeway = 0
ricochet_decay_chance = 0.9
speed = 0.6 //monke edit

2 changes: 1 addition & 1 deletion code/modules/projectiles/projectile/bullets/smg.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/obj/projectile/bullet/c45
name = ".45 bullet"
damage = 30
wound_bonus = -10
wound_bonus = 20 ///monke -10 -> 20
wound_falloff_tile = -10

/obj/projectile/bullet/c45/ap
Expand Down
2 changes: 2 additions & 0 deletions code/modules/projectiles/projectile/reusable/foam_dart.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,5 @@
base_icon_state = "foamdart_riot_proj"
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot
stamina = 25
debilitating = TRUE
debilitate_mult = 4
1 change: 1 addition & 0 deletions monkestation/code/__DEFINES/projectile.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
/// The caliber used by the Paco handgun.
#define CALIBER_35 ".35"
#define CALIBER_C65XENO "6.5x39"
4 changes: 2 additions & 2 deletions monkestation/code/modules/blueshift/armaments/sol.dm
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,12 @@
item_type = /obj/item/gun/ballistic/automatic/sol_rifle
cost = PAYCHECK_COMMAND * 14
contraband = TRUE

/* ///Monke removal
/datum/armament_entry/company_import/sol_defense/longarm/outomaties
item_type = /obj/item/gun/ballistic/automatic/sol_rifle/machinegun
cost = PAYCHECK_COMMAND * 23
contraband = TRUE

*/
/datum/armament_entry/company_import/sol_defense/longarm/kiboko
item_type = /obj/item/gun/ballistic/automatic/sol_grenade_launcher
cost = PAYCHECK_COMMAND * 46
Expand Down
3 changes: 2 additions & 1 deletion monkestation/code/modules/blueshift/items/ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -632,9 +632,10 @@

/obj/projectile/bullet/strilka310/ap
name = ".310 armor-piercing bullet"
damage = 50
damage = 45
armour_penetration = 50
wound_bonus = -20
speed = 0.3

// .585 Trappiste
// High caliber round used in large pistols and revolvers
Expand Down
6 changes: 3 additions & 3 deletions monkestation/code/modules/blueshift/items/company_guns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@
/obj/item/gun/ballistic/automatic/sol_rifle/marksman/no_mag
spawnwithmagazine = FALSE

// Machinegun based on the base Sol rifle

// Machinegun based on the base Sol rifle ///monke edit: Rechambered to 6.5mm Anti-Xeno, now in monkestation/modules/projectiles
/*
/obj/item/gun/ballistic/automatic/sol_rifle/machinegun
name = "\improper Qarad Light Machinegun"
desc = "A hefty machinegun commonly seen in the hands of SolFed military types. Accepts any standard SolFed rifle magazine."
Expand Down Expand Up @@ -152,7 +152,7 @@

/obj/item/gun/ballistic/automatic/sol_rifle/machinegun/no_mag
spawnwithmagazine = FALSE

*/
// Evil version of the rifle (nothing different its just black)

/obj/item/gun/ballistic/automatic/sol_rifle/evil
Expand Down
3 changes: 2 additions & 1 deletion monkestation/code/modules/blueshift/items/gunset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -216,9 +216,10 @@

generate_items_inside(list(
/obj/item/storage/toolbox/guncase/skyrat/carwo_large_case/kiboko_magless = 1,
/obj/item/ammo_box/c980grenade = 2,
/obj/item/ammo_box/c980grenade/shrapnel = 2, //monke edit, practice to shrapnel
/obj/item/ammo_box/c980grenade/smoke = 1,
/obj/item/ammo_box/c980grenade/riot = 1,
/obj/item/storage/toolbox/guncase/skyrat/quarad_guncase = 1, //monke edit
), src)

/obj/structure/closet/secure_closet/armory_kiboko_but_evil
Expand Down
2 changes: 1 addition & 1 deletion monkestation/code/modules/blueshift/spawners/armory.dm
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@
guns = list(
/obj/item/gun/ballistic/automatic/sol_rifle,
/obj/item/gun/ballistic/automatic/sol_rifle,
/obj/item/gun/ballistic/automatic/sol_rifle/machinegun,
/obj/item/gun/ballistic/automatic/quarad_lmg, ///Monke edit, sol quarad to 6.5 Anti-xeno
)

/obj/effect/spawner/armory_spawn/centcom_lasers
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
/obj/item/ammo_casing/c65xeno
name = "6.5mm Anti-Xeno frangible bullet casing"
desc = "An unusual 6.5mm caseless round, designed for minimum property damage, maximum xenomorph shredding"
icon = 'monkestation/code/modules/blueshift/icons/obj/company_and_or_faction_based/carwo_defense_systems/ammo.dmi'
icon_state = "40sol"
caliber = CALIBER_C65XENO
projectile_type = /obj/projectile/bullet/c65xeno

/obj/item/ammo_casing/c65xeno/Initialize(mapload)
. = ..()
AddElement(/datum/element/caseless)

/obj/item/ammo_casing/c65xeno/evil
name = "6.5mm FMJ bullet casing"
desc = "A 6.5mm caseless frangible round with the projectile replaced by a terrestial military round. Much more effective against armor, and at breaking windows."
caliber = CALIBER_C65XENO
projectile_type = /obj/projectile/bullet/c65xeno/evil
can_be_printed = FALSE

/obj/item/ammo_casing/c65xeno/pierce
name = "6.5mm Subcaliber tungsten sabot round"
desc = "A 6.5mm caseless round loaded with a subcaliber tungsten penetrator. Designed to punch straight through targets."
projectile_type = /obj/projectile/bullet/c65xeno/pierce

custom_materials = AMMO_MATS_AP
advanced_print_req = TRUE

/obj/item/ammo_casing/c65xeno/pierce/evil
name = "6.5mm UDS"
desc = "A 6.5mm Uranium Discarding Sabot. No, NOT depleted uranium. Prepare to be irradiated."
projectile_type = /obj/projectile/bullet/c65xeno/pierce/evil

can_be_printed = FALSE

/obj/item/ammo_casing/c65xeno/incendiary
name = "6.5mm Subcaliber incendiary round"
desc = "A 6.5mm caseless round tipped with an extremely flammable compound. Leaves no flaming trail, only igniting targets on impact."
projectile_type = /obj/projectile/bullet/c65xeno/incendiary

custom_materials = AMMO_MATS_TEMP
advanced_print_req = TRUE

/obj/item/ammo_casing/c65xeno/incendiary/evil
name = "6.5mm Inferno round"
desc = "A 6.5mm caseless round designed to leave a trail of EXTREMLY flammable substance behind it in flight. Do not smoke within 30 meters of these."
projectile_type = /obj/projectile/bullet/c65xeno/incendiary/evil

can_be_printed = FALSE


/obj/item/ammo_box/magazine/c65xeno_drum
name = "\improper 6.5mm drum magazine"
desc = "A hefty 120 round drum of 6.5mm frangible rounds, designed for minimal damage to company property."

icon = 'monkestation/icons/obj/weapons/guns/ammo.dmi'
icon_state = "c65xeno_drum"

multiple_sprites = AMMO_BOX_FULL_EMPTY

w_class = WEIGHT_CLASS_BULKY

ammo_type = /obj/item/ammo_casing/c65xeno
caliber = CALIBER_C65XENO
max_ammo = 120

/obj/item/ammo_box/magazine/c65xeno_drum/pierce
name = "\improper 6.5mm AP drum magazine"
desc = "A hefty 120 round drum of 6.5mm saboted tungsten penetrators, designed to punch through multiple targets. Warning: Liable to break windows."

icon = 'monkestation/icons/obj/weapons/guns/ammo.dmi'
icon_state = "c65xeno_drumP"

ammo_type = /obj/item/ammo_casing/c65xeno/pierce
max_ammo = 120

/obj/item/ammo_box/magazine/c65xeno_drum/incendiary
name = "\improper 6.5mm incendiary drum magazine"
desc = "A hefty 120 round drum of 6.5mm rounds tipped with an incendiary compound."

icon = 'monkestation/icons/obj/weapons/guns/ammo.dmi'
icon_state = "c65xeno_drumI"

ammo_type = /obj/item/ammo_casing/c65xeno/incendiary
max_ammo = 120

/obj/item/ammo_box/magazine/c65xeno_drum/evil
name = "\improper 6.5mm FMJ drum magazine"
desc = "A hefty 120 round drum of 6.5mm FMJ rounds."

icon = 'monkestation/icons/obj/weapons/guns/ammo.dmi'
icon_state = "c65xeno_drumevil"

ammo_type = /obj/item/ammo_casing/c65xeno/evil
max_ammo = 120

/obj/item/ammo_box/magazine/c65xeno_drum/pierce/evil
name = "\improper 6.5mm UDS drum magazine"
desc = "A hefty 120 round drum of 6.5mm Uranium Discarding Sabot rounds. No, NOT depleted uranium. Prepare for your enemies to be irradiated."

icon = 'monkestation/icons/obj/weapons/guns/ammo.dmi'
icon_state = "c65xeno_drumPevil"

ammo_type = /obj/item/ammo_casing/c65xeno/pierce/evil
max_ammo = 120

/obj/item/ammo_box/magazine/c65xeno_drum/incendiary/evil
name = "\improper 6.5mm Inferno drum magazine"
desc = "A hefty 120 round drum of 6.5mm inferno rounds. They leave a trail of fire as they fly."

icon = 'monkestation/icons/obj/weapons/guns/ammo.dmi'
icon_state = "c65xeno_drumIevil"

ammo_type = /obj/item/ammo_casing/c65xeno/incendiary/evil
max_ammo = 120
109 changes: 109 additions & 0 deletions monkestation/code/modules/projectiles/guns/ballistic/machine_guns.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
// Base Sol rifle

/obj/item/gun/ballistic/automatic/quarad_lmg
name = "\improper Qarad Light Machinegun"
desc = "A spotless, if outdated machinegun. The same model was used to great effect against xenomorph incursions in the past, hopefully this one doesn't have any manufacturing defects...."

icon = 'monkestation/icons/obj/weapons/guns/guns48x.dmi'
icon_state = "outomaties"

worn_icon = 'monkestation/code/modules/blueshift/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_worn.dmi'
worn_icon_state = "outomaties"

lefthand_file = 'monkestation/code/modules/blueshift/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_lefthand.dmi'
righthand_file = 'monkestation/code/modules/blueshift/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_righthand.dmi'
inhand_icon_state = "outomaties"

bolt_type = BOLT_TYPE_OPEN

accepted_magazine_type = /obj/item/ammo_box/magazine/c65xeno_drum
spawn_magazine_type = /obj/item/ammo_box/magazine/c65xeno_drum

SET_BASE_PIXEL(-8, 0)

special_mags = TRUE

w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_HEAVY
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_SUITSTORE

fire_sound = 'monkestation/code/modules/blueshift/sounds/rifle_heavy.ogg'
suppressed_sound = 'monkestation/code/modules/blueshift/sounds/suppressed_rifle.ogg'
can_suppress = TRUE

can_bayonet = FALSE

suppressor_x_offset = 12

actions_types = list()

burst_size = 1
fire_delay = 0.2 SECONDS

recoil = 3
wield_recoil = 0.75
spread = 12.5

/obj/item/gun/ballistic/automatic/quarad_lmg/Initialize(mapload)
. = ..()

give_autofire()

/// Separate proc for handling auto fire just because one of these subtypes isn't otomatica
/obj/item/gun/ballistic/automatic/quarad_lmg/proc/give_autofire()
AddComponent(/datum/component/automatic_fire, fire_delay)

/obj/item/gun/ballistic/automatic/quarad_lmg/examine(mob/user)
. = ..()
. += span_notice("You can <b>examine closer</b> to learn a little more about this weapon.")

/obj/item/gun/ballistic/automatic/quarad_lmg/examine_more(mob/user)
. = ..()

. += "The Qarad light machinegun is an old weapon, dating back to the largest of the \
xenomorph containment efforts. It's specially-tooled 6.5mm cartridges have \
poor effect on humans, being designed for much more durable targets. \
Despite it's age and suboptimal design, it will still spit bullets down-range \
like nothing else. After a string of expensive xenomorph breaches on research stations,\
NT pulled these machine guns out of deep storage, many still in their original packaging."



/obj/item/gun/ballistic/automatic/quarad_lmg/evil
name = "\improper Suspicious Qarad Light Machinegun"
desc = "A heavily modified machinegun, complete with bluespace barrel extender! More bullet per bullet, more barrel per inch!"

icon_state = "outomaties_evil"
worn_icon = 'monkestation/icons/mob/inhands/gunsx48_worn.dmi'
worn_icon_state = "outomaties_evil"
lefthand_file = 'monkestation/icons/mob/inhands/weapons/guns_lefthandx48.dmi'
righthand_file = 'monkestation/icons/mob/inhands/weapons/guns_righthandx48.dmi'
inhand_icon_state = "outomaties_evil"
spawn_magazine_type = /obj/item/ammo_box/magazine/c65xeno_drum/evil
fire_delay = 0.1 SECONDS
recoil = 2
wield_recoil = 0.25
spread = 8
projectile_wound_bonus = 10
projectile_damage_multiplier = 1.3

/obj/item/storage/toolbox/guncase/skyrat/quarad_guncase
name = "\improper Quarad light machinegun storage case"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this and... every single instance of "Quarad" is a typo i think (original name is Qarad)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guh. I could fix it, but I'm not certain it matters honestly, provided tis consistent.


weapon_to_spawn = /obj/item/gun/ballistic/automatic/quarad_lmg
extra_to_spawn = /obj/item/ammo_box/magazine/c65xeno_drum
var/extra_to_spawn2 = /obj/item/ammo_box/magazine/c65xeno_drum/pierce
var/extra_to_spawn3 = /obj/item/ammo_box/magazine/c65xeno_drum/incendiary

/obj/item/storage/toolbox/guncase/skyrat/quarad_guncase/PopulateContents()
new weapon_to_spawn (src)
new extra_to_spawn (src)
new extra_to_spawn2 (src)
new extra_to_spawn3 (src)

/obj/item/storage/toolbox/guncase/skyrat/quarad_guncase/evil ///Currently unavailable, exists for easy testing and admeming
name = "\improper EVIL Quarad light machinegun storage case"
weapon_to_spawn = /obj/item/gun/ballistic/automatic/quarad_lmg/evil
extra_to_spawn = /obj/item/ammo_box/magazine/c65xeno_drum/evil
extra_to_spawn2 = /obj/item/ammo_box/magazine/c65xeno_drum/pierce/evil
extra_to_spawn3 = /obj/item/ammo_box/magazine/c65xeno_drum/incendiary/evil
Loading
Loading