diff --git a/Content.Shared/Atmos/Rotting/PerishableComponent.cs b/Content.Shared/Atmos/Rotting/PerishableComponent.cs
index 6983b872b8..99b30fc906 100644
--- a/Content.Shared/Atmos/Rotting/PerishableComponent.cs
+++ b/Content.Shared/Atmos/Rotting/PerishableComponent.cs
@@ -45,6 +45,12 @@ public sealed partial class PerishableComponent : Component
[DataField, AutoNetworkedField]
public int Stage;
+
+ ///
+ /// If true, rot will always progress.
+ ///
+ [DataField, AutoNetworkedField]
+ public bool ForceRotProgression;
}
diff --git a/Content.Shared/Atmos/Rotting/SharedRottingSystem.cs b/Content.Shared/Atmos/Rotting/SharedRottingSystem.cs
index 840818dee5..60c89c012a 100644
--- a/Content.Shared/Atmos/Rotting/SharedRottingSystem.cs
+++ b/Content.Shared/Atmos/Rotting/SharedRottingSystem.cs
@@ -115,6 +115,10 @@ public abstract class SharedRottingSystem : EntitySystem
if (!Resolve(uid, ref perishable, false))
return false;
+ // Overrides all the other checks.
+ if (perishable.ForceRotProgression)
+ return true;
+
// only dead things or inanimate objects can rot
if (TryComp(uid, out var mobState) && !_mobState.IsDead(uid, mobState))
return false;
diff --git a/Content.Shared/Damage/Components/IgnoreSlowOnDamageComponent.cs b/Content.Shared/Damage/Components/IgnoreSlowOnDamageComponent.cs
new file mode 100644
index 0000000000..e933eb1a79
--- /dev/null
+++ b/Content.Shared/Damage/Components/IgnoreSlowOnDamageComponent.cs
@@ -0,0 +1,9 @@
+using Robust.Shared.GameStates;
+
+namespace Content.Shared.Damage.Components;
+
+///
+/// This is used for an effect that nullifies and adds an alert.
+///
+[RegisterComponent, NetworkedComponent, Access(typeof(SlowOnDamageSystem))]
+public sealed partial class IgnoreSlowOnDamageComponent : Component;
diff --git a/Content.Shared/Damage/Systems/SlowOnDamageSystem.cs b/Content.Shared/Damage/Systems/SlowOnDamageSystem.cs
index 78650ec5cf..0c43093340 100644
--- a/Content.Shared/Damage/Systems/SlowOnDamageSystem.cs
+++ b/Content.Shared/Damage/Systems/SlowOnDamageSystem.cs
@@ -22,6 +22,10 @@ namespace Content.Shared.Damage
SubscribeLocalEvent(OnExamined);
SubscribeLocalEvent(OnGotEquipped);
SubscribeLocalEvent(OnGotUnequipped);
+
+ SubscribeLocalEvent(OnIgnoreStartup);
+ SubscribeLocalEvent(OnIgnoreShutdown);
+ SubscribeLocalEvent(OnIgnoreModifySpeed);
}
private void OnRefreshMovespeed(EntityUid uid, SlowOnDamageComponent component, RefreshMovementSpeedModifiersEvent args)
@@ -80,6 +84,21 @@ namespace Content.Shared.Damage
{
_movementSpeedModifierSystem.RefreshMovementSpeedModifiers(args.Wearer);
}
+
+ private void OnIgnoreStartup(Entity ent, ref ComponentStartup args)
+ {
+ _movementSpeedModifierSystem.RefreshMovementSpeedModifiers(ent);
+ }
+
+ private void OnIgnoreShutdown(Entity ent, ref ComponentShutdown args)
+ {
+ _movementSpeedModifierSystem.RefreshMovementSpeedModifiers(ent);
+ }
+
+ private void OnIgnoreModifySpeed(Entity ent, ref ModifySlowOnDamageSpeedEvent args)
+ {
+ args.Speed = 1f;
+ }
}
[ByRefEvent]
diff --git a/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs b/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs
index f478405bec..25d0453b59 100644
--- a/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs
+++ b/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs
@@ -17,7 +17,7 @@ public sealed partial class RechargeBasicEntityAmmoComponent : Component
[DataField("rechargeSound")]
[AutoNetworkedField]
- public SoundSpecifier RechargeSound = new SoundPathSpecifier("/Audio/Magic/forcewall.ogg")
+ public SoundSpecifier? RechargeSound = new SoundPathSpecifier("/Audio/Magic/forcewall.ogg")
{
Params = AudioParams.Default.WithVolume(-5f)
};
@@ -27,4 +27,7 @@ public sealed partial class RechargeBasicEntityAmmoComponent : Component
AutoNetworkedField]
[AutoPausedField]
public TimeSpan? NextCharge;
+
+ [DataField, AutoNetworkedField]
+ public bool ShowExamineText = true;
}
diff --git a/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs b/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs
index 9d6d552400..3316df0b96 100644
--- a/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs
+++ b/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs
@@ -66,6 +66,9 @@ public sealed class RechargeBasicEntityAmmoSystem : EntitySystem
private void OnExamined(EntityUid uid, RechargeBasicEntityAmmoComponent component, ExaminedEvent args)
{
+ if (!component.ShowExamineText)
+ return;
+
if (!TryComp(uid, out var ammo)
|| ammo.Count == ammo.Capacity ||
component.NextCharge == null)
diff --git a/Resources/Locale/en-US/alerts/alerts.ftl b/Resources/Locale/en-US/alerts/alerts.ftl
index 3babbb6c1a..4056e47a0a 100644
--- a/Resources/Locale/en-US/alerts/alerts.ftl
+++ b/Resources/Locale/en-US/alerts/alerts.ftl
@@ -102,6 +102,9 @@ alerts-bleed-desc = You're [color=red]bleeding[/color].
alerts-pacified-name = [color=green]Pacified[/color]
alerts-pacified-desc = You're pacified; you won't be able to harm living creatures.
+alerts-adrenaline-name = [color=red]Adrenaline[/color]
+alerts-adrenaline-desc = You're full of adrenaline: pain won't slow you down.
+
alerts-suit-power-name = Suit Power
alerts-suit-power-desc = How much power your space ninja suit has.
diff --git a/Resources/Locale/en-US/guidebook/chemistry/statuseffects.ftl b/Resources/Locale/en-US/guidebook/chemistry/statuseffects.ftl
index 38d862107c..434335626e 100644
--- a/Resources/Locale/en-US/guidebook/chemistry/statuseffects.ftl
+++ b/Resources/Locale/en-US/guidebook/chemistry/statuseffects.ftl
@@ -13,5 +13,5 @@ reagent-effect-status-effect-RatvarianLanguage = ratvarian language patterns
reagent-effect-status-effect-StaminaModifier = modified stamina
reagent-effect-status-effect-RadiationProtection = radiation protection
reagent-effect-status-effect-Drowsiness = drowsiness
+reagent-effect-status-effect-Adrenaline = adrenaline
reagent-effect-status-effect-NoScream = pain immunity
-reagent-effect-status-effect-Adrenaline = immunity to slowdown due to damage
diff --git a/Resources/Locale/en-US/reagents/meta/chemicals.ftl b/Resources/Locale/en-US/reagents/meta/chemicals.ftl
index 1d70ff65ff..ad9d12e26f 100644
--- a/Resources/Locale/en-US/reagents/meta/chemicals.ftl
+++ b/Resources/Locale/en-US/reagents/meta/chemicals.ftl
@@ -28,3 +28,5 @@ reagent-desc-sodium-polyacrylate = A super-absorbent polymer with assorted indus
reagent-name-cellulose = cellulose fibers
reagent-desc-cellulose = A crystaline polydextrose polymer, plants swear by this stuff.
+reagent-name-rororium = rororium
+reagent-desc-rororium = A strange substance which fills the cores of the hivelords that roam the mining asteroid. Thought to be the source of their regenerative powers.
diff --git a/Resources/Prototypes/Alerts/alerts.yml b/Resources/Prototypes/Alerts/alerts.yml
index 600b54d63f..b1192203e0 100644
--- a/Resources/Prototypes/Alerts/alerts.yml
+++ b/Resources/Prototypes/Alerts/alerts.yml
@@ -4,32 +4,32 @@
# If item is not in list it will go at the bottom (ties broken by alert type enum value)
id: BaseAlertOrder
order:
- - category: Health
- - category: Mood
- - category: Stamina
- - alertType: SuitPower
- - alertType: ModsuitPower # Goobstation - Modsuits
- - category: Internals
- - alertType: Fire
- - alertType: Handcuffed
- - alertType: Ensnared
- - category: Buckled
- - alertType: Pulling
- - category: Piloting
- - alertType: Corporeal
- - alertType: Stun
- - alertType: KnockedDown # goobstation
- - category: Breathing # Vox gang not calling this oxygen
- - category: Pressure
- - alertType: Bleed
- - category: Temperature
- - category: Hunger
- - category: Thirst
- - alertType: Magboots
- - alertType: Pacified
- - alertType: Offer
- - alertType: Deflecting
- - alertType: RecentlyBlocked # WD EDIT
+ - category: Health
+ - category: Mood
+ - category: Stamina
+ - alertType: SuitPower
+ - alertType: ModsuitPower # Goobstation - Modsuits
+ - category: Internals
+ - alertType: Fire
+ - alertType: Handcuffed
+ - alertType: Ensnared
+ - category: Buckled
+ - alertType: Pulling
+ - category: Piloting
+ - alertType: Corporeal
+ - alertType: Stun
+ - alertType: KnockedDown
+ - category: Breathing # Vox gang not calling this oxygen
+ - category: Pressure
+ - alertType: Bleed
+ - category: Temperature
+ - category: Hunger
+ - category: Thirst
+ - alertType: Magboots
+ - alertType: Pacified
+ - alertType: Offer
+ - alertType: Deflecting
+ - alertType: RecentlyBlocked # WD EDIT
- type: entity
id: AlertSpriteView
@@ -475,6 +475,14 @@
name: alerts-pacified-name
description: alerts-pacified-desc
+- type: alert
+ id: Adrenaline
+ icons:
+ - sprite: Mobs/Species/Human/organs.rsi
+ state: heart-on
+ name: alerts-adrenaline-name
+ description: alerts-adrenaline-desc
+
- type: alert
id: Walking
icons:
diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml
index c1e44c092d..7e147ba711 100644
--- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml
+++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml
@@ -490,10 +490,7 @@
table: !type:GroupSelector
children:
- id: MobGoliath
- weight: 45
- #- id: MobHivelord
- # weight: 30
- #- id: MobArgocyteLeviathing #goobstation
- # weight: 10
- #- id: MobArgocyteFounder
- # weight: 25
+ weight: 65
+ - id: MobHivelord
+ weight: 35
+
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml b/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml
index 83653134fc..1adbde18dd 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml
@@ -26,6 +26,7 @@
- TemporaryBlindness
- RadiationProtection
- Drowsiness
+ - Adrenaline
- type: StandingState
- type: Tag
tags:
@@ -181,3 +182,156 @@
state: goliath_tentacle_retract
- type: EffectVisuals
- type: AnimationPlayer
+
+- type: entity
+ id: MobHivelord
+ parent: [ BaseMobAsteroid, FlyingMobBase ]
+ name: hivelord
+ description: A truly alien creature, it is a mass of unknown organic material, constantly fluctuating. When attacking, pieces of it split off and attack in tandem with the original.
+ components:
+ - type: Sprite
+ sprite: Mobs/Aliens/Asteroid/hivelord.rsi
+ layers:
+ - map: ["enum.DamageStateVisualLayers.Base"]
+ state: hivelord
+ - type: DamageStateVisuals
+ states:
+ Alive:
+ Base: hivelord
+ Dead:
+ Base: hivelord_dead
+ - type: MovementSpeedModifier
+ baseWalkSpeed : 3.5
+ baseSprintSpeed : 4.0
+ - type: MobThresholds
+ thresholds:
+ 0: Alive
+ 75: Dead
+ - type: MeleeWeapon
+ damage:
+ types:
+ Blunt: 0
+ - type: Gun
+ fireRate: 0.66
+ selectedMode: SemiAuto
+ showExamineText: false
+ availableModes:
+ - SemiAuto
+ soundGunshot: null
+ - type: RechargeBasicEntityAmmo
+ showExamineText: false
+ rechargeCooldown: 0
+ rechargeSound: null
+ - type: BasicEntityAmmoProvider
+ proto: MobHivelordBrood
+ capacity: 1
+ count: 1
+ - type: NpcFactionMember
+ factions:
+ - SimpleHostile
+ - type: HTN
+ rootTask:
+ task: SimpleRangedHostileCompound
+ blackboard:
+ VisionRadius: !type:Single
+ 4
+ AggroVisionRadius: !type:Single
+ 9
+ - type: Butcherable
+ spawned:
+ - id: FoodHivelordRemains
+
+- type: entity
+ id: MobHivelordBrood
+ parent: [ BaseMobAsteroid, FlyingMobBase ]
+ name: hivelord brood
+ description: A fragment of the original hivelord, rallying behind its original. One isn't much of a threat, but...
+ components:
+ - type: Sprite
+ sprite: Mobs/Aliens/Asteroid/hivelord.rsi
+ layers:
+ - state: hivelordbrood
+ - type: MovementSpeedModifier
+ baseWalkSpeed : 3.5
+ baseSprintSpeed : 4.0
+ - type: MobThresholds
+ thresholds:
+ 0: Alive
+ 5: Dead
+ - type: MeleeWeapon
+ soundHit:
+ path: /Audio/Weapons/bladeslice.ogg
+ angle: 0
+ attackRate: 1.0
+ range: 0.75
+ animation: WeaponArcPunch
+ damage:
+ types:
+ Slash: 7
+ - type: Ammo
+ muzzleFlash: null
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 5
+ behaviors:
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+ - type: NpcFactionMember
+ factions:
+ - SimpleHostile
+ - type: HTN
+ rootTask:
+ task: SimpleHostileCompound
+ blackboard: # highly aggressive
+ VisionRadius: !type:Single
+ 15
+ AggroVisionRadius: !type:Single
+ 15
+ - type: TimedDespawn
+ lifetime: 100
+
+- type: entity
+ id: FoodHivelordRemains
+ parent: FoodBase
+ name: hivelord remains
+ description: All that remains of a hivelord, it seems to be what allows it to break pieces of itself off without being hurt... its healing properties will soon become inert if not used quickly. Try not to think about what you're eating.
+ components:
+ - type: SolutionContainerManager
+ solutions:
+ food:
+ maxVol: 5
+ reagents:
+ - ReagentId: Rororium
+ Quantity: 5
+ - type: Sprite
+ sprite: Objects/Consumable/Food/rorocore.rsi
+ state: boiled
+ - type: Item
+ size: Normal
+ - type: Perishable
+ rotAfter: 120 # rot after 2 minutes
+ molsPerSecondPerUnitMass: 0
+ forceRotProgression: true
+ - type: RotInto
+ entity: FoodHivelordRemainsInert
+ stage: 1
+ - type: StaticPrice
+ price: 5000
+
+- type: entity
+ id: FoodHivelordRemainsInert
+ parent: BaseItem
+ name: inert hivelord remains
+ description: All that remains of a hivelord... Now all is truly lost.
+ components:
+ - type: Sprite
+ sprite: Objects/Consumable/Food/rorocore.rsi
+ state: boiled
+ color: "#664444"
+ - type: SpaceGarbage
+ - type: Item
+ size: Normal
+ - type: StaticPrice
+ price: 500
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/simplemob.yml b/Resources/Prototypes/Entities/Mobs/NPCs/simplemob.yml
index ba4cda44d8..16df802e54 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/simplemob.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/simplemob.yml
@@ -29,6 +29,7 @@
- Flashed
- RadiationProtection
- Drowsiness
+ - Adrenaline
- type: Buckle
- type: StandingState
- type: Tag
@@ -96,18 +97,19 @@
baseDecayRate: 0.04
- type: StatusEffects
allowed:
- - Stun
- - KnockedDown
- - SlowedDown
- - Stutter
- - Electrocution
- - ForcedSleep
- - TemporaryBlindness
- - Pacified
- - StaminaModifier
- - Flashed
- - RadiationProtection
- - Drowsiness
+ - Stun
+ - KnockedDown
+ - SlowedDown
+ - Stutter
+ - Electrocution
+ - ForcedSleep
+ - TemporaryBlindness
+ - Pacified
+ - StaminaModifier
+ - Flashed
+ - RadiationProtection
+ - Drowsiness
+ - Adrenaline
- type: Bloodstream
bloodMaxVolume: 150
- type: MobPrice
diff --git a/Resources/Prototypes/Entities/Mobs/Player/dragon.yml b/Resources/Prototypes/Entities/Mobs/Player/dragon.yml
index 77da2a35d7..7ffd4b309a 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/dragon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/dragon.yml
@@ -110,6 +110,7 @@
- Pacified
- RadiationProtection
- Drowsiness
+ - Adrenaline
- type: Temperature
heatDamageThreshold: 800
- type: Metabolizer
diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml
index 44c420e7b2..dccf89ab18 100644
--- a/Resources/Prototypes/Entities/Mobs/Species/base.yml
+++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml
@@ -142,6 +142,7 @@
- Flashed
- RadiationProtection
- Drowsiness
+ - Adrenaline
- PsionicsDisabled
- PsionicallyInsulated
- type: Body
@@ -325,6 +326,7 @@
allowMovementWhileSoftCrit: true
+
- type: entity
save: false
id: BaseSpeciesDummy
diff --git a/Resources/Prototypes/Procedural/vgroid.yml b/Resources/Prototypes/Procedural/vgroid.yml
index c9029b85f5..9767753e65 100644
--- a/Resources/Prototypes/Procedural/vgroid.yml
+++ b/Resources/Prototypes/Procedural/vgroid.yml
@@ -216,7 +216,7 @@
minCount: 8
maxCount: 15
groups:
- - id: MobGoliath
+ - id: SalvageSpawnerMobMiningAsteroid
amount: 1
#- type: dungeonConfig
@@ -243,10 +243,10 @@
# Mobs
# If you want exterior dungeon mobs add them under the prototype.
- !type:MobsDunGen
- minCount: 20
- maxCount: 30
+ minCount: 25
+ maxCount: 35
groups:
- - id: MobGoliath
+ - id: SalvageSpawnerMobMiningAsteroid
amount: 1
#- type: dungeonConfig
diff --git a/Resources/Prototypes/Reagents/chemicals.yml b/Resources/Prototypes/Reagents/chemicals.yml
index b2b4850c8f..769b7748f3 100644
--- a/Resources/Prototypes/Reagents/chemicals.yml
+++ b/Resources/Prototypes/Reagents/chemicals.yml
@@ -166,3 +166,23 @@
color: "#E6E6DA"
physicalDesc: reagent-physical-desc-crystalline
slippery: false
+
+- type: reagent
+ id: Rororium
+ name: reagent-name-rororium
+ desc: reagent-desc-rororium
+ group: Biological
+ flavor: tingly
+ physicalDesc: reagent-physical-desc-refreshing
+ color: "#bf1365"
+ metabolisms:
+ Medicine:
+ effects:
+ - !type:HealthChange
+ damage:
+ groups:
+ Brute: -4
+ - !type:GenericStatusEffect
+ key: Adrenaline
+ component: IgnoreSlowOnDamage
+ time: 120
diff --git a/Resources/Prototypes/status_effects.yml b/Resources/Prototypes/status_effects.yml
index 41db2eafae..691c33bb90 100644
--- a/Resources/Prototypes/status_effects.yml
+++ b/Resources/Prototypes/status_effects.yml
@@ -72,6 +72,10 @@
- type: statusEffect
id: Drowsiness #blurs your vision and makes you randomly fall asleep
+- type: statusEffect
+ id: Adrenaline
+ alert: Adrenaline
+
# WD EDIT START
- type: statusEffect
id: RecentlyBlocked
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord.png b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord.png
new file mode 100644
index 0000000000..09d70265e6
Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord.png differ
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_alert.png b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_alert.png
new file mode 100644
index 0000000000..e9ecab5eb7
Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_alert.png differ
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_alert_nocore.png b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_alert_nocore.png
new file mode 100644
index 0000000000..dc61d81d2b
Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_alert_nocore.png differ
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_dead.png b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_dead.png
new file mode 100644
index 0000000000..4e09b49b40
Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_dead.png differ
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_dead_nocore.png b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_dead_nocore.png
new file mode 100644
index 0000000000..5f2a004190
Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_dead_nocore.png differ
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_nocore.png b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_nocore.png
new file mode 100644
index 0000000000..7d38dbfe89
Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelord_nocore.png differ
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelordbrood.png b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelordbrood.png
new file mode 100644
index 0000000000..ddce7a9b19
Binary files /dev/null and b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/hivelordbrood.png differ
diff --git a/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/meta.json b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/meta.json
new file mode 100644
index 0000000000..b11726cf73
--- /dev/null
+++ b/Resources/Textures/Mobs/Aliens/Asteroid/hivelord.rsi/meta.json
@@ -0,0 +1,74 @@
+{
+ "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": "hivelord",
+ "delays": [
+ [
+ 0.5,
+ 0.5,
+ 0.5,
+ 0.5
+ ]
+ ]
+ },
+ {
+ "name": "hivelord_nocore",
+ "delays": [
+ [
+ 0.5,
+ 0.5,
+ 0.5,
+ 0.5
+ ]
+ ]
+ },
+ {
+ "name": "hivelord_alert",
+ "delays": [
+ [
+ 0.5,
+ 0.5,
+ 0.5,
+ 0.5
+ ]
+ ]
+ },
+ {
+ "name": "hivelord_alert_nocore",
+ "delays": [
+ [
+ 0.5,
+ 0.5,
+ 0.5,
+ 0.5
+ ]
+ ]
+ },
+ {
+ "name": "hivelord_dead"
+ },
+ {
+ "name": "hivelord_dead_nocore"
+ },
+ {
+ "name": "hivelordbrood",
+ "delays": [
+ [
+ 0.5,
+ 0.5,
+ 0.5,
+ 0.5,
+ 0.5,
+ 0.5
+ ]
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Resources/Textures/Objects/Consumable/Food/rorocore.rsi/boiled.png b/Resources/Textures/Objects/Consumable/Food/rorocore.rsi/boiled.png
new file mode 100644
index 0000000000..1a1d0c92dc
Binary files /dev/null and b/Resources/Textures/Objects/Consumable/Food/rorocore.rsi/boiled.png differ
diff --git a/Resources/Textures/Objects/Consumable/Food/rorocore.rsi/icon.png b/Resources/Textures/Objects/Consumable/Food/rorocore.rsi/icon.png
new file mode 100644
index 0000000000..de235cca3c
Binary files /dev/null and b/Resources/Textures/Objects/Consumable/Food/rorocore.rsi/icon.png differ
diff --git a/Resources/Textures/Objects/Consumable/Food/rorocore.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/rorocore.rsi/meta.json
new file mode 100644
index 0000000000..84b5983a1c
--- /dev/null
+++ b/Resources/Textures/Objects/Consumable/Food/rorocore.rsi/meta.json
@@ -0,0 +1,17 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 1dbcf389b0ec6b2c51b002df5fef8dd1519f8068",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "boiled"
+ }
+ ]
+}