From ec66c702955596a5e1739fcf88b62ae3676c6ae8 Mon Sep 17 00:00:00 2001
From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Date: Mon, 12 May 2025 19:42:51 -0400
Subject: [PATCH] New Salvage Mob: Basilisk (#37135)
* Basilisk
* Less health
* Unique projectile
* Selfmerge incoming
* Update Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/meta.json
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
.../Considerations/TargetLowTempCon.cs | 14 +++
.../NPC/Systems/NPCUtilitySystem.cs | 9 +-
.../Spawners/Random/Salvage/spawners.yml | 5 +-
.../Entities/Mobs/NPCs/asteroid.yml | 80 ++++++++++++++++++
.../Weapons/Guns/Projectiles/projectiles.yml | 39 +++++++++
Resources/Prototypes/NPCs/basilisk.yml | 22 +++++
Resources/Prototypes/NPCs/utility_queries.yml | 23 ++++-
.../Aliens/Asteroid/basilisk.rsi/basilisk.png | Bin 0 -> 2845 bytes
.../Asteroid/basilisk.rsi/basilisk_alert.png | Bin 0 -> 4385 bytes
.../Asteroid/basilisk.rsi/basilisk_dead.png | Bin 0 -> 1065 bytes
.../Aliens/Asteroid/basilisk.rsi/meta.json | 48 +++++++++++
.../Projectiles/projectiles_tg.rsi/ice.png | Bin 0 -> 247 bytes
.../Projectiles/projectiles_tg.rsi/meta.json | 5 +-
13 files changed, 240 insertions(+), 5 deletions(-)
create mode 100644 Content.Server/NPC/Queries/Considerations/TargetLowTempCon.cs
create mode 100644 Resources/Prototypes/NPCs/basilisk.yml
create mode 100644 Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/basilisk.png
create mode 100644 Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/basilisk_alert.png
create mode 100644 Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/basilisk_dead.png
create mode 100644 Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/meta.json
create mode 100644 Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi/ice.png
diff --git a/Content.Server/NPC/Queries/Considerations/TargetLowTempCon.cs b/Content.Server/NPC/Queries/Considerations/TargetLowTempCon.cs
new file mode 100644
index 0000000000..7e8553c63c
--- /dev/null
+++ b/Content.Server/NPC/Queries/Considerations/TargetLowTempCon.cs
@@ -0,0 +1,14 @@
+namespace Content.Server.NPC.Queries.Considerations;
+
+///
+/// Returns if the target is below a certain temperature.
+///
+public sealed partial class TargetLowTempCon : UtilityConsideration
+{
+ ///
+ /// The minimum temperature they must be.
+ ///
+ [DataField]
+ public float MinTemp;
+}
+
diff --git a/Content.Server/NPC/Systems/NPCUtilitySystem.cs b/Content.Server/NPC/Systems/NPCUtilitySystem.cs
index 7b485eeb96..c5b463d0d3 100644
--- a/Content.Server/NPC/Systems/NPCUtilitySystem.cs
+++ b/Content.Server/NPC/Systems/NPCUtilitySystem.cs
@@ -7,6 +7,7 @@ using Content.Server.NPC.Queries.Queries;
using Content.Server.Nutrition.Components;
using Content.Server.Nutrition.EntitySystems;
using Content.Server.Storage.Components;
+using Content.Server.Temperature.Components;
using Content.Shared.Chemistry.EntitySystems;
using Content.Shared.Damage;
using Content.Shared.Examine;
@@ -14,7 +15,6 @@ using Content.Shared.Fluids.Components;
using Content.Shared.Hands.Components;
using Content.Shared.Inventory;
using Content.Shared.Mobs;
-using Content.Shared.Mobs.Components;
using Content.Shared.Mobs.Systems;
using Content.Shared.NPC.Systems;
using Content.Shared.Nutrition.Components;
@@ -376,6 +376,13 @@ public sealed class NPCUtilitySystem : EntitySystem
return 0f;
}
+ case TargetLowTempCon con:
+ {
+ if (!TryComp(targetUid, out var temperature))
+ return 0f;
+
+ return temperature.CurrentTemperature <= con.MinTemp ? 1f : 0f;
+ }
default:
throw new NotImplementedException();
}
diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml
index f1d632c186..1de12a1511 100644
--- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml
+++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml
@@ -542,7 +542,8 @@
table: !type:GroupSelector
children:
- id: MobGoliath
- weight: 65
+ weight: 45
- id: MobHivelord
weight: 35
-
+ - id: MobBasilisk
+ weight: 20
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml b/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml
index 8db0294981..c4c131a7ab 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml
@@ -81,6 +81,8 @@
6
AggroVisionRadius: !type:Single
10
+ NavSmash: !type:Bool
+ true
- type: NPCUseActionOnTarget
actionId: ActionGoliathTentacle
- type: Tag
@@ -241,6 +243,8 @@
4
AggroVisionRadius: !type:Single
9
+ NavSmash: !type:Bool
+ true
- type: Butcherable
spawned:
- id: FoodHivelordRemains
@@ -293,6 +297,8 @@
15
AggroVisionRadius: !type:Single
15
+ NavSmash: !type:Bool
+ true
- type: TimedDespawn
lifetime: 100
@@ -345,3 +351,77 @@
- type: Tag
tags:
- HivelordRemains
+
+
+- type: entity
+ id: MobBasilisk
+ parent: [ BaseMobAsteroid, MobBloodstream ]
+ name: basilisk
+ description: A territorial beast, covered in a thick shell that absorbs energy. Its stare causes victims to freeze from the inside.
+ components:
+ - type: Sprite
+ sprite: Mobs/Aliens/Asteroid/basilisk.rsi
+ layers:
+ - map: ["enum.DamageStateVisualLayers.Base"]
+ state: basilisk
+ - type: DamageStateVisuals
+ states:
+ Alive:
+ Base: basilisk
+ Dead:
+ Base: basilisk_dead
+ - type: MovementSpeedModifier
+ baseWalkSpeed : 3
+ baseSprintSpeed : 3.5
+ - type: MobThresholds
+ thresholds:
+ 0: Alive
+ 80: Dead
+ - type: MeleeWeapon
+ angle: 0
+ animation: WeaponArcBite
+ soundHit:
+ path: /Audio/Effects/bite.ogg
+ damage:
+ types:
+ Slash: 7
+ Piercing: 5
+ - type: Gun
+ fireRate: 0.75
+ selectedMode: SemiAuto
+ showExamineText: false
+ availableModes: [ SemiAuto ]
+ soundGunshot: /Audio/Weapons/Guns/Gunshots/syringe_gun.ogg
+ - type: RechargeBasicEntityAmmo
+ showExamineText: false
+ rechargeCooldown: 0
+ rechargeSound: null
+ - type: BasicEntityAmmoProvider
+ proto: BasiliskRay
+ capacity: 1
+ count: 1
+ - type: Bloodstream
+ bloodMaxVolume: 200
+ chemicalMaxVolume: 0
+ - type: NpcFactionMember
+ factions:
+ - SimpleHostile
+ - type: HTN
+ rootTask:
+ task: BasiliskCompound
+ blackboard:
+ VisionRadius: !type:Single
+ 7
+ AggroVisionRadius: !type:Single
+ 12
+ NavSmash: !type:Bool
+ true
+ - type: Reflect
+ reflectProb: 1
+ reflects:
+ - Energy
+ - type: Butcherable
+ spawned:
+ - id: DiamondOre1
+ amount: 1
+ maxAmount: 3
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
index 63d9e62349..60b19626b0 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
@@ -437,6 +437,45 @@
- type: ChangeTemperatureOnCollide
heat: 100000 #This may be a bit underpowered, but in testing, 130000 was RIDICULOUS and killed in seconds.
+- type: entity
+ parent: BaseBullet
+ id: BasiliskRay
+ name: basilisk ray
+ categories: [ HideSpawnMenu ]
+ components:
+ - type: FlyBySound
+ sound:
+ collection: EnergyMiss
+ params:
+ volume: 5
+ - type: Sprite
+ sprite: Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi
+ layers:
+ - state: ice
+ shader: unshaded
+ - type: Ammo
+ muzzleFlash: null
+ - type: Physics
+ - type: Fixtures
+ fixtures:
+ projectile:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.2,-0.2,0.2,0.2"
+ hard: false
+ mask:
+ - Opaque
+ fly-by: *flybyfixture
+ - type: Projectile
+ impactEffect: BulletImpactEffectDisabler
+ damage:
+ types:
+ Cold: 5
+ - type: TimedDespawn
+ lifetime: 3
+ - type: ChangeTemperatureOnCollide
+ heat: -50000
+
- type: entity
id: BulletKinetic
name: kinetic bolt
diff --git a/Resources/Prototypes/NPCs/basilisk.yml b/Resources/Prototypes/NPCs/basilisk.yml
new file mode 100644
index 0000000000..601d048b79
--- /dev/null
+++ b/Resources/Prototypes/NPCs/basilisk.yml
@@ -0,0 +1,22 @@
+- type: htnCompound
+ id: BasiliskCompound
+ branches:
+ - tasks:
+ - !type:HTNCompoundTask
+ task: BasiliskMeleeCombatCompound
+ - tasks:
+ - !type:HTNCompoundTask
+ task: InnateRangedCombatCompound
+ - tasks:
+ - !type:HTNCompoundTask
+ task: IdleCompound
+
+- type: htnCompound
+ id: BasiliskMeleeCombatCompound
+ branches:
+ - tasks:
+ - !type:HTNPrimitiveTask
+ operator: !type:UtilityOperator
+ proto: NearbyColdMeleeTargets
+ - !type:HTNCompoundTask
+ task: BeforeMeleeAttackTargetCompound
diff --git a/Resources/Prototypes/NPCs/utility_queries.yml b/Resources/Prototypes/NPCs/utility_queries.yml
index 69ae4a337d..23ad7a59a1 100644
--- a/Resources/Prototypes/NPCs/utility_queries.yml
+++ b/Resources/Prototypes/NPCs/utility_queries.yml
@@ -99,6 +99,27 @@
- !type:TargetInLOSOrCurrentCon
curve: !type:BoolCurve
+- type: utilityQuery
+ id: NearbyColdMeleeTargets
+ query:
+ - !type:NearbyHostilesQuery
+ considerations:
+ - !type:TargetLowTempCon
+ curve: !type:BoolCurve
+ minTemp: 250
+ - !type:TargetIsAliveCon
+ curve: !type:BoolCurve
+ - !type:TargetDistanceCon
+ curve: !type:PresetCurve
+ preset: TargetDistance
+ - !type:TargetHealthCon
+ curve: !type:PresetCurve
+ preset: TargetHealth
+ - !type:TargetAccessibleCon
+ curve: !type:BoolCurve
+ - !type:TargetInLOSOrCurrentCon
+ curve: !type:BoolCurve
+
- type: utilityQuery
id: OrderedTargets
query:
@@ -191,7 +212,7 @@
- !type:TargetIsCritCon
curve: !type:InverseBoolCurve
- !type:TargetIsStunnedCon
- curve: !type:InverseBoolCurve
+ curve: !type:InverseBoolCurve
- !type:TurretTargetingCon
curve: !type:BoolCurve
- !type:TargetDistanceCon
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/basilisk.png b/Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/basilisk.png
new file mode 100644
index 0000000000000000000000000000000000000000..5177522f4beefeed9d38cc84b7f7eaf64ec47770
GIT binary patch
literal 2845
zcmV+&3*z*NP)K(^pA*q{!s*l3PH8C1i`EnL=f{FB2w9v)iDQ3H|HtvqI*r>esr-W)ja8}pl5BObMq_)=2=ZG4+&ge0S!Z&3Sc$cbT<{2xRxPP&(hxHm
zXGA^ssI?-{o?nlL?aTT}jO~p{RR@RlwY-rS7IZK&zCz<(orn2#mgvAV1_Lyn5iB@F`Q8Ku?(Wj%EN6X{2M&-KhM@f3^_Abz@sp?N%9Shh&f8am=2WNY
zV=%+}JOX2i!jAO3?@aXz5fTFQ_rF4Ky|s_-(x%K2jMT0RSFAsJln1`Fc^eH48G{pR
zx+f0siUfPuu4C_-Rl&BYt30d(Ci=uvD+r>0^=sbXBB(sw>T)%!j)qqqS`&p{-?*!CsN*$OT~l#~6l+#QL~$e3u$74>zFx=(a!_yY^WgKXkbcjGuMrVbAzP?z{5(Vl78=2WPGo(<468Y
zx3`yR>4_=o+x=wJv3B*)0B!@{0WfmTK0JUI^z`%uJw3~{2#v;un4nrE%rw}LsKesm
zzF9_zdU`IZj5qmC3#@!jV09lWJ3i{Gkua^w=>aRl9!%<-5A_m?Eq6Y
zOiWBfBADyvB7z2M6GAX?;Qsyl#PwX@6()i+qtOk%vqHiq84G
zHfWa7j_WgWJ>bLYx-*3~r@+kR=Zj(XveSjL!}k4|%Fh?=f3~vI{6U`vY~<(Nn62z|8ifRy&HTI%bCsPg<^i*qpKqtm
zOlGHr0H0TZV?}s=tF8PzqV4FxK2>Hsmqby>?DV1Um@m?ewzJdU3WFoQKmNs)9_J5}
zPvl!>eeVZ(1`ORTvrHmCp9?NyjUd{Ted%Sbc90im*^?`FSRP{P=Nt;$xrI
z=lVlwzf83y^Yht2*;~<-OxwM8{qMA6$ByLMULZSd+I){7@9v`vVy}!D9J&CeLU#
zn~v6osjJ*+ebV;BeEx<9B+H}iuC6Y9u0=SAX|XCdJ8ifmlPCmj$CB%d^Ykp$(G^5lSP^WI%;5OO2&=>jyvE}#00b*y!z!l3eC9(Y5fk={HdqANN6Gpy
zErX&zJI(xJu8w8UJjlw=BO4@%0;fk#Q0KCbrum5cd`rlvhrXWMygj;xEfB`o7QZA(
z4oQwNLII#U+~TS(fB>|3aR<5b^PCE^4Z3}Iw-Vrd>KSF^=W`)`SRsMFPLCW(h@frc
z)Vat`gTuY|KcKsJ@2IP%!;%=}A=gHT*T|<;g*EDUSsjtj!%t6Q;`Zq00pg9n+(D(!
z7AudkeP3^F35~sgft6&B8pvZI7fC*b5P-eF4Ng5H?Q8=h;=|&_uPZ`Eynw1fiN-SH
z0LtJ95jy%`S7*zdKEf+TabA4HJ%qM~*&$~WuL+=a)utG^2=BxiUY`c4Vu@mbJu3fv9o&tun
z!2@QV19a>H?*ajfq$aj&*RDVcBY|hpmRHoREa?pFwryJ$=Ge=;Bv**hc5bkvBOZkX
z3l`*-KYH}2CIpg2%4MNkF6(2_!ODUbfZYP>_{i9u$#Ptu^N0vqSt&JF3<&ReQ}U|K
zfCHhlw}^c<DlHbt0?RQ-PeiSuY_;eJiy00000NkvXXu0mjf4ZWK&
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/basilisk_alert.png b/Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/basilisk_alert.png
new file mode 100644
index 0000000000000000000000000000000000000000..3bd4e6e1a703a10554148760df22168517567cc1
GIT binary patch
literal 4385
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
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/meta.json b/Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/meta.json
new file mode 100644
index 0000000000..73710c98cb
--- /dev/null
+++ b/Resources/Textures/Mobs/Aliens/Asteroid/basilisk.rsi/meta.json
@@ -0,0 +1,48 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from vgstation13 at https://github.com/vgstation-coders/vgstation13/blob/9bd459b27c73575fd5e3bf2efea13b816d0ac7c8/icons/mob/animal.dmi",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "basilisk",
+ "directions": 4
+ },
+ {
+ "name": "basilisk_alert",
+ "directions": 4,
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ],
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "basilisk_dead"
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi/ice.png b/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi/ice.png
new file mode 100644
index 0000000000000000000000000000000000000000..71633de6825a6307da96d3f337026fadf14dc50e
GIT binary patch
literal 247
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}8$DedLn2z=
zPTa`bY#`ujAIUV$L%8ai=XtZ6O_D)N8Kjn-5R&m#QWcw)^pE}Y#P~|P`S)v?CEG4a
zl^uEc{M^Y?SC7YXZueK)Ae_jwZ*6Vq&W7J7ddjx$Tir0@Et7H7l@S`Xj%&mznsOiz5{mD8xKaeztmf
v9naoUgX#s_`y_?`a$B5u+xSHI2fJ8^yTPWrK3jeQ9nawD>gTe~DWM4fR(4>-
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi/meta.json
index d7b6a34f54..872a5ab721 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi/meta.json
@@ -55,6 +55,9 @@
},
{
"name": "heavylaser_flash"
+ },
+ {
+ "name": "ice"
}
]
-}
\ No newline at end of file
+}