There's always bigger fish in the sea (#4826)

* Oh my god there are sharks here

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* I don't even know man

* Fix spaces

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixes fixes fixes

* English language was invented to sell more dictionaries

* eveny

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Dorragon 2025-12-04 16:27:57 +03:00 committed by GitHub
parent 7ad4ff91a4
commit 36025fe065
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 153 additions and 1 deletions

View File

@ -37,4 +37,26 @@ public sealed partial class DragonRiftComponent : SharedDragonRiftComponent
[ViewVariables(VVAccess.ReadWrite), DataField("spawn", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
public string SpawnPrototype = "MobCarpDragon";
//Begin DeltaV - Elite spawns on dragon rifts
[DataField]
public bool SpawnElites = true;
[DataField("spawnElite")]
public EntProtoId? SpawnElitePrototype = "MobSharkminnowDragon";
/// <summary>
/// Every N-th spawn is the elite where N is Elite frequency
/// </summary>
[DataField]
public int SpawnEliteFrequency = 5;
/// <summary>
/// Accumulation of elite spawns
/// Starts at the same value as Frequency to guarantee the first spawn to be elite
/// </summary>
[DataField]
public int SpawnEliteAccumulator = 5;
//End DeltaV - Elite spawns on dragon rifts
}

View File

@ -90,7 +90,16 @@ public sealed class DragonRiftSystem : EntitySystem
if (comp.SpawnAccumulator > comp.SpawnCooldown)
{
comp.SpawnAccumulator -= comp.SpawnCooldown;
var ent = Spawn(comp.SpawnPrototype, xform.Coordinates);
//Begin DeltaV - Elite spawns on dragon rifts
comp.SpawnEliteAccumulator += 1;
var entSpawnPrototype = comp.SpawnPrototype;
if (comp.SpawnElites && comp.SpawnEliteAccumulator >= comp.SpawnEliteFrequency)
{
comp.SpawnEliteAccumulator -= comp.SpawnEliteFrequency;
entSpawnPrototype = comp.SpawnElitePrototype;
}
//End DeltaV - Elite spawns on dragon rifts
var ent = Spawn(entSpawnPrototype, xform.Coordinates); //Delta-v change: comp.SpawnPrototype -> entSpawnPrototype
// Update their look to match the leader.
if (TryComp<RandomSpriteComponent>(comp.Dragon, out var randomSprite))

View File

@ -0,0 +1,2 @@
ghost-role-information-sentient-shark-name = Sentient Sharkminnow
ghost-role-information-sentient-shark-description = Help the dragon flood the station with sharks!

View File

@ -0,0 +1,47 @@
- type: entity
parent: MobShark
id: MobSharkColored
components:
- type: Sprite
drawdepth: Mobs
sprite: _DV/Mobs/Aliens/Carps/uncoloredsharkminnow.rsi
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: alive
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
state: mouth
shader: unshaded
- type: RandomSprite
available:
- enum.DamageStateVisualLayers.Base:
alive: Rainbow
enum.DamageStateVisualLayers.BaseUnshaded:
mouth: ""
- type: entity
name: Sharkminnow
id: MobSharkminnowDragon
suffix: DragonBrood
parent: MobSharkColored
components:
- type: GhostRole
makeSentient: true
name: ghost-role-information-sentient-shark-name
description: ghost-role-information-sentient-shark-description
rules: ghost-role-information-space-dragon-summoned-carp-rules
mindRoles:
- MindRoleGhostRoleTeamAntagonistFlock
- type: GhostTakeoverAvailable
- type: HTN
rootTask:
task: DragonCarpCompound
- type: Flammable
damage:
types: {}
- type: Temperature
heatDamageThreshold: 1200
- type: MeleeWeapon
damage:
types:
Slash: 10
Piercing: 10

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,72 @@
{
"version": 1,
"size": {
"x": 48,
"y": 48
},
"license": "CC-BY-SA-3.0",
"copyright": "Sprited by Nimfar11 (Github) for Space Station 14. Colors modified by Dorragon for Delta-v",
"states": [
{
"name": "icon"
},
{
"name": "mouth",
"directions": 4,
"delays": [
[
0.3,
0.3,
0.3
],
[
0.3,
0.3,
0.3
],
[
0.3,
0.3,
0.3
],
[
0.3,
0.3,
0.3
]
]
},
{
"name": "dead_mouth"
},
{
"name": "dead"
},
{
"name": "alive",
"directions": 4,
"delays": [
[
0.3,
0.3,
0.3
],
[
0.3,
0.3,
0.3
],
[
0.3,
0.3,
0.3
],
[
0.3,
0.3,
0.3
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 B