diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml index 752591da37..15bcc5a4ed 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml @@ -22,6 +22,7 @@ - id: QuartermasterIDCard # Delta-V - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerCaptainFilledHardsuit @@ -51,6 +52,7 @@ - id: MedalCase - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerCaptainFilled @@ -80,6 +82,7 @@ - id: ClothingHeadHatBeretCap # Nyanotrasen - Captain's Beret - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerCaptainFilledNoLaser @@ -108,6 +111,7 @@ - id: ClothingHeadHatBeretCap # Nyanotrasen - Captain's Beret - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerHeadOfPersonnelFilled @@ -139,6 +143,7 @@ - id: ClothingHandsGlovesInspection # DeltaV - Add inspection gloves for HoP. - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerChiefEngineerFilledHardsuit @@ -167,6 +172,7 @@ - id: CEIDCard # Delta-V - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerChiefEngineerFilled @@ -191,6 +197,7 @@ - id: RCDAmmo - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerChiefMedicalOfficerFilledHardsuit @@ -219,6 +226,7 @@ - id: CMOIDCard # Delta-V - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerChiefMedicalOfficerFilled @@ -243,6 +251,7 @@ - id: CMOIDCard # Delta-V - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerResearchDirectorFilledHardsuit @@ -266,6 +275,7 @@ - id: EncryptionKeyBinary - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerResearchDirectorFilled @@ -288,6 +298,7 @@ - id: EncryptionKeyBinary - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerHeadOfSecurityFilledHardsuit @@ -319,6 +330,7 @@ - id: HoSIDCard # Delta-V - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerHeadOfSecurityFilled @@ -348,6 +360,7 @@ - id: HoSIDCard # Delta-V - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! prob: 0.3 + - id: WeaponPTSDLaser - type: entity id: LockerFreezerVaultFilled diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index ec0a0a148b..251b8c2754 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -588,6 +588,67 @@ - type: StealTarget stealGroup: WeaponAntiqueLaser +- type: entity + name: Personal Tiny Self Defense Gun + parent: BaseWeaponBatterySmall + id: WeaponPTSDLaser + description: "The PTSD gun has a built-in flashlight and the ability to recharge itself in two minutes. PTSD is standard issue for leadership within Nanotrasen. It has two settings: disable and kill." + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Battery/personal.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mode-disabler + map: [ "Firemode" ] + shader: unshaded + - state: mag-unshaded-2 + map: ["enum.GunVisualLayers.MagUnshaded"] #TODO: figure out a way to use `disable-mag-unshaded-#` to replace red colouring when using BulletDisabler + shader: unshaded + - type: Clothing + sprite: Objects/Weapons/Guns/Battery/personal.rsi + - type: Gun + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/taser2.ogg + soundEmpty: + path: /Audio/DeltaV/Weapons/Guns/Empty/dry_fire.ogg + - type: ProjectileBatteryAmmoProvider + proto: BulletEnergyGunLaser + fireCost: 100 + - type: EnergyGun + fireModes: + - proto: BulletEnergyGunLaser #6 + fireCost: 100 + name: lethal + state: lethal + - proto: BulletDisabler #12 + fireCost: 50 + name: disable + state: disabler + - type: Battery + maxCharge: 600 + startingCharge: 600 + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 10 # slow as heck, its only to defend and run away mostly + - type: MagazineVisuals + magState: mag + steps: 3 + zeroVisible: true + - type: Appearance + - type: GenericVisualizer + visuals: + enum.EnergyGunFireModeVisuals.State: + Firemode: + Disabler: { state: mode-disabler } + Lethal: { state: mode-lethal } + Special: { state: mode-stun } # Unused (HARDCODED BULLSHIT) + - type: Tag + tags: + - Sidearm + - type: StaticPrice + price: 500 + - type: entity name: advanced laser pistol parent: BaseWeaponBatterySmall diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/base.png b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/base.png new file mode 100644 index 0000000000..13be0d9acc Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/base.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/icon.png b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/icon.png new file mode 100644 index 0000000000..13be0d9acc Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/inhand-left.png new file mode 100644 index 0000000000..0f88fb012a Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/inhand-right.png new file mode 100644 index 0000000000..194eeb4a31 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mag-unshaded-0.png b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mag-unshaded-0.png new file mode 100644 index 0000000000..cd66b71c5f Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mag-unshaded-0.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mag-unshaded-1.png b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mag-unshaded-1.png new file mode 100644 index 0000000000..7af87e11e0 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mag-unshaded-1.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mag-unshaded-2.png b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mag-unshaded-2.png new file mode 100644 index 0000000000..9705e9593a Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mag-unshaded-2.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/meta.json new file mode 100644 index 0000000000..358d4e9d38 --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/meta.json @@ -0,0 +1,46 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "ported from BeeStation13 \u0027https://github.com/BeeStation/BeeStation-Hornet\u0027", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base" + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "mag-unshaded-0", + "delays": [ + [ + 0.3, + 0.3 + ] + ] + }, + { + "name": "mag-unshaded-1" + }, + { + "name": "mag-unshaded-2" + }, + { + "name": "mode-lethal" + }, + { + "name": "mode-disabler" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mode-disabler.png b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mode-disabler.png new file mode 100644 index 0000000000..d07422e0e0 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mode-disabler.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mode-lethal.png b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mode-lethal.png new file mode 100644 index 0000000000..b039ffc4c1 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/personal.rsi/mode-lethal.png differ