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 commit 2550f41240.

* Reapply "Fixed sprite and some formatting"

This reverts commit 3f4d5eaade.

* Revert "im dumb"

This reverts commit 9056ca3507.

* names

* Reviewed Changes

* Reviewed Changes

* Fixed for Milon

* delta changes

---------

Signed-off-by: Stop-Signs <stopsign221@gmail.com>
This commit is contained in:
Stop-Signs 2024-12-18 21:34:10 -06:00 committed by GitHub
parent 21675528ad
commit 5da943a9c6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
29 changed files with 164 additions and 0 deletions

View File

@ -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);

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

View File

@ -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
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 999 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 975 B