New weapon - I.C.E.E. (#2170)
* Update hitscan.yml * All the things * Fixing the cold * Fixed sprite and some formatting * im dumb * Revert "Fixed sprite and some formatting" This reverts commit2550f41240. * Reapply "Fixed sprite and some formatting" This reverts commit3f4d5eaade. * Revert "im dumb" This reverts commit9056ca3507. * names * Reviewed Changes * Reviewed Changes * Fixed for Milon * delta changes --------- Signed-off-by: Stop-Signs <stopsign221@gmail.com>
|
|
@ -2,6 +2,8 @@ using System.Linq;
|
|||
using System.Numerics;
|
||||
using Content.Server.Cargo.Systems;
|
||||
using Content.Server.Power.EntitySystems;
|
||||
using Content.Server.Stunnable;
|
||||
using Content.Server.Temperature.Systems; // DeltaV Heat Change system
|
||||
using Content.Server.Weapons.Ranged.Components;
|
||||
using Content.Shared.Damage;
|
||||
using Content.Shared.Damage.Systems;
|
||||
|
|
@ -38,6 +40,7 @@ public sealed partial class GunSystem : SharedGunSystem
|
|||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
[Dependency] private readonly StaminaSystem _stamina = default!;
|
||||
[Dependency] private readonly SharedContainerSystem _container = default!;
|
||||
[Dependency] private readonly TemperatureSystem _temperature = default!; // DeltaV Heat change system
|
||||
|
||||
private const float DamagePitchVariation = 0.05f;
|
||||
|
||||
|
|
@ -217,6 +220,10 @@ public sealed partial class GunSystem : SharedGunSystem
|
|||
if (hitscan.StaminaDamage > 0f)
|
||||
_stamina.TakeProjectileStaminaDamage(hitEntity, hitscan.StaminaDamage, source: user); // DeltaV - Cope with hitscan not being an entity
|
||||
|
||||
// DeltaV: Changes the target's temperature by this amount when hit
|
||||
if (hitscan.HeatChange != 0f)
|
||||
_temperature.ChangeHeat(hitEntity, hitscan.HeatChange, true);
|
||||
|
||||
var dmg = hitscan.Damage;
|
||||
|
||||
var hitName = ToPrettyString(hitEntity);
|
||||
|
|
|
|||
|
|
@ -17,6 +17,12 @@ public sealed partial class HitscanPrototype : IPrototype, IShootable
|
|||
[ViewVariables(VVAccess.ReadWrite), DataField("staminaDamage")]
|
||||
public float StaminaDamage;
|
||||
|
||||
/// <summary>
|
||||
/// DeltaV: Changes the target's temperature by this amount when hit.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float HeatChange;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("damage")]
|
||||
public DamageSpecifier? Damage;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,3 +6,4 @@ research-technology-energy-gun-advance = Advanced Energy Manipulation
|
|||
research-technology-advance-laser = Advanced Laser Manipulation
|
||||
research-technology-robust-melee = Robust Melee
|
||||
research-technology-syringe-gun = Syringe Gun
|
||||
research-technology-ionized-cryogenic-emission-equipment = Ionized Cryogenic Emission Equipment
|
||||
|
|
|
|||
|
|
@ -262,6 +262,30 @@
|
|||
zeroVisible: true
|
||||
- type: Appearance
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseWeaponBattery, BaseGunWieldable, BaseSecurityContraband ]
|
||||
id: WeaponColdCannon
|
||||
name: I.C.E.E.
|
||||
description: It's cooler than a normal gun.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi
|
||||
layers:
|
||||
- state: base
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- state: mag-unshaded-4
|
||||
map: ["enum.GunVisualLayers.MagUnshaded"]
|
||||
shader: unshaded
|
||||
- type: Clothing
|
||||
sprite: DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi
|
||||
- type: Gun
|
||||
fireRate: 1.5
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
|
||||
- type: HitscanBatteryAmmoProvider
|
||||
proto: ColdLaser
|
||||
fireCost: 100
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseWeaponBattery, BaseGunWieldable, BaseSecurityContraband ]
|
||||
id: WeaponBeamCannon
|
||||
|
|
|
|||
|
|
@ -14,6 +14,21 @@
|
|||
sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi
|
||||
state: impact_omni
|
||||
|
||||
- type: hitscan
|
||||
id: ColdLaser
|
||||
damage:
|
||||
types:
|
||||
Cold: 20
|
||||
muzzleFlash:
|
||||
sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi
|
||||
state: muzzle_omni
|
||||
travelFlash:
|
||||
sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi
|
||||
state: beam_omni
|
||||
impactFlash:
|
||||
sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi
|
||||
state: impact_omni
|
||||
heatChange: -50000
|
||||
- type: hitscan
|
||||
id: BeamLaser
|
||||
damage:
|
||||
|
|
@ -44,3 +59,4 @@
|
|||
impactFlash:
|
||||
sprite: DeltaV/Objects/Weapons/Guns/Projectiles/projectiles.rsi
|
||||
state: impact_laser
|
||||
|
||||
|
|
|
|||
|
|
@ -224,6 +224,16 @@
|
|||
Steel: 1000
|
||||
Plastic: 800
|
||||
|
||||
- type: latheRecipe
|
||||
parent: BaseWeaponRecipeLong
|
||||
id: WeaponColdCannon
|
||||
result: WeaponColdCannon
|
||||
materials:
|
||||
Steel: 1500
|
||||
Glass: 600
|
||||
Plastic: 400
|
||||
Silver: 300
|
||||
|
||||
- type: latheRecipe
|
||||
parent: BaseWeaponRecipeLong
|
||||
id: WeaponBeamCannon
|
||||
|
|
|
|||
|
|
@ -52,3 +52,15 @@
|
|||
cost: 12500
|
||||
recipeUnlocks:
|
||||
- AdvancedTruncheon
|
||||
|
||||
- type: technology
|
||||
id: IonizedCryogenicEmissionEquiplment
|
||||
name: research-technology-ionized-cryogenic-emission-equipment
|
||||
icon:
|
||||
sprite: DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi
|
||||
state: icon
|
||||
discipline: Arsenal
|
||||
tier: 3
|
||||
cost: 10000
|
||||
recipeUnlocks:
|
||||
- WeaponColdCannon
|
||||
|
|
|
|||
|
|
@ -440,7 +440,9 @@
|
|||
- AdvancedTruncheon
|
||||
- LauncherSyringe
|
||||
- MiniSyringe
|
||||
- WeaponColdCannon
|
||||
- WeaponBeamCannon
|
||||
|
||||
# End DeltaV additions
|
||||
|
||||
- type: entity
|
||||
|
|
@ -896,6 +898,7 @@
|
|||
- ClothingOuterHardsuitSyndieReverseEngineered
|
||||
- ClothingShoesBootsSecurityMagboots
|
||||
- AdvancedTruncheon
|
||||
- WeaponColdCannon
|
||||
- WeaponBeamCannon
|
||||
# End DeltaV additions
|
||||
- type: MaterialStorage
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 723 B |
|
After Width: | Height: | Size: 702 B |
|
After Width: | Height: | Size: 732 B |
|
After Width: | Height: | Size: 720 B |
|
After Width: | Height: | Size: 735 B |
|
After Width: | Height: | Size: 726 B |
|
After Width: | Height: | Size: 729 B |
|
After Width: | Height: | Size: 717 B |
|
After Width: | Height: | Size: 699 B |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 741 B |
|
After Width: | Height: | Size: 762 B |
|
After Width: | Height: | Size: 747 B |
|
After Width: | Height: | Size: 306 B |
|
After Width: | Height: | Size: 318 B |
|
After Width: | Height: | Size: 351 B |
|
After Width: | Height: | Size: 363 B |
|
|
@ -0,0 +1,85 @@
|
|||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from vgstation at https://github.com/vgstation-coders/vgstation13/commit/125c975f1b3bf9826b37029e9ab5a5f89e975a7e, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244, Resprited for DeltaV by Stop-Sign",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "base"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-1"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-2"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-3"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-4"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "wielded-inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "wielded-inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "0-inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "0-inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "25-inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "25-inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "50-inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "50-inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "75-inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "75-inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "equipped-BACKPACK",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "equipped-SUITSTORAGE",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 999 B |
|
After Width: | Height: | Size: 975 B |