diff --git a/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs b/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs
index 2eabc2b3dd..5116fc3369 100644
--- a/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs
+++ b/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs
@@ -122,16 +122,6 @@ public sealed class SpeciesPrototype : IPrototype
///
[DataField("maxAge")]
public int MaxAge = 120;
-
- // Parkstation-Skills-Start
-
- ///
- /// Any skills this species starts with bonus points in.
- ///
- [DataField("skillBonuses", customTypeSerializer: typeof(PrototypeIdDictionarySerializer))]
- public Dictionary SkillBonuses { get; } = new();
-
- // Parkstation-Skills-End
}
public enum SpeciesNaming : byte
diff --git a/Content.Shared/SimpleStation14/Skills/Components/SkillsComponent.cs b/Content.Shared/SimpleStation14/Skills/Components/SkillsComponent.cs
index 3b515095be..c64ab508c8 100644
--- a/Content.Shared/SimpleStation14/Skills/Components/SkillsComponent.cs
+++ b/Content.Shared/SimpleStation14/Skills/Components/SkillsComponent.cs
@@ -27,7 +27,10 @@ public sealed partial class SkillsComponent : Component
///
/// Skills this entity starts with values in.
- /// Make sure not to double this up with .
+ ///
+ ///
+ /// This is added to the list of skills on spawn, and is unused after that.
+ ///
[DataField("startingSkills", customTypeSerializer: typeof(PrototypeIdDictionarySerializer))]
public Dictionary StartingSkills = new();
}
diff --git a/Content.Shared/SimpleStation14/Skills/Prototypes/SkillCategoryPrototype.cs b/Content.Shared/SimpleStation14/Skills/Prototypes/SkillCategoryPrototype.cs
index e8af3ab65b..ea3092e8a7 100644
--- a/Content.Shared/SimpleStation14/Skills/Prototypes/SkillCategoryPrototype.cs
+++ b/Content.Shared/SimpleStation14/Skills/Prototypes/SkillCategoryPrototype.cs
@@ -10,8 +10,7 @@ public sealed class SkillCategoryPrototype : IPrototype
public string ID { get; } = default!;
// ///
- // /// The Sprite Specifier for the icon for this sub category.
- // /// This directory will also be used to find the icons for the skills in this sub category.
+ // /// The Sprite Specifier for the icon for this category.
// ///
// [DataField("icon")]
// public SpriteSpecifier Icon = default!;
diff --git a/Content.Shared/SimpleStation14/Skills/Systems/SharedSkillsSystem.cs b/Content.Shared/SimpleStation14/Skills/Systems/SharedSkillsSystem.cs
index 538260a6ac..951bb8fd73 100644
--- a/Content.Shared/SimpleStation14/Skills/Systems/SharedSkillsSystem.cs
+++ b/Content.Shared/SimpleStation14/Skills/Systems/SharedSkillsSystem.cs
@@ -19,7 +19,7 @@ public override void Initialize()
{
base.Initialize();
- SubscribeLocalEvent(OnSkillsInit);
+ SubscribeLocalEvent(OnSkillsInit);
GenerateCategorizedSkills();
_prototype.PrototypesReloaded += OnPrototypesReloaded;
@@ -235,7 +235,7 @@ public bool TryGetSkillCategory(string categoryId, [NotNullWhen(true)] out Skill
#endregion
#region Private Functions
- private void OnSkillsInit(EntityUid uid, SkillsComponent component, ComponentInit args)
+ private void OnSkillsInit(EntityUid uid, SkillsComponent component, MapInitEvent args)
{
foreach (var startSkill in component.StartingSkills)
TryModifySkillLevel(uid, startSkill.Key, startSkill.Value, component);
diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml
index 709f8f72fb..528cedd7b8 100644
--- a/Resources/Prototypes/Entities/Mobs/Species/base.yml
+++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml
@@ -323,6 +323,14 @@
- type: SSDIndicator
- type: Skills
+ startingSkills:
+ SkillLifting: 4
+ SkillEndurance: 4
+ SkillFineMotorSkills: 4
+ SkillObservation: 4
+ SkillSprinting: 4
+ SkillAcrobatics: 3
+ SkillDodging: 2
- type: IntrinsicUI
uis:
- key: enum.SkillsUiKey.Key
diff --git a/Resources/Prototypes/SimpleStation14/Skills/skill_sub_categories.yml b/Resources/Prototypes/SimpleStation14/Skills/skill_sub_categories.yml
index 41b1671212..85d45e5236 100644
--- a/Resources/Prototypes/SimpleStation14/Skills/skill_sub_categories.yml
+++ b/Resources/Prototypes/SimpleStation14/Skills/skill_sub_categories.yml
@@ -1,38 +1,41 @@
## Physical.
- type: skillSubCategory
- id: SkillSubCategoryStrength
category: SkillCategoryPhysical
+ id: SkillSubCategoryStrength
color: "#b11e0d"
- type: skillSubCategory
- id: SkillSubCategoryDexterity
category: SkillCategoryPhysical
+ id: SkillSubCategoryDexterity
color: "#7d38dd"
-- type: skillSubCategory
- id: SkillSubCategoryEndurance
- category: SkillCategoryPhysical
- color: "#448d0c"
+# - type: skillSubCategory
+# category: SkillCategoryPhysical
+# id: SkillSubCategoryEndurance
+# color: "#448d0c"
- type: skillSubCategory
- id: SkillSubCategoryAgility
category: SkillCategoryPhysical
+ id: SkillSubCategoryAgility
color: "#2ba5e7"
-- type: skillSubCategory
- id: SkillSubCategorySenses
- category: SkillCategoryPhysical
- color: "#e7b02b"
+# - type: skillSubCategory
+# category: SkillCategoryPhysical
+# id: SkillSubCategorySenses
+# color: "#e7b02b"
## Technical.
- type: skillSubCategory
- id: SkillSubCategoryEngineering
category: SkillCategoryTechnical
+ id: SkillSubCategoryEngineering
+ color: "#e7b02b"
- type: skillSubCategory
- id: SkillSubCategoryResearch
category: SkillCategoryTechnical
+ id: SkillSubCategoryResearch
+ color: "#c521b7"
- type: skillSubCategory
- id: SkillSubCategoryMedicine
category: SkillCategoryTechnical
+ id: SkillSubCategoryMedicine
+ color: "#73d9f3"
diff --git a/Resources/Prototypes/SimpleStation14/Skills/skills_engineering.yml b/Resources/Prototypes/SimpleStation14/Skills/skills_engineering.yml
index 942ea48f72..c608ca7eca 100644
--- a/Resources/Prototypes/SimpleStation14/Skills/skills_engineering.yml
+++ b/Resources/Prototypes/SimpleStation14/Skills/skills_engineering.yml
@@ -1,83 +1,93 @@
## Strength
- type: skill
- id: SkillLifting
subCategory: SkillSubCategoryStrength
+ id: SkillLifting
+ weight: 1.5
- type: skill
- id: SkillBoxing
subCategory: SkillSubCategoryStrength
+ id: SkillBoxing
+ weight: 0.7
- type: skill
- id: Endurance
subCategory: SkillSubCategoryStrength
+ id: SkillEndurance
+ weight: 1
## Dexterity
- type: skill
- id: SkillDueling
subCategory: SkillSubCategoryDexterity
+ id: SkillDueling
+ weight: 0.6
- type: skill
- id: SkillFineMotorSkills
subCategory: SkillSubCategoryDexterity
+ id: SkillFineMotorSkills
+ weight: 1.2
- type: skill
- id: SkillObservation
subCategory: SkillSubCategorySenses
+ id: SkillObservation
+ weight: 1
## Agility
- type: skill
- id: SkillSpriting
subCategory: SkillSubCategoryAgility
+ id: SkillSprinting
+ weight: 0.7
- type: skill
- id: SkillAcrobatics
subCategory: SkillSubCategoryAgility
+ id: SkillAcrobatics
- type: skill
- id: SkillDodging
subCategory: SkillSubCategoryAgility
+ id: SkillDodging
## Technical --------------
## Engineering
- type: skill
- id: SkillConstruction
subCategory: SkillSubCategoryEngineering
+ id: SkillConstruction
+ weight: 0.7
- type: skill
- id: SkillElectrical
subCategory: SkillSubCategoryEngineering
+ id: SkillElectrical
+ weight: 0.7
- type: skill
- id: SkillMechanical
subCategory: SkillSubCategoryEngineering
+ id: SkillMechanical
+ weight: 1.5
## Medicine
- type: skill
- id: SkillFirstAid
subCategory: SkillSubCategoryMedicine
+ id: SkillFirstAid
- type: skill
- id: SkillSurgery
subCategory: SkillSubCategoryMedicine
+ id: SkillSurgery
- type: skill
- id: SkillChemistry
subCategory: SkillSubCategoryMedicine
+ id: SkillChemistry
# - type: skill
-# id: SkillVirology # Ha ha
# subCategory: SkillSubCategoryMedicine
+# id: SkillVirology # Ha ha
## Research
- type: skill
- id: SkillQuantumPhysics
subCategory: SkillSubCategoryResearch
+ id: SkillQuantumPhysics
- type: skill
- id: AnomalousMaterials
subCategory: SkillSubCategoryResearch
+ id: AnomalousMaterials
- type: skill
- id: SkillXenobiology
subCategory: SkillSubCategoryResearch
+ id: SkillXenobiology