Skip to content

Commit

Permalink
Railgun (#718)
Browse files Browse the repository at this point in the history
* test

please work

* cleanup

removing old assets causing issues

* addition to uplink

both traitors and nukeops can buy this absurdly powerful cannon

* Update railgun_ammo.yml

* laser variant

shrimple as adding a new variant with two firemodes, overkill, and overkiller

* laser railgun cleanup

fixing some trash

* adds the caninator

shoot cans and scare security

* admeme variant and removal of clown variant for now

* Slowdown in Hands

Slows you down when any variant is held as to make the weapon more balanced

* Laser railgun Sprite

adds a unique sprite for the laser variant of the railgun

* fix the sprite

i am dumb

* Issue Cleanup

Dusts off some of the code and makes some balance changes, along with better parenting.

* purchasable ammo and charge sound update

made the charge sound slightly less annoying and added ammo purchasable by both traitors and syndicate

* QA pass

various little fixes to improve the code and general cleanup

* error fixing

Signed-off-by: Danger Revolution! <[email protected]>

* Sprite Update + Reverse Engineering

This adds reverse engineering, the new sprites, and a host of balance changes.
- The Railgun now does 80 stamina damage again on hit with normal bolts.

* reverse engineered fast firerate

as a reward for researching new technology, you've made it slightly faster. yay. also resprites the non-lethal variant to look more plunger-like

* Final Changes

ready for merge, sir!

* Copyright Update

Makes the sounds all under free use creative commons to avoid copyright issues.

* Update license.txt

* remove old attributions

this sound has been altered as to not use pixabay

* price increase

sorry danger but 14 tc is way too low lmao, nukies get it for 20 tc

* requested changes

hopefully

* conversion to mono

yipeeee

* fix of that other fix for the new file rename shit

pure agony

* proper noun

the Decimator is now a proper noun similar to other weapons

* Update Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/railgun.yml

Co-authored-by: DEATHB4DEFEAT <[email protected]>
Signed-off-by: Firewatch <[email protected]>

* Update duffelbag.yml

* Update uplink_catalog.yml

* Update rod_impact.ogg

* Update uplink_catalog.yml

---------

Signed-off-by: Danger Revolution! <[email protected]>
Signed-off-by: Firewatch <[email protected]>
Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: Danger Revolution! <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
Co-authored-by: deltanedas <[email protected]>
  • Loading branch information
5 people authored Apr 29, 2024
1 parent c19f226 commit c0de272
Show file tree
Hide file tree
Showing 44 changed files with 632 additions and 2 deletions.
4 changes: 4 additions & 0 deletions Resources/Audio/DeltaV/Effects/license.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
crack1.ogg taken from
https://github.com/tgstation/tgstation/blob/ebc2e02e59d36214aff1eff8250b70a7970ff43d/sound/effects/wounds/crack1.ogg
licensed under CC BY-NC-SA 3.0

railgun_charge.ogg taken from
https://www.youtube.com/watch?v=EpaCJ75T3fo
licensed under CC0
Binary file added Resources/Audio/DeltaV/Effects/railgun_charge.ogg
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 3 additions & 2 deletions Resources/Audio/DeltaV/license.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ typewriter.ogg is modified from https://www.freesoundslibrary.com/typewriter-sou
axiom.ogg is modified from free sound effects from https://www.fesliyanstudios.com which are licensed under the CC0 1.0 License. This modified file follows the same license.
jackdaw.ogg is modified from atreides.ogg which was taken from https://gitlab.com/cmdevs/colonial-warfare/-/tree/32cb5892413243cc74bb2d11df8e3085f8ef1164/sound/weapons which is licensed under the CC-BY-SA 3.0 License. This modified file follows the same license.
universal.ogg is modified from free sound effects from https://www.fesliyanstudios.com which are licensed under the CC0 1.0 License. This modified file follows the same license.
dry_fire.ogg from tgstation at https://github.com/tgstation/tgstation/blob/master/sound/weapons/gun/general/dry_fire.ogg which is licensed under the CC-BY-SA 3.0
laser.ogg from tgstation at https://github.com/tgstation/tgstation/blob/master/sound/weapons/laser.ogg which is licensed under the CC-BY-SA 3.0
dry_fire.ogg from tgstation at https://github.com/tgstation/tgstation/blob/master/sound/weapons/gun/general/dry_fire.ogg which is licensed under the CC-BY-SA 3.0
laser.ogg from tgstation at https://github.com/tgstation/tgstation/blob/master/sound/weapons/laser.ogg which is licensed under the CC-BY-SA 3.0
railgun_laser.ogg is modified from https://freesound.org/people/Littlebrojay/sounds/195439/ by OG Sound FX under CC 4.0 License, and https://freesound.org/people/deleted_user_1941307/sounds/155790/ under CC0
6 changes: 6 additions & 0 deletions Resources/Locale/en-US/deltav/store/uplink-catalog.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,9 @@ uplink-reinforcement-radio-nukie-mouse-desc = Calls in a specially trained mouse
# Implants
uplink-bionic-syrinx-implanter-name = Bionic Syrinx Implanter
uplink-bionic-syrinx-implanter-desc = An implant that enhances a harpy's natural talent for mimicry to let you adjust your voice to whoever you can think of.
# Bundles
uplink-decimator-bundle-name = Decimator Bundle
uplink-decimator-bundle-desc = The Decimator railgun and three extra rebar. Favored by Gorlex snipers.
# Ammo
uplink-railgun-ammo-name = Railgun Ammo
uplink-railgun-ammo-desc = Three extra rods for the Decimator railgun.
23 changes: 23 additions & 0 deletions Resources/Prototypes/DeltaV/Catalog/Fills/Backpacks/duffelbag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
- type: entity
parent: ClothingBackpackDuffelSyndicateBundle
id: ClothingBackpackDuffelSyndicateFilledRailgun
name: Decimator bundle
description: Favored by Gorlex Maurauder snipers, this railcannon packs a punch. Comes with 3 shots.
components:
- type: StorageFill
contents:
- id: WeaponRailgunDecimator
- id: BulletRailgunBasic
amount: 3

- type: entity
parent: BoxCardboard
id: RailgunAmmoBag
name: box of rebar
description: A box for storing metal rods, commonly used in construction.
suffix: Syndicate
components:
- type: StorageFill
contents:
- id: BulletRailgunBasic
amount: 3
63 changes: 63 additions & 0 deletions Resources/Prototypes/DeltaV/Catalog/uplink_catalog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,69 @@
categories:
- UplinkAllies

- type: listing
id: Decimator Railgun Bundle NukeOps
name: uplink-decimator-bundle-name
description: uplink-decimator-bundle-desc
productEntity: ClothingBackpackDuffelSyndicateFilledRailgun
icon: { sprite: DeltaV/Objects/Weapons/Guns/Railguns/railgun.rsi, state: icon }
cost:
Telecrystal: 20 # 1 TC cheaper since nukies spawn with 40 tc anyways.
categories:
- UplinkWeaponry
conditions:
- !type:StoreWhitelistCondition
whitelist:
tags:
- NukeOpsUplink

- type: listing
id: Decimator Railgun Bundle
name: uplink-decimator-bundle-name
description: uplink-decimator-bundle-desc
productEntity: ClothingBackpackDuffelSyndicateFilledRailgun
icon: { sprite: DeltaV/Objects/Weapons/Guns/Railguns/railgun.rsi, state: icon }
cost:
Telecrystal: 21 # Find a friend to unleash the beast.
categories:
- UplinkWeaponry
conditions:
- !type:StoreWhitelistCondition
blacklist:
tags:
- NukeOpsUplink

- type: listing
id: Railgun Ammo
name: uplink-railgun-ammo-name
description: uplink-railgun-ammo-desc
productEntity: RailgunAmmoBag
icon: { sprite: DeltaV/Objects/Weapons/Guns/Ammunition/Cartridges/railrod.rsi, state: icon }
cost:
Telecrystal: 2
categories:
- UplinkAmmo

#- type: listing
# id: UplinkCyborgBeaconSyndicate
# name: uplink-borg-beacon-name
# description: uplink-borg-beacon-desc
# productEntity: CyborgBeaconSyndicate
# icon: { sprite: Objects/Devices/communication.rsi, state: old-radio }
# cost:
# Telecrystal: 65
# categories:
# - UplinkUtility
# conditions:
# - !type:StoreWhitelistCondition
# whitelist:
# tags:
# - NukeOpsUplink
# - !type:BuyerWhitelistCondition
# blacklist:
# components:
# - SurplusBundle

- type: listing
id: UplinkBionicSyrinxImplanter
name: uplink-bionic-syrinx-implanter-name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,3 +259,44 @@
steps: 5
zeroVisible: true
- type: Appearance

# For Borgs
- type: entity
name: Decimator laser
parent: BaseWeaponBattery
id: WeaponLaserRailgun
description: Limited run energy variant of the Decimator railcannon. Self recharging, slow firing but extremely powerful.
components:
- type: Item
size: Huge
- type: Sprite
sprite: DeltaV/Objects/Weapons/Guns/Railguns/railgun_laser.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: Clothing
sprite: DeltaV/Objects/Weapons/Guns/Railguns/railgun_laser.rsi
quickEquip: false
slots:
- Back
- type: Wieldable
wieldSound:
path: /Audio/DeltaV/Effects/railgun_charge.ogg
- type: UseDelay
delay: 4
- type: Gun
fireRate: 0.30
selectedMode: SemiAuto
soundGunshot:
path: /Audio/DeltaV/Weapons/Guns/Gunshots/railgun.ogg
- type: HitscanBatteryAmmoProvider
proto: DecimatorLaser
fireCost: 25000
- type: Battery
maxCharge: 75000
startingCharge: 75000
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 500
- type: StaticPrice
price: 7500
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Laser variant for borgs
- type: hitscan
id: DecimatorLaser
damage:
types:
Heat: 80
Radiation: 20
# Special green laser!!!
muzzleFlash:
sprite: DeltaV/Objects/Weapons/Guns/Projectiles/projectiles.rsi
state: muzzle_beam_heavy_green
travelFlash:
sprite: DeltaV/Objects/Weapons/Guns/Projectiles/projectiles.rsi
state: beam_heavy_green
impactFlash:
sprite: DeltaV/Objects/Weapons/Guns/Projectiles/projectiles.rsi
state: impact_beam_heavy_green
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
- type: entity
parent: BaseItem
id: BulletRailgun
abstract: true
components:
- type: Item
size: Small
- type: Sprite
sprite: DeltaV/Objects/Weapons/Guns/Ammunition/Cartridges/railrod.rsi
layers:
- state: base
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.2
density: 10
restitution: 0.3
friction: 0.8
mask:
- ItemMask
projectile:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.1,0.1,0.1"
hard: false
mask:
- Impassable
- BulletImpassable
- type: ThrowingAngle
angle: 0
- type: Ammo
muzzleFlash: null
- type: Tag
tags:
- BulletRailgun
- CannonRestrict
- type: Projectile
impactEffect: BulletImpactEffect
deleteOnCollide: false
onlyCollideWhenShot: true
damage:
types:
Piercing: 50

- type: entity
parent: BulletRailgun
id: BulletRailgunBasic
name: rebar rod
description: Heavy steel rod for use in a railcannon.
components:
- type: EmbeddableProjectile
minimumSpeed: 10
sound: /Audio/DeltaV/Weapons/Guns/Impacts/rod_impact.ogg
embedOnThrow: false
- type: Projectile
damage:
types:
Piercing: 15
Blunt: 65
Heat: 20
Structural: 10
- type: StaminaDamageOnEmbed
damage: 80
- type: ReverseEngineering # Nyano
difficulty: 2
newItem: BulletRailgunBasic
recipes:
- BulletRailgunBasic
- BulletRailgunReverseEngineered

- type: entity
parent: BulletRailgun
id: BulletRailgunReverseEngineered
name: rebar rod (less lethal)
description: Hurts like hell and sticks into your target, knocking them over. Fragile.
components:
- type: EmbeddableProjectile
minimumSpeed: 10
embedOnThrow: false
- type: Sprite
state: icon
sprite: DeltaV/Objects/Weapons/Guns/Ammunition/Cartridges/railrod_nonlethal.rsi
- type: Damageable
damageContainer: Inorganic
- type: DamageOnLand
damage:
types:
Blunt: 4
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30
behaviors:
- !type:PlaySoundBehavior
sound:
path: /Audio/Weapons/Guns/Hits/snap.ogg
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: StaminaDamageOnEmbed
damage: 100
- type: Projectile
onlyCollideWhenShot: true
soundHit:
path: /Audio/Effects/hit_kick.ogg
deleteOnCollide: false
damage:
types:
Blunt: 10
- type: ReverseEngineering # Nyano
difficulty: 2
newItem: BulletRailgunReverseEngineered
recipes:
- BulletRailgunBasic
- BulletRailgunReverseEngineered

# Fear that which cannot be understood
- type: entity
parent: BulletRailgun
id: BulletRailgunAdmeme
suffix: DO NOT MAP
name: unholy rod
description: "By the time you're able to pick this up, the station's probably already destroyed."
components:
- type: Sprite
sprite: DeltaV/Objects/Weapons/Guns/Ammunition/Cartridges/railrod.rsi
- type: EmbeddableProjectile
minimumSpeed: 10
sound: /Audio/DeltaV/Weapons/Guns/Impacts/rod_impact.ogg
embedOnThrow: false
- type: TimedDespawn
lifetime: 5
- type: Projectile
deleteOnCollide: true
damage:
types:
Piercing: 100
Blunt: 100
Slash: 1
Caustic: 1
Radiation: 1
Heat: 1
Cellular: 1
Structural: 20000
Loading

0 comments on commit c0de272

Please sign in to comment.