Zodiac signs JSON

- Preemptive start on reading JSON files
This commit is contained in:
Tony Bark 2025-04-28 12:43:51 -04:00
parent b3f189aa94
commit 0ae58c67fa
3 changed files with 135 additions and 12 deletions

View file

@ -1,14 +1,14 @@
namespace PersonaForge; namespace PersonaForge;
public class Archetypes public class ArchetypeDefinition
{ {
public string Name { get; set; } public string Name { get; set; }
public Dictionary<string, double> TraitBiases { get; set; } = new(); public Dictionary<string, double> TraitBiases { get; set; } = new();
// TODO: Load default archetypes from a file or database // TODO: Load default archetypes from a file or database
public static List<Archetypes> DefaultArchetypes() => new() public static List<ArchetypeDefinition> DefaultArchetypes() => new()
{ {
new Archetypes new ArchetypeDefinition
{ {
Name = "Grumpy", Name = "Grumpy",
TraitBiases = new Dictionary<string, double> TraitBiases = new Dictionary<string, double>
@ -20,7 +20,7 @@ public class Archetypes
{ "Active", 0.5 } { "Active", 0.5 }
} }
}, },
new Archetypes new ArchetypeDefinition
{ {
Name = "Party Animal", Name = "Party Animal",
TraitBiases = new Dictionary<string, double> TraitBiases = new Dictionary<string, double>
@ -32,7 +32,7 @@ public class Archetypes
{ "Neat", 0.3 } { "Neat", 0.3 }
} }
}, },
new Archetypes new ArchetypeDefinition
{ {
Name = "Lazy", Name = "Lazy",
TraitBiases = new Dictionary<string, double> TraitBiases = new Dictionary<string, double>
@ -44,7 +44,7 @@ public class Archetypes
{ "Active", 0.1 } { "Active", 0.1 }
} }
}, },
new Archetypes new ArchetypeDefinition
{ {
Name = "Shy", Name = "Shy",
TraitBiases = new Dictionary<string, double> TraitBiases = new Dictionary<string, double>
@ -56,7 +56,7 @@ public class Archetypes
{ "Active", 0.2 } { "Active", 0.2 }
} }
}, },
new Archetypes new ArchetypeDefinition
{ {
Name = "Energetic", Name = "Energetic",
TraitBiases = new Dictionary<string, double> TraitBiases = new Dictionary<string, double>
@ -68,7 +68,7 @@ public class Archetypes
{ "Active", 0.3 } { "Active", 0.3 }
} }
}, },
new Archetypes new ArchetypeDefinition
{ {
Name = "Random", Name = "Random",
TraitBiases = new() TraitBiases = new()

View file

@ -24,6 +24,11 @@ Because The Sims 2 doesnt have traits in the same way later installments do,
| v1.0 | Stable "Release" version with documentation | 🔜 | | v1.0 | Stable "Release" version with documentation | 🔜 |
| v1.x | Profile import/load from JSON | 🔜 | | v1.x | Profile import/load from JSON | 🔜 |
## 📌 Stretch Goals
- [ ] Import The Sims' Zodiac signs
- [x] Cross-platform dotnet tool. (e.g. `dotnet tool install`)
## 🧩 Tech Stack ## 🧩 Tech Stack
- .NET 8.0 - .NET 8.0
@ -65,10 +70,6 @@ personaforge --name "Max Casey" --archetype "Party Animal" (--export)
- No UI. (Maybe a fork) - No UI. (Maybe a fork)
- No CAS-style tool. - No CAS-style tool.
## 📌 Stretch Goals
- Cross-platform dotnet tool. (e.g. `dotnet tool install`)
## 🗓️ Update Cycle ## 🗓️ Update Cycle
| Type | Frequency | Notes | | Type | Frequency | Notes |

122
Zodiac.json Normal file
View file

@ -0,0 +1,122 @@
[
{
"Name": "Aries",
"TraitBiases": {
"Outgoing": 8.0,
"Playful": 3.0,
"Active": 7.0,
"Nice": 3.0,
"Neat": 4.0
}
},
{
"Name": "Taurus",
"TraitBiases": {
"Outgoing": 4.0,
"Playful": 4.0,
"Active": 4.0,
"Nice": 7.0,
"Neat": 6.0
}
},
{
"Name": "Gemini",
"TraitBiases": {
"Outgoing": 7.0,
"Playful": 7.0,
"Active": 4.0,
"Nice": 3.0,
"Neat": 4.0
}
},
{
"Name": "Cancer",
"TraitBiases": {
"Outgoing": 4.0,
"Playful": 3.0,
"Active": 4.0,
"Nice": 8.0,
"Neat": 6.0
}
},
{
"Name": "Leo",
"TraitBiases": {
"Outgoing": 8.0,
"Playful": 7.0,
"Active": 4.0,
"Nice": 2.0,
"Neat": 4.0
}
},
{
"Name": "Virgo",
"TraitBiases": {
"Outgoing": 2.0,
"Playful": 2.0,
"Active": 4.0,
"Nice": 8.0,
"Neat": 9.0
}
},
{
"Name": "Libra",
"TraitBiases": {
"Outgoing": 8.0,
"Playful": 6.0,
"Active": 4.0,
"Nice": 5.0,
"Neat": 2.0
}
},
{
"Name": "Scorpio",
"TraitBiases": {
"Outgoing": 5.0,
"Playful": 2.0,
"Active": 8.0,
"Nice": 4.0,
"Neat": 6.0
}
},
{
"Name": "Sagittarius",
"TraitBiases": {
"Outgoing": 7.0,
"Playful": 7.0,
"Active": 7.0,
"Nice": 2.0,
"Neat": 2.0
}
},
{
"Name": "Capricorn",
"TraitBiases": {
"Outgoing": 3.0,
"Playful": 2.0,
"Active": 6.0,
"Nice": 7.0,
"Neat": 7.0
}
},
{
"Name": "Aquarius",
"TraitBiases": {
"Outgoing": 6.0,
"Playful": 7.0,
"Active": 4.0,
"Nice": 5.0,
"Neat": 3.0
}
},
{
"Name": "Pisces",
"TraitBiases": {
"Outgoing": 4.0,
"Playful": 8.0,
"Active": 4.0,
"Nice": 5.0,
"Neat": 4.0
}
}
]