From e6181c24124d97f2fbc932b8a68311e625463156 Mon Sep 17 00:00:00 2001 From: uzvkl Date: Tue, 11 Jun 2019 23:05:52 +0200 Subject: Move dsa related stuff to subfolder --- dsa/DSALib/Characters/Being.cs | 17 +++++++ dsa/DSALib/Characters/Critter.cs | 88 +++++++++++++++++++++++++++++++++++++ dsa/DSALib/Characters/Entity.cs | 12 +++++ dsa/DSALib/Characters/ICharacter.cs | 15 +++++++ dsa/DSALib/Characters/ICombatant.cs | 20 +++++++++ 5 files changed, 152 insertions(+) create mode 100644 dsa/DSALib/Characters/Being.cs create mode 100644 dsa/DSALib/Characters/Critter.cs create mode 100644 dsa/DSALib/Characters/Entity.cs create mode 100644 dsa/DSALib/Characters/ICharacter.cs create mode 100644 dsa/DSALib/Characters/ICombatant.cs (limited to 'dsa/DSALib/Characters') diff --git a/dsa/DSALib/Characters/Being.cs b/dsa/DSALib/Characters/Being.cs new file mode 100644 index 0000000..27879a1 --- /dev/null +++ b/dsa/DSALib/Characters/Being.cs @@ -0,0 +1,17 @@ +namespace DSALib.Characters +{ + public class Being : Entity + { + public int Lebenspunkte_Basis { get; set; } = 30; + + public int Lebenspunkte_Aktuell { get; set; } = 30; + + public int Ausdauer_Basis { get; set; } = 30; + + public int Ausdauer_Aktuell { get; set; } = 30; + + public int Astralpunkte_Basis { get; set; } = 0; + + public int Astralpunkte_Aktuell { get; set; } = 0; + } +} \ No newline at end of file diff --git a/dsa/DSALib/Characters/Critter.cs b/dsa/DSALib/Characters/Critter.cs new file mode 100644 index 0000000..dcedccb --- /dev/null +++ b/dsa/DSALib/Characters/Critter.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.IO; +using DiscoBot.DSA_Game.Characters; +using DSALib.Models.Dsa; +using Newtonsoft.Json; + +namespace DSALib.Characters +{ + public class Critter : Being, ICombatant + { + public CritterAttack lastAttack; + + public Critter(int gw, int gs, int rs, int mr, int ko, int pa, string ini, List critterAttacks) + { + Gw = gw; + Gs = gs; + Rs = rs; + Mr = mr; + Ko = ko; + Pa = pa; + Ini = ini; + CritterAttacks = critterAttacks; + lastAttack = CritterAttacks[new Random().Next(critterAttacks.Count)]; + } + + public Critter() + { + } + + public int Rs { get; set; } + + public int Mr { get; set; } + + public int Ko { get; set; } + + public int Pa { get; set; } + + public int Gs { get; set; } + + public int Gw { get; set; } + + public string Ini { get; set; } + + public string Comment { get; set; } + + public List CritterAttacks { get; set; } + + public string Angriff(string talent, int erschwernis = 0) + { + throw new NotImplementedException(); + } + + public string Parade(string talent, int erschwernis = 0) + { + throw new NotImplementedException(); + } + + public static Critter Load(string path) + { + try + { + return + JsonConvert.DeserializeObject( + File.ReadAllText(path)); // Deserialize Data and create Session Object + } + catch (Exception e) + { + Console.WriteLine($"Laden von Save-File {path} fehlgeschlagen." + e); + return null; + } + } + + public void Save(string path = @"..\..\Critters\") + { + try + { + File.WriteAllText(path + Name + ".json", + JsonConvert.SerializeObject(this, + Formatting.Indented)); // Deserialize Data and create CommandInfo Struct + } + catch (Exception e) + { + Console.WriteLine($"Speichern von Save-File {path} fehlgeschlagen." + e); + } + } + } +} \ No newline at end of file diff --git a/dsa/DSALib/Characters/Entity.cs b/dsa/DSALib/Characters/Entity.cs new file mode 100644 index 0000000..a8a5e81 --- /dev/null +++ b/dsa/DSALib/Characters/Entity.cs @@ -0,0 +1,12 @@ +namespace DSALib.Characters +{ + public class Entity + { + public string Name { get; set; } + + public override string ToString() + { + return Name; + } + } +} \ No newline at end of file diff --git a/dsa/DSALib/Characters/ICharacter.cs b/dsa/DSALib/Characters/ICharacter.cs new file mode 100644 index 0000000..256fecd --- /dev/null +++ b/dsa/DSALib/Characters/ICharacter.cs @@ -0,0 +1,15 @@ +using DiscoBot.DSA_Game.Characters; + +namespace DSALib.Characters +{ + public interface ICharacter : ICombatant + { + string TestTalent(string talent, int erschwernis = 0); + + string TestEigenschaft(string eigenschaft, int erschwernis = 0); + + string Fernkampf(string talent, int erschwernis = 0); + + string TestZauber(string waffe, int erschwernis); + } +} \ No newline at end of file diff --git a/dsa/DSALib/Characters/ICombatant.cs b/dsa/DSALib/Characters/ICombatant.cs new file mode 100644 index 0000000..a4ce601 --- /dev/null +++ b/dsa/DSALib/Characters/ICombatant.cs @@ -0,0 +1,20 @@ +namespace DiscoBot.DSA_Game.Characters +{ + public interface ICombatant + { + string Name { get; set; } + + int Lebenspunkte_Basis { get; set; } + int Lebenspunkte_Aktuell { get; set; } + + int Ausdauer_Basis { get; set; } + int Ausdauer_Aktuell { get; set; } + + int Astralpunkte_Basis { get; set; } + int Astralpunkte_Aktuell { get; set; } + + string Angriff(string talent, int erschwernis = 0); + + string Parade(string talent, int erschwernis = 0); + } +} \ No newline at end of file -- cgit v1.2.3-70-g09d2