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:
parent
7ad4ff91a4
commit
36025fe065
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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!
|
||||
|
|
@ -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 |
|
|
@ -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 |
Loading…
Reference in New Issue