diff --git a/Resources/Audio/_DV/Weapons/Guns/Gunshots/gamblagatorshot.ogg b/Resources/Audio/_DV/Weapons/Guns/Gunshots/gamblagatorshot.ogg new file mode 100644 index 0000000000..4571bf00dd Binary files /dev/null and b/Resources/Audio/_DV/Weapons/Guns/Gunshots/gamblagatorshot.ogg differ diff --git a/Resources/Prototypes/Entities/Objects/Power/portable_recharger.yml b/Resources/Prototypes/Entities/Objects/Power/portable_recharger.yml index 3c553fc812..67ebc29960 100644 --- a/Resources/Prototypes/Entities/Objects/Power/portable_recharger.yml +++ b/Resources/Prototypes/Entities/Objects/Power/portable_recharger.yml @@ -36,3 +36,6 @@ components: - HitscanBatteryAmmoProvider - ProjectileBatteryAmmoProvider + blacklist: # DeltaV - Disallows recharging of superweapon + tags: + - GamblagatorCartridge diff --git a/Resources/Prototypes/Entities/Structures/Power/chargers.yml b/Resources/Prototypes/Entities/Structures/Power/chargers.yml index 9bacbd3c30..f1fc7a1208 100644 --- a/Resources/Prototypes/Entities/Structures/Power/chargers.yml +++ b/Resources/Prototypes/Entities/Structures/Power/chargers.yml @@ -143,6 +143,7 @@ blacklist: tags: - PowerCell + - GamblagatorCartridge # DeltaV - Disallows recharging of superweapon - type: Machine board: PowerCageRechargerCircuitboard - type: StaticPrice @@ -167,6 +168,9 @@ - HitscanBatteryAmmoProvider - ProjectileBatteryAmmoProvider - Stunbaton + blacklist: # DeltaV - prevents recharging of superweapon cartridges + tags: + - GamblagatorCartridge - type: entity parent: BaseItemRecharger @@ -193,6 +197,7 @@ blacklist: tags: - PotatoBattery + - GamblagatorCartridge # DeltaV - Disallows recharging of superweapon - type: entity parent: BaseItemRecharger @@ -219,6 +224,9 @@ - HitscanBatteryAmmoProvider - ProjectileBatteryAmmoProvider - Stunbaton + blacklist: # DeltaV - Disallows recharging of superweapon + tags: + - GamblagatorCartridge - type: entity parent: BaseRecharger diff --git a/Resources/Prototypes/Research/arsenal.yml b/Resources/Prototypes/Research/arsenal.yml index 81158f447b..793d8fde7b 100644 --- a/Resources/Prototypes/Research/arsenal.yml +++ b/Resources/Prototypes/Research/arsenal.yml @@ -183,6 +183,7 @@ recipeUnlocks: - WeaponAdvancedLaser - PortableRecharger + - GamblagatorCapacitor # DeltaV - added for superweapon #- type: technology # DeltaV - Removed for only causing issues # id: ExperimentalBatteryAmmo diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/security.yml b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/security.yml index c63f6cee84..47888506b4 100644 --- a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/security.yml +++ b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/security.yml @@ -114,3 +114,13 @@ - id: ClothingMaskMuzzle - id: ClothingHeadsetPrison - id: PrisonKnife # Bread cutting knife, does 4 damage total. + +- type: entity + parent: GunSafeBaseSecure + id: GunSafeGamblagator + name: Gamblagator safe + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:NestedSelector + tableId: GamblagatorTable diff --git a/Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/safes.yml b/Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/safes.yml index 6ad9fc975b..0e08dec991 100644 --- a/Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/safes.yml +++ b/Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/safes.yml @@ -63,4 +63,5 @@ table: !type:GroupSelector children: - id: GunSafeBeamDevastator - - id: GunSafeRocketLauncher \ No newline at end of file + - id: GunSafeRocketLauncher + - id: GunSafeGamblagator diff --git a/Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/security.yml b/Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/security.yml index 8f26ffa1a2..c7f8fc7f1e 100644 --- a/Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/security.yml +++ b/Resources/Prototypes/_DV/Entities/Markers/Spawners/Random/security.yml @@ -18,9 +18,25 @@ id: RandomSuperweaponTable table: !type:GroupSelector children: - - !type:AllSelector - children: - - id: WeaponLauncherRocket - - id: CartridgeRocket - prob: 0.2 + - !type:NestedSelector + tableId: RPGTable + - !type:NestedSelector + tableId: GamblagatorTable - id: WeaponBeamDevastator + +- type: entityTable + id: RPGTable + table: !type:AllSelector + children: + - id: WeaponLauncherRocket + - id: CartridgeRocket + prob: 0.2 + +- type: entityTable + id: GamblagatorTable + table: !type:AllSelector + children: + - id: WeaponSniperGamblagator + - id: GamblagatorCapacitor + amount: !type:ConstantNumberSelector + value: 4 diff --git a/Resources/Prototypes/_DV/Entities/Objects/Power/powercells.yml b/Resources/Prototypes/_DV/Entities/Objects/Power/powercells.yml new file mode 100644 index 0000000000..c1f2e0579e --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Objects/Power/powercells.yml @@ -0,0 +1,22 @@ +- type: entity + parent: BaseItem + id: GamblagatorCapacitor + name: gamblagator fuse + description: A capacitor made with the positive charge of bluespace crystals, designed to power the Gamblagator rifle. Theoretically possible to recharge but a suitable recharger has not yet been developed. + components: + - type: Tag + tags: + - GamblagatorCartridge + - type: HitscanBatteryAmmoProvider + proto: GamblagatorLaser + fireCost: 1000 + - type: Battery + maxCharge: 1000 # Shenanigan Prevention + startingCharge: 1000 + - type: Item + storedRotation: -90 + - type: PowerCell + - type: Riggable + - type: Sprite + sprite: _DV/Objects/Power/gamblagator_capacitors.rsi + state: capacitor diff --git a/Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index c0cf34e2d5..b49e9591e0 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -366,3 +366,53 @@ - type: BatterySelfRecharger autoRecharge: true autoRechargeRate: 50 + +- type: entity + parent: [ BaseItem, BaseGunWieldable, BaseSecurityContraband] + id: WeaponSniperGamblagator + name: Gamblagator + description: A monstrously powerful laser rifle. Outfitted with a scope, it requires special capacitors to be fired. + components: + - type: Item + size: Huge + - type: Sprite + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + sprite: _DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi + - type: Clothing + sprite: _DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi + quickEquip: false + slots: + - Back + - suitStorage + - type: AmmoCounter + - type: Gun + fireRate: 0.3 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/_DV/Weapons/Guns/Gunshots/gamblagatorshot.ogg + - type: MagazineAmmoProvider + - type: ItemSlots + slots: + gun_magazine: + name: Magazine + startingItem: GamblagatorCapacitor + insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg + whitelist: + tags: + - GamblagatorCartridge + - type: CursorOffsetRequiresWield + - type: EyeCursorOffset + maxOffset: 5 + pvsIncrease: 0.5 + - type: GunRequiresWield + - type: SpeedModifiedOnWield + walkModifier: 0.75 + sprintModifier: 0.75 + - type: ContainerContainer + containers: + gun_magazine: !type:ContainerSlot diff --git a/Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml b/Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml index c0a3986a9e..ef212c34f2 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml @@ -60,3 +60,19 @@ sprite: _DV/Objects/Weapons/Guns/Projectiles/projectiles.rsi state: impact_laser +- type: hitscan + id: GamblagatorLaser + damage: + types: + Heat: 100 + Radiation: 20 + Structural: 100 + muzzleFlash: + sprite: _DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi + state: evil_muzzle_flash + travelFlash: + sprite: _DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi + state: evil_laser + impactFlash: + sprite: _DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi + state: evil_impact diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/Packs/security.yml b/Resources/Prototypes/_DV/Recipes/Lathes/Packs/security.yml index 54a97af59b..174944946a 100644 --- a/Resources/Prototypes/_DV/Recipes/Lathes/Packs/security.yml +++ b/Resources/Prototypes/_DV/Recipes/Lathes/Packs/security.yml @@ -56,6 +56,7 @@ - MagazineBoxSpecialUranium - MagazineBoxSpecialHoly - MagazineBoxSpecialMindbreaker + - GamblagatorCapacitor - type: latheRecipePack parent: SecurityHardsuits diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/security.yml b/Resources/Prototypes/_DV/Recipes/Lathes/security.yml index 61c8c107a5..8fb95cd7af 100644 --- a/Resources/Prototypes/_DV/Recipes/Lathes/security.yml +++ b/Resources/Prototypes/_DV/Recipes/Lathes/security.yml @@ -281,3 +281,15 @@ Plastic: 500 Gold: 250 Plasma: 500 + +- type: latheRecipe + parent: BaseAmmoRecipe + id: GamblagatorCapacitor + result: GamblagatorCapacitor + materials: + Steel: 400 + Glass: 200 + Plastic: 200 + Gold: 200 + Plasma: 500 + Bluespace: 100 diff --git a/Resources/Prototypes/_DV/tags.yml b/Resources/Prototypes/_DV/tags.yml index 0e35cd7d8e..234061dadd 100644 --- a/Resources/Prototypes/_DV/tags.yml +++ b/Resources/Prototypes/_DV/tags.yml @@ -72,6 +72,9 @@ - type: Tag id: ForensicBeltEquip +- type: Tag + id: GamblagatorCartridge + - type: Tag id: Gavel diff --git a/Resources/Textures/_DV/Objects/Power/gamblagator_capacitors.rsi/capacitor.png b/Resources/Textures/_DV/Objects/Power/gamblagator_capacitors.rsi/capacitor.png new file mode 100644 index 0000000000..6313ffa042 Binary files /dev/null and b/Resources/Textures/_DV/Objects/Power/gamblagator_capacitors.rsi/capacitor.png differ diff --git a/Resources/Textures/_DV/Objects/Power/gamblagator_capacitors.rsi/meta.json b/Resources/Textures/_DV/Objects/Power/gamblagator_capacitors.rsi/meta.json new file mode 100644 index 0000000000..7cd35d4990 --- /dev/null +++ b/Resources/Textures/_DV/Objects/Power/gamblagator_capacitors.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Made by Stop-Signs (github) for Delta-V", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "capacitor" + } + ] +} diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/evil_impact.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/evil_impact.png new file mode 100644 index 0000000000..077dc5c97f Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/evil_impact.png differ diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/evil_laser.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/evil_laser.png new file mode 100644 index 0000000000..08a04e483e Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/evil_laser.png differ diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/evil_muzzle_flash.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/evil_muzzle_flash.png new file mode 100644 index 0000000000..f64b9ed8ab Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/evil_muzzle_flash.png differ diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/meta.json b/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/meta.json new file mode 100644 index 0000000000..f840b19611 --- /dev/null +++ b/Resources/Textures/_DV/Objects/Weapons/Guns/Projectiles/evil_projectile.rsi/meta.json @@ -0,0 +1,56 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "made by Stop-Signs (github) for DeltaV", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "evil_muzzle_flash", + "delays": [ + [ + 0.06, + 0.06, + 0.06, + 0.06, + 0.06, + 0.06, + 0.06, + 0.06 + ] + ] + }, + { + "name": "evil_laser", + "delays": [ + [ + 0.06, + 0.06, + 0.06, + 0.06, + 0.06, + 0.06, + 0.06, + 0.06 + ] + ] + }, + { + "name": "evil_impact", + "delays": [ + [ + 0.06, + 0.06, + 0.06, + 0.06, + 0.06, + 0.06, + 0.06, + 0.06 + ] + ] + } + ] +} diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/base.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/base.png new file mode 100644 index 0000000000..f9315e9641 Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/base.png differ diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/bolt-open.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/bolt-open.png new file mode 100644 index 0000000000..78ed7f715a Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/bolt-open.png differ diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/equipped-BACKPACK.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..5296de761c Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..5296de761c Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/inhand-left.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/inhand-left.png new file mode 100644 index 0000000000..ba62239350 Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/inhand-left.png differ diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/inhand-right.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/inhand-right.png new file mode 100644 index 0000000000..fa48333470 Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/inhand-right.png differ diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/meta.json b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/meta.json new file mode 100644 index 0000000000..a2054d8706 --- /dev/null +++ b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/meta.json @@ -0,0 +1,41 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/pull/13612/commits/c1cf3c42b0cd00023937e46845a7c32d6beefa0e, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244, edited by stop-signs (github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base" + }, + { + "name": "bolt-open" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/wielded-inhand-left.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..82383a80cd Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/wielded-inhand-right.png b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..c0f12dd8d3 Binary files /dev/null and b/Resources/Textures/_DV/Objects/Weapons/Guns/Snipers/gamblagator.rsi/wielded-inhand-right.png differ