From: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com> Date: Mon, 19 Jan 2026 22:51:14 +0000 (-0800) Subject: Syndicate Weapons/Ammo rebalances + Weapons Case (#42468) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=159b0646a695c0c114de4977757b1b1660b48c5f;p=space-station-14.git Syndicate Weapons/Ammo rebalances + Weapons Case (#42468) * working commit * final batch of changes * reviw Co-authored-by: SnappingOpossum * lower china lake projectile speed * hnnnnnnnnnnnnnng * omelette joke back at popular request. --------- Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> Co-authored-by: SnappingOpossum --- diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index 0c8bce1600..2e001e6369 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -2,9 +2,6 @@ uplink-pistol-viper-name = Viper uplink-pistol-viper-desc = A small, easily concealable, but somewhat underpowered gun. Retrofitted with a fully automatic receiver. Uses pistol magazines (.35 auto). -uplink-estoc-bundle-name = Estoc DMR bundle -uplink-estoc-bundle-desc = A designated marksman rifle, fitted with a mid-range optic for longer-range combat. Bundled with two rifle magazines (.20 rifle). - uplink-revolver-python-name = Python uplink-revolver-python-desc = A brutally simple, effective, and loud Syndicate revolver. Comes loaded with armor-piercing rounds. Uses .45 magnum. @@ -36,7 +33,19 @@ uplink-gloves-knuckleduster-name = Syndicate Knuckle Dusters uplink-gloves-knuckleduster-desc = A pair of plastitanium knuckle dusters that let you punch hard enough to break the captains jaw into pieces. uplink-hushpup-name = Hushpup -uplink-hushpup-desc = A powerful silenced shotgun with a low magazine capacity. Comes with a spare box of buckshot. Uses .50 shotgun ammo. +uplink-hushpup-desc = A powerful silenced shotgun with a low magazine capacity. Uses .50 shotgun ammo. + +uplink-c20r-name = C-20r +uplink-c20r-desc = Old faithful: The classic C-20r Submachine Gun. + +uplink-bulldog-name = Bulldog +uplink-bulldog-desc = Lean and mean: Contains the popular Bulldog Shotgun. + +uplink-estoc-name = Estoc DMR +uplink-estoc-desc = A designated marksman rifle, fitted with a mid-range optic for longer-range combat. + +uplink-grenade-launcher-name = China-Lake +uplink-grenade-launcher-desc = An old China-Lake grenade launcher bundled with 5 rounds of anti-personnel ammo. # Explosives uplink-explosive-grenade-name = Explosive Grenade @@ -258,8 +267,11 @@ uplink-sniper-bundle-desc = An inconspicuous briefcase that contains a Hristov, uplink-c20r-bundle-name = C-20r Bundle uplink-c20r-bundle-desc = Old faithful: The classic C-20r Submachine Gun, bundled with three magazines. -uplink-buldog-bundle-name = Bulldog Bundle -uplink-buldog-bundle-desc = Lean and mean: Contains the popular Bulldog Shotgun, a 12g slug drum, and four 12g buckshot drums. +uplink-bulldog-bundle-name = Bulldog Bundle +uplink-bulldog-bundle-desc = Lean and mean: Contains the popular Bulldog Shotgun, a 12g slug drum, and four 12g buckshot drums. + +uplink-estoc-bundle-name = Estoc DMR bundle +uplink-estoc-bundle-desc = A designated marksman rifle, fitted with a mid-range optic for longer-range combat. Bundled with two rifle magazines (.20 rifle). uplink-grenade-launcher-bundle-name = China-Lake Bundle uplink-grenade-launcher-bundle-desc = An old China-Lake grenade launcher bundled with 11 rounds of varying destructive capability. diff --git a/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml b/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml index baa3c4802d..442af8f447 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/briefcases.yml @@ -11,15 +11,9 @@ - type: entity id: BriefcaseSyndieSniperBundleFilled - parent: BriefcaseSyndie + parent: BriefcaseBrown suffix: Syndicate, Sniper Bundle components: - - type: Item - size: Ginormous - - type: Storage - maxItemSize: Huge - grid: - - 0,0,6,3 - type: EntityTableContainerFill containers: storagebase: !type:AllSelector @@ -63,3 +57,58 @@ - id: ClothingEyesGlassesSunglasses - id: SpaceCash20000 - id: ClothingHandsGlovesColorBlack + +- type: entity + id: BriefcaseWeaponHushpupFilled + parent: BriefcaseWeaponSmall + name: secure hushpup case + components: + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: WeaponShotgunHushpup + - id: TreasureCoinIron + +- type: entity + id: BriefcaseWeaponC20Filled + parent: BriefcaseWeaponSmall + name: secure C-20r case + components: + - type: EntityTableContainerFill + containers: + storagebase: + id: WeaponSubMachineGunC20r + +- type: entity + id: BriefcaseWeaponBulldogFilled + parent: BriefcaseWeaponSmall + name: secure bulldog case + components: + - type: EntityTableContainerFill + containers: + storagebase: + id: WeaponShotgunBulldog + +- type: entity + id: BriefcaseWeaponDMRFilled + parent: BriefcaseWeapon + name: secure estoc case + components: + - type: EntityTableContainerFill + containers: + storagebase: + id: WeaponRifleEstoc + +- type: entity + id: BriefcaseWeaponChinaLakeFilled + parent: BriefcaseWeapon + name: secure china lake case + components: + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: WeaponLauncherChinaLake + - id: GrenadeFrag + amount: 2 diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index c179b3e1d2..f9d559afbb 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -14,19 +14,6 @@ categories: - UplinkWeaponry -- type: listing - id: UplinkRevolverPython - name: uplink-revolver-python-name - description: uplink-revolver-python-desc - productEntity: WeaponRevolverPythonAP - discountCategory: rareDiscounts - discountDownTo: - Telecrystal: 2 - cost: - Telecrystal: 4 # Originally was 13 and then 8 TC but was not used due to high cost - categories: - - UplinkWeaponry - # Inbuilt suppressor so it's sneaky + more expensive. - type: listing id: UplinkPistolCobra @@ -131,9 +118,9 @@ productEntity: ClothingHandsKnuckleDustersSyndicate discountCategory: veryRareDiscounts discountDownTo: - Telecrystal: 3 + Telecrystal: 2 cost: - Telecrystal: 6 + Telecrystal: 4 categories: - UplinkWeaponry @@ -184,7 +171,7 @@ discountDownTo: Telecrystal: 6 cost: - Telecrystal: 12 + Telecrystal: 10 categories: - UplinkWeaponry @@ -193,7 +180,7 @@ name: uplink-hushpup-name description: uplink-hushpup-desc icon: { sprite: /Textures/Objects/Weapons/Guns/Shotguns/hushpup.rsi, state: icon } - productEntity: ClothingBackpackDuffelSyndicateFilledHushpup + productEntity: BriefcaseWeaponHushpupFilled discountCategory: rareDiscounts discountDownTo: Telecrystal: 8 @@ -202,6 +189,25 @@ categories: - UplinkWeaponry +- type: listing + id: UplinkC20R + name: uplink-c20r-name + description: uplink-c20r-desc + icon: { sprite: /Textures/Objects/Weapons/Guns/SMGs/c20r.rsi, state: icon } + productEntity: BriefcaseWeaponC20Filled + discountCategory: veryRareDiscounts + discountDownTo: + Telecrystal: 10 + cost: + Telecrystal: 14 + categories: + - UplinkWeaponry + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - NukeOpsUplink + - type: listing id: UplinkC20RBundle name: uplink-c20r-bundle-name @@ -215,6 +221,68 @@ Telecrystal: 17 categories: - UplinkWeaponry + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkBulldog + name: uplink-bulldog-name + description: uplink-bulldog-desc + icon: { sprite: /Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi, state: icon } + productEntity: BriefcaseWeaponBulldogFilled + discountCategory: veryRareDiscounts + discountDownTo: + Telecrystal: 10 + cost: + Telecrystal: 14 + categories: + - UplinkWeaponry + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkBulldogBundle + name: uplink-bulldog-bundle-name + description: uplink-bulldog-bundle-desc + icon: { sprite: /Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi, state: icon } + productEntity: ClothingBackpackDuffelSyndicateFilledShotgun + discountCategory: veryRareDiscounts + discountDownTo: + Telecrystal: 12 + cost: + Telecrystal: 20 + categories: + - UplinkWeaponry + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkEstoc + name: uplink-estoc-name + description: uplink-estoc-desc + icon: { sprite: /Textures/Objects/Weapons/Guns/Rifles/estoc.rsi, state: icon } + productEntity: BriefcaseWeaponDMRFilled + discountCategory: veryRareDiscounts + discountDownTo: + Telecrystal: 10 + cost: + Telecrystal: 14 + categories: + - UplinkWeaponry + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - NukeOpsUplink - type: listing id: UplinkEstocBundle @@ -229,20 +297,27 @@ Telecrystal: 18 categories: - UplinkWeaponry + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink - type: listing - id: UplinkBulldogBundle - name: uplink-buldog-bundle-name - description: uplink-buldog-bundle-desc - icon: { sprite: /Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi, state: icon } - productEntity: ClothingBackpackDuffelSyndicateFilledShotgun - discountCategory: veryRareDiscounts - discountDownTo: - Telecrystal: 12 + id: UplinkGrenadeLauncher + name: uplink-grenade-launcher-name + description: uplink-grenade-launcher-desc + icon: { sprite: /Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi, state: icon } + productEntity: BriefcaseWeaponChinaLakeFilled cost: Telecrystal: 20 categories: - UplinkWeaponry + conditions: + - !type:StoreWhitelistCondition + blacklist: + tags: + - NukeOpsUplink - type: listing id: UplinkGrenadeLauncherBundle @@ -257,6 +332,11 @@ Telecrystal: 25 categories: - UplinkWeaponry + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink - type: listing id: UplinkL6SawBundle @@ -531,7 +611,7 @@ icon: { sprite: /Textures/Objects/Weapons/Guns/Ammunition/Magazine/Shotgun/m12.rsi, state: slug } productEntity: MagazineShotgunSlug cost: - Telecrystal: 3 + Telecrystal: 2 categories: - UplinkAmmo @@ -547,18 +627,6 @@ categories: - UplinkAmmo -# For the Python -- type: listing - id: UplinkSpeedLoaderMagnumAP - name: uplink-speedloader-magnum-name - description: uplink-speedloader-magnu-desc - icon: { sprite: /Textures/Objects/Weapons/Guns/Ammunition/SpeedLoaders/Magnum/magnum_speed_loader.rsi, state: icon } - productEntity: SpeedLoaderMagnumAP - cost: - Telecrystal: 3 - categories: - - UplinkAmmo - # For the mosin - type: listing id: UplinkMosinAmmo @@ -1196,7 +1264,6 @@ components: - SurplusBundle - - type: listing id: UplinkSingarityBeacon name: uplink-singularity-beacon-name diff --git a/Resources/Prototypes/Entities/Objects/Misc/briefcases.yml b/Resources/Prototypes/Entities/Objects/Misc/briefcases.yml index 55d4bb33ce..acb253219f 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/briefcases.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/briefcases.yml @@ -32,3 +32,48 @@ components: - type: Item size: Huge + +- type: entity + parent: [BriefcaseBase, BaseSyndicateContraband] + id: BriefcaseWeapon + name: secure weapon case + suffix: Gun, Empty + description: Useful for aspiring mercenaries, whether you're fighting for a company, a nation or anyone else. Or just making a really big omelette. + components: + - type: Appearance + - type: Sprite + sprite: Objects/Storage/Briefcases/weapon_case_large.rsi + layers: + - state: icon + map: [ base ] + - state: locked + map: [ "enum.LockVisualLayers.Lock" ] + shader: unshaded + - state: unlocked + map: [ light ] + shader: unshaded + - type: Lock + - type: LockVisuals + - type: GenericVisualizer + visuals: + enum.StorageVisuals.Open: + base: + True: { state: icon-open } + False: { state: icon } + light: + True: { visible: true } + False: { visible: false } + +- type: entity + parent: BriefcaseWeapon + id: BriefcaseWeaponSmall + suffix: Gun, Small, Empty + components: + - type: Sprite + sprite: Objects/Storage/Briefcases/weapon_case.rsi + - type: Item + size: Large + - type: Storage + maxItemSize: Large + grid: + - 0,0,3,1 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml index 030966930b..f5fffa393f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml @@ -1,6 +1,6 @@ - type: entity name: BaseWeaponLauncher - parent: BaseItem + parent: [ BaseItem, BaseGunWieldable ] id: BaseWeaponLauncher description: A rooty tooty point and shooty. abstract: true @@ -19,10 +19,18 @@ containers: ballistic-ammo: !type:Container ents: [] + - type: Gun + fireRate: 1 + projectileSpeed: 25 # Slower than a bullet, same speed as our old projectile limit. + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg - type: entity name: china lake - parent: [BaseWeaponLauncher, BaseGunWieldable, BaseSyndicateContraband] + parent: [BaseWeaponLauncher, BaseSyndicateContraband] id: WeaponLauncherChinaLake description: PLOOP. components: @@ -41,13 +49,6 @@ shape: - 0,0,4,2 - type: AmmoCounter - - type: Gun - fireRate: 1 - selectedMode: SemiAuto - availableModes: - - SemiAuto - soundGunshot: - path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg - type: BallisticAmmoProvider whitelist: tags: @@ -61,7 +62,7 @@ price: 10000 - type: entity - parent: [ BaseWeaponLauncher, BaseGunWieldable, BaseMajorContraband ] + parent: [ BaseWeaponLauncher, BaseMajorContraband ] id: WeaponLauncherHydra name: hydra description: PLOOP... FSSSSSS... @@ -79,13 +80,6 @@ - type: Item size: Huge - type: AmmoCounter - - type: Gun - fireRate: 1 - selectedMode: SemiAuto - availableModes: - - SemiAuto - soundGunshot: - path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg - type: GunRequiresWield - type: ContainerContainer containers: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml index 21dc8b7f31..f71a39c48a 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml @@ -321,3 +321,7 @@ - type: Appearance - type: StaticPrice price: 5000 + - type: MeleeWeapon + damage: + types: + Blunt: 8 diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/icon-open.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/icon-open.png new file mode 100644 index 0000000000..8e6d00afdb Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/icon-open.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/icon.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/icon.png new file mode 100644 index 0000000000..c3bc73a380 Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/inhand-left.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/inhand-left.png new file mode 100644 index 0000000000..8e888f2d7f Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/inhand-right.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/inhand-right.png new file mode 100644 index 0000000000..97d0e35f3c Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/locked.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/locked.png new file mode 100644 index 0000000000..c34a8689fd Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/locked.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/meta.json b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/meta.json new file mode 100644 index 0000000000..ab2d50b59c --- /dev/null +++ b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/meta.json @@ -0,0 +1,31 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by SlamBamActionMan (github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "locked" + }, + { + "name": "unlocked" + }, + { + "name": "icon-open" + } + ] +} diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/unlocked.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/unlocked.png new file mode 100644 index 0000000000..e61d3b113f Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case.rsi/unlocked.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/icon-open.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/icon-open.png new file mode 100644 index 0000000000..4211dbe615 Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/icon-open.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/icon.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/icon.png new file mode 100644 index 0000000000..6bc4a3b4ae Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/inhand-left.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/inhand-left.png new file mode 100644 index 0000000000..cb1372c97f Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/inhand-right.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/inhand-right.png new file mode 100644 index 0000000000..fd0314b3a4 Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/locked.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/locked.png new file mode 100644 index 0000000000..4a1404f200 Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/locked.png differ diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/meta.json b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/meta.json new file mode 100644 index 0000000000..ab2d50b59c --- /dev/null +++ b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/meta.json @@ -0,0 +1,31 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by SlamBamActionMan (github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "locked" + }, + { + "name": "unlocked" + }, + { + "name": "icon-open" + } + ] +} diff --git a/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/unlocked.png b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/unlocked.png new file mode 100644 index 0000000000..34d574abce Binary files /dev/null and b/Resources/Textures/Objects/Storage/Briefcases/weapon_case_large.rsi/unlocked.png differ diff --git a/Resources/Textures/Objects/Tools/Toolboxes/toolbox_syn.rsi/meta.json b/Resources/Textures/Objects/Tools/Toolboxes/toolbox_syn.rsi/meta.json index ebc7858be9..f4c473b8ca 100644 --- a/Resources/Textures/Objects/Tools/Toolboxes/toolbox_syn.rsi/meta.json +++ b/Resources/Textures/Objects/Tools/Toolboxes/toolbox_syn.rsi/meta.json @@ -22,4 +22,4 @@ "name": "icon-open" } ] -} \ No newline at end of file +}