diff --git a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs
index 701753a8ce2..c455a160f9e 100644
--- a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs
+++ b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs
@@ -4,6 +4,7 @@
using Content.Server.Interaction;
using Content.Server.Power.EntitySystems;
using Content.Server.Stunnable;
+using Content.Server.Temperature.Systems;
using Content.Server.Weapons.Ranged.Components;
using Content.Shared.Damage;
using Content.Shared.Damage.Systems;
@@ -40,6 +41,7 @@ public sealed partial class GunSystem : SharedGunSystem
[Dependency] private readonly StaminaSystem _stamina = default!;
[Dependency] private readonly StunSystem _stun = default!;
[Dependency] private readonly SharedContainerSystem _container = default!;
+ [Dependency] private readonly TemperatureSystem _temperature = default!;
private const float DamagePitchVariation = 0.05f;
public const float GunClumsyChance = 0.5f;
@@ -225,6 +227,11 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid?
var hitEntity = lastHit.Value;
if (hitscan.StaminaDamage > 0f)
_stamina.TakeStaminaDamage(hitEntity, hitscan.StaminaDamage, source: user);
+ ///
+ /// 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;
diff --git a/Content.Shared/Weapons/Ranged/HitscanPrototype.cs b/Content.Shared/Weapons/Ranged/HitscanPrototype.cs
index a5063e3ab5b..ad3dac1a734 100644
--- a/Content.Shared/Weapons/Ranged/HitscanPrototype.cs
+++ b/Content.Shared/Weapons/Ranged/HitscanPrototype.cs
@@ -16,6 +16,11 @@ public sealed partial class HitscanPrototype : IPrototype, IShootable
[ViewVariables(VVAccess.ReadWrite), DataField("staminaDamage")]
public float StaminaDamage;
+ ///
+ /// DeltaV: Changes the target's temperature by this amount when hit.
+ ///
+ [ViewVariables(VVAccess.ReadWrite), DataField("heatChange")]
+ public float HeatChange;
[ViewVariables(VVAccess.ReadWrite), DataField("damage")]
public DamageSpecifier? Damage;
diff --git a/Resources/Locale/en-US/deltav/research/technologies.ftl b/Resources/Locale/en-US/deltav/research/technologies.ftl
index 25377b155f8..e3a1f3a5828 100644
--- a/Resources/Locale/en-US/deltav/research/technologies.ftl
+++ b/Resources/Locale/en-US/deltav/research/technologies.ftl
@@ -5,3 +5,4 @@ research-technology-energy-gun = Energy Guns
research-technology-energy-gun-advance = Advanced Energy Manipulation
research-technology-advance-laser = Advanced Laser Manipulation
research-technology-robust-melee = Robust Melee
+research-technology-ionized-cryogenic-emission-equipment = Ionized Cryogenic Emission Equipment
diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
index 2b74330b141..0f71427477f 100644
--- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
+++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
@@ -261,3 +261,28 @@
steps: 5
zeroVisible: true
- type: Appearance
+
+
+- type: entity
+ name: I.C.E.E.
+ parent: [BaseWeaponBattery, BaseGunWieldable, BaseRestrictedContraband]
+ id: WeaponColdCannon
+ 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
\ No newline at end of file
diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml
index df88af92e26..b699ca86d24 100644
--- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml
+++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml
@@ -19,8 +19,6 @@
damage:
types:
Cold: 20
-- type: ChangeTemperatureOnCollide
- heat: -50000
muzzleFlash:
sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi
state: muzzle_omni
diff --git a/Resources/Prototypes/DeltaV/Recipes/Lathes/security.yml b/Resources/Prototypes/DeltaV/Recipes/Lathes/security.yml
index 02b2ef0f5ca..c3424123db7 100644
--- a/Resources/Prototypes/DeltaV/Recipes/Lathes/security.yml
+++ b/Resources/Prototypes/DeltaV/Recipes/Lathes/security.yml
@@ -224,3 +224,12 @@
Steel: 1000
Plastic: 800
+- type: latheRecipe
+ parent: BaseWeaponRecipeLong
+ id: WeaponColdCannon
+ result: WeaponColdCannon
+ materials:
+ Steel: 1500
+ Glass: 600
+ Plastic: 400
+ Silver: 300
diff --git a/Resources/Prototypes/DeltaV/Research/arsenal.yml b/Resources/Prototypes/DeltaV/Research/arsenal.yml
index d604eb80568..6956dc6c230 100644
--- a/Resources/Prototypes/DeltaV/Research/arsenal.yml
+++ b/Resources/Prototypes/DeltaV/Research/arsenal.yml
@@ -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
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
index f6f58803ed4..1c5b53a034e 100644
--- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
+++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
@@ -436,6 +436,7 @@
- MagazineBoxSpecialHoly
- MagazineBoxSpecialMindbreaker
- AdvancedTruncheon
+ - WeaponColdCannon
# End DeltaV additions
- type: entity
@@ -941,6 +942,7 @@
- ClothingOuterHardsuitSyndieReverseEngineered
- ClothingShoesBootsSecurityMagboots
- AdvancedTruncheon
+ - WeaponColdCannon
# End DeltaV additions
- type: MaterialStorage
whitelist:
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/0-inhand-left.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/0-inhand-left.png
new file mode 100644
index 00000000000..2ff89ccdee0
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/0-inhand-left.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/0-inhand-right.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/0-inhand-right.png
new file mode 100644
index 00000000000..e4fbbd6142d
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/0-inhand-right.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/25-inhand-left.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/25-inhand-left.png
new file mode 100644
index 00000000000..f6fc89bad1c
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/25-inhand-left.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/25-inhand-right.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/25-inhand-right.png
new file mode 100644
index 00000000000..8a383b120ae
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/25-inhand-right.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/50-inhand-left.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/50-inhand-left.png
new file mode 100644
index 00000000000..837127e2d4d
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/50-inhand-left.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/50-inhand-right.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/50-inhand-right.png
new file mode 100644
index 00000000000..b76af8dae06
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/50-inhand-right.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/75-inhand-left.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/75-inhand-left.png
new file mode 100644
index 00000000000..47e9b408bbd
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/75-inhand-left.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/75-inhand-right.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/75-inhand-right.png
new file mode 100644
index 00000000000..09d2a6c6468
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/75-inhand-right.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/Base.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/Base.png
new file mode 100644
index 00000000000..56258820e2c
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/Base.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/Icon.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/Icon.png
new file mode 100644
index 00000000000..38e4e876632
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/Icon.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/equipped-BACKPACK.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/equipped-BACKPACK.png
new file mode 100644
index 00000000000..cc367b8352e
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/equipped-BACKPACK.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/equipped-SUITSTORAGE.png
new file mode 100644
index 00000000000..cc367b8352e
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/equipped-SUITSTORAGE.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/inhand-left.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/inhand-left.png
new file mode 100644
index 00000000000..b9e81e9b496
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/inhand-left.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/inhand-right.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/inhand-right.png
new file mode 100644
index 00000000000..6074c6a76d6
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/inhand-right.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-1.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-1.png
new file mode 100644
index 00000000000..e900d13598e
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-1.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-2.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-2.png
new file mode 100644
index 00000000000..1a20164b589
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-2.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-3.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-3.png
new file mode 100644
index 00000000000..78b1d7ca294
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-3.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-4.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-4.png
new file mode 100644
index 00000000000..90b5b23a215
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/mag-unshaded-4.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/meta.json b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/meta.json
new file mode 100644
index 00000000000..acbd06c2708
--- /dev/null
+++ b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/meta.json
@@ -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",
+ "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
+ }
+ ]
+}
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/wielded-inhand-left.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000..e8e19113d9e
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/wielded-inhand-right.png b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000..f181078b55e
Binary files /dev/null and b/Resources/Textures/DeltaV/Objects/Weapons/Guns/Battery/cold_cannon.rsi/wielded-inhand-right.png differ