Skip to content
Merged
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
28 changes: 28 additions & 0 deletions src/UltraWorldAI/Knowledge/ArchivistFervorSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;

namespace UltraWorldAI.Knowledge;

public class ArchivistFervor
{
public string Name = string.Empty;
public string Document = string.Empty;
public string Outcome = string.Empty; // "Fanático" ou "Mártir"
}

public static class ArchivistFervorSystem
{
public static List<ArchivistFervor> Records { get; } = new();

public static void GuardDocument(string name, string document, string outcome)
{
Records.Add(new ArchivistFervor
{
Name = name,
Document = document,
Outcome = outcome
});

Console.WriteLine($"\uD83D\uDD6F️ Arquivista {name} tornou-se {outcome} ao proteger '{document}'");
}
}
28 changes: 28 additions & 0 deletions src/UltraWorldAI/Psychology/SanityLossSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;

namespace UltraWorldAI.Psychology;

public class SanityLossRecord
{
public string AIName = string.Empty;
public string Topic = string.Empty;
public int Amount;
}

public static class SanityLossSystem
{
public static List<SanityLossRecord> Records { get; } = new();

public static void LoseSanity(string name, string topic, int amount)
{
Records.Add(new SanityLossRecord
{
AIName = name,
Topic = topic,
Amount = amount
});

Console.WriteLine($"\U0001F9EC {name} perdeu {amount} de sanidade ao descobrir '{topic}'");
}
}
13 changes: 13 additions & 0 deletions tests/UltraWorldAI.Tests/ArchivistFervorSystemTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using UltraWorldAI.Knowledge;
using Xunit;

public class ArchivistFervorSystemTests
{
[Fact]
public void GuardDocumentAddsRecord()
{
ArchivistFervorSystem.Records.Clear();
ArchivistFervorSystem.GuardDocument("Lena", "Pergaminho", "Mártir");
Assert.Single(ArchivistFervorSystem.Records);
}
}
13 changes: 13 additions & 0 deletions tests/UltraWorldAI.Tests/SanityLossSystemTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using UltraWorldAI.Psychology;
using Xunit;

public class SanityLossSystemTests
{
[Fact]
public void LoseSanityStoresRecord()
{
SanityLossSystem.Records.Clear();
SanityLossSystem.LoseSanity("Athena", "Segredo", 10);
Assert.Single(SanityLossSystem.Records);
}
}
Loading