Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using Robust.Shared.GameStates;
using Robust.Shared.Physics;
using Robust.Shared.Physics.Systems;

namespace Content.Shared._Starlight.Movement.Components;

/// <summary>
/// A component that applies a percentange-based modifier to movement speed while this mob is wearing shoes.
/// Typical use-case is to apply a movement penalty (slow) to a mob that puts on shoes.
///
/// This component is applied to leg BodyParts (e.g. natural limbs like LeftLegFelionoid).
/// </summary>
[RegisterComponent, NetworkedComponent]
public sealed partial class MovementBodyPartHinderedByShoesComponent : Component
{
[DataField]
public float HinderModifier = 0.0f;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
using Content.Shared.Inventory;
using Content.Shared.Body.Components;
using Content.Shared.Movement.Systems;
using Content.Shared._Starlight.Movement.Components;

namespace Content.Shared._Starlight.Movement;

public sealed class MovementHinderedByShoesSystem : EntitySystem
{
[Dependency] private readonly InventorySystem _inventory = default!;

public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<BodyComponent, RefreshMovementSpeedModifiersEvent>(OnRefreshSpeed);
}

private void OnRefreshSpeed(EntityUid uid, BodyComponent body, ref RefreshMovementSpeedModifiersEvent args)
{
// shoes check
if (!_inventory.TryGetSlotEntity(uid, "shoes", out var _))
return;

float hinderModifier = 0f;

foreach (var legEntity in body.LegEntities)
{
if (!TryComp<MovementBodyPartHinderedByShoesComponent>(legEntity, out var legModifier))
continue;

hinderModifier += legModifier.HinderModifier;
}

if (hinderModifier > 0f)
{
args.ModifySpeed(1f, 1f - hinderModifier);
}
}
}
115 changes: 115 additions & 0 deletions Resources/Locale/en-US/_Starlight/datasets/names/felionoid.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
names-felionoid-dataset-1 = Slinkshadow
names-felionoid-dataset-2 = Oceanclaw
names-felionoid-dataset-3 = Dewmist
names-felionoid-dataset-4 = Silktuft
names-felionoid-dataset-5 = Emberwhisk
names-felionoid-dataset-6 = Hazeleap
names-felionoid-dataset-7 = Tailyn
names-felionoid-dataset-8 = Sparktail
names-felionoid-dataset-9 = Windstalker
names-felionoid-dataset-10 = Rainseeker
names-felionoid-dataset-11 = Tidewhisk
names-felionoid-dataset-12 = Ambergleam
names-felionoid-dataset-13 = Goldentuft
names-felionoid-dataset-14 = Echofur
names-felionoid-dataset-15 = Saffronpaw
names-felionoid-dataset-16 = Tanglebranch
names-felionoid-dataset-17 = Pearlfur
names-felionoid-dataset-18 = Cindernose
names-felionoid-dataset-19 = Thundermew
names-felionoid-dataset-20 = Nimblepaw
names-felionoid-dataset-21 = Silkshine
names-felionoid-dataset-22 = Aspenclaw
names-felionoid-dataset-23 = Marshwhisk
names-felionoid-dataset-24 = Crystalsight
names-felionoid-dataset-25 = Frostwhisper
names-felionoid-dataset-26 = Glowstripe
names-felionoid-dataset-27 = Rainwhisker
names-felionoid-dataset-28 = Vixenwhisk
names-felionoid-dataset-29 = Flurrypaw
names-felionoid-dataset-30 = Shimmercoat
names-felionoid-dataset-31 = Marblesnout
names-felionoid-dataset-32 = Frostnose
names-felionoid-dataset-33 = Ripplepelt
names-felionoid-dataset-34 = Blazeheart
names-felionoid-dataset-35 = Furlow
names-felionoid-dataset-36 = Snugglefur
names-felionoid-dataset-37 = Brackenfur
names-felionoid-dataset-38 = Emberglow
names-felionoid-dataset-39 = Murmurstream
names-felionoid-dataset-40 = Sparkfur
names-felionoid-dataset-41 = Galepaw
names-felionoid-dataset-42 = Beetletuft
names-felionoid-dataset-43 = Luminix
names-felionoid-dataset-44 = Mosswhisk
names-felionoid-dataset-45 = Swiftstripe
names-felionoid-dataset-46 = Pinebreeze
names-felionoid-dataset-47 = Cloverpelt
names-felionoid-dataset-48 = Sprucepelt
names-felionoid-dataset-49 = Orangestripe
names-felionoid-dataset-50 = Cobbleclaw
names-felionoid-dataset-51 = Snorast
names-felionoid-dataset-52 = Skywhisker
names-felionoid-dataset-53 = Heatherbreez
names-felionoid-dataset-54 = Sleetnose
names-felionoid-dataset-55 = Cinderclaw
names-felionoid-dataset-56 = Mistgaze
names-felionoid-dataset-57 = Scratchal
names-felionoid-dataset-58 = Creekpad
names-felionoid-dataset-59 = Driftshade
names-felionoid-dataset-60 = Sunstreak
names-felionoid-dataset-61 = Dawnleap
names-felionoid-dataset-62 = Moonfur
names-felionoid-dataset-63 = Wildstripe
names-felionoid-dataset-64 = Starleap
names-felionoid-dataset-65 = Thistletuft
names-felionoid-dataset-66 = Jaderiver
names-felionoid-dataset-67 = Fuzzlen
names-felionoid-dataset-68 = Lightwhisk
names-felionoid-dataset-69 = Thunderpad
names-felionoid-dataset-70 = Whiskara
names-felionoid-dataset-71 = Nettlefur
names-felionoid-dataset-72 = Brighteyes
names-felionoid-dataset-73 = Breezeflick
names-felionoid-dataset-74 = Fernshade
names-felionoid-dataset-75 = Leafglimmer
names-felionoid-dataset-76 = Quartzpaw
names-felionoid-dataset-77 = Mialorin
names-felionoid-dataset-78 = Sableplume
names-felionoid-dataset-79 = Briarstem
names-felionoid-dataset-80 = Whirltail
names-felionoid-dataset-81 = Patchwhisk
names-felionoid-dataset-82 = Spindlewhisk
names-felionoid-dataset-83 = Mewtara
names-felionoid-dataset-84 = Minttail
names-felionoid-dataset-85 = Maplewhisk
names-felionoid-dataset-86 = Shadowgleam
names-felionoid-dataset-87 = Stonepelt
names-felionoid-dataset-88 = Ripplewhisk
names-felionoid-dataset-89 = Flarepelt
names-felionoid-dataset-90 = Nightwhisper
names-felionoid-dataset-91 = Stormwhisk
names-felionoid-dataset-92 = Lichenpelt
names-felionoid-dataset-93 = Stormclaw
names-felionoid-dataset-94 = Velvetfur
names-felionoid-dataset-95 = Twinklepaw
names-felionoid-dataset-96 = Purrlix
names-felionoid-dataset-97 = Moonwhisker
names-felionoid-dataset-98 = Frostgleam
names-felionoid-dataset-99 = Duskfang
names-felionoid-dataset-100 = Clawrin
names-felionoid-dataset-101 = Nighthiss
names-felionoid-dataset-102 = Mireclaw
names-felionoid-dataset-103 = Felisar
names-felionoid-dataset-104 = Rooktail
names-felionoid-dataset-105 = Rowantail
names-felionoid-dataset-106 = Ironjaw
names-felionoid-dataset-107 = Pawslyn
names-felionoid-dataset-108 = Softpurr
names-felionoid-dataset-109 = Glimmerwhisk
names-felionoid-dataset-110 = Mossycloud
names-felionoid-dataset-111 = Starfleck
names-felionoid-dataset-112 = Pebblesnout
names-felionoid-dataset-113 = Whisperwind
names-felionoid-dataset-114 = Ocelotstripe
names-felionoid-dataset-115 = Flamefur
7 changes: 7 additions & 0 deletions Resources/Prototypes/Guidebook/species.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
- Sheleg # Frontier
- Harpy # DeltaV
- Felinid # DeltaV
- Felionoid # Starlight
- Oni # DeltaV
- Chitinid # DeltaV
- Rodentia # DeltaV
Expand Down Expand Up @@ -143,3 +144,9 @@
name: species-name-thaven
text: "/ServerInfo/_Impstation/Guidebook/Mobs/Thaven.xml"

# Starlight
- type: guideEntry
id: Felionoid
name: species-name-felionoid
text: "/ServerInfo/_StarLight/Guidebook/Mobs/Felionoid.xml"

1 change: 1 addition & 0 deletions Resources/Prototypes/Loadouts/Miscellaneous/survival.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
- Moth
- Reptilian
- Avali #🌟Starlight🌟
- Felionoid #🌟Starlight🌟
- Protogen

- type: loadoutEffectGroup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,10 @@
Male: MaleFelinid
Female: FemaleFelinid
Unsexed: MaleFelinid
- type: ItemCougher
item: Hairball
action: ActionHairball
coughPopup: hairball-cough
# - type: ItemCougher # commented out, didnt work anyways
# item: Hairball
# action: ActionHairball
# coughPopup: hairball-cough
- type: Felinid
- type: NpcFactionMember
factions:
Expand Down
1 change: 1 addition & 0 deletions Resources/Prototypes/Species/species_weights.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@
Synth: 4
Chitinid: 3 # DeltaV - Chitinid, see Prototypes/DeltaV/Entities/Mobs/Species/chitinid.yml
Shadekin: 2
Felionoid: 3 # Starlight
7 changes: 7 additions & 0 deletions Resources/Prototypes/_StarLight/Body/Organs/felionoid.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
- type: entity
id: OrganFelionoidEyes
parent: OrganHumanEyes
name: eyes
suffix: Felionoid
description: "The eyes of a Felionoid."
# Removed OrganVisualization component (unknown); visual handled elsewhere if needed.
Loading
Loading