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;
public class Archetypes
public class ArchetypeDefinition
{
public string Name { get; set; }
public Dictionary<string, double> TraitBiases { get; set; } = new();
// 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",
TraitBiases = new Dictionary<string, double>
@ -20,7 +20,7 @@ public class Archetypes
{ "Active", 0.5 }
}
},
new Archetypes
new ArchetypeDefinition
{
Name = "Party Animal",
TraitBiases = new Dictionary<string, double>
@ -32,7 +32,7 @@ public class Archetypes
{ "Neat", 0.3 }
}
},
new Archetypes
new ArchetypeDefinition
{
Name = "Lazy",
TraitBiases = new Dictionary<string, double>
@ -44,7 +44,7 @@ public class Archetypes
{ "Active", 0.1 }
}
},
new Archetypes
new ArchetypeDefinition
{
Name = "Shy",
TraitBiases = new Dictionary<string, double>
@ -56,7 +56,7 @@ public class Archetypes
{ "Active", 0.2 }
}
},
new Archetypes
new ArchetypeDefinition
{
Name = "Energetic",
TraitBiases = new Dictionary<string, double>
@ -68,7 +68,7 @@ public class Archetypes
{ "Active", 0.3 }
}
},
new Archetypes
new ArchetypeDefinition
{
Name = "Random",
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.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
- .NET 8.0
@ -65,10 +70,6 @@ personaforge --name "Max Casey" --archetype "Party Animal" (--export)
- No UI. (Maybe a fork)
- No CAS-style tool.
## 📌 Stretch Goals
- Cross-platform dotnet tool. (e.g. `dotnet tool install`)
## 🗓️ Update Cycle
| 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
}
}
]