summaryrefslogtreecommitdiff
path: root/DSALib/Commands/NpcCommands.cs
diff options
context:
space:
mode:
authorDennis Kobert <d-kobert@web.de>2019-05-19 17:58:42 +0200
committerDennis Kobert <d-kobert@web.de>2019-05-19 17:58:42 +0200
commit2ab4051c6fe720dc47e99b0c305a0d779ee02d51 (patch)
tree9510ddbb174a54474934adf7991a5ba2aa39f818 /DSALib/Commands/NpcCommands.cs
parentc4d046858e0822b7c2c540ac2368b2c0e88e7a26 (diff)
Moved Gamelogic to DSALib
Diffstat (limited to 'DSALib/Commands/NpcCommands.cs')
-rw-r--r--DSALib/Commands/NpcCommands.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/DSALib/Commands/NpcCommands.cs b/DSALib/Commands/NpcCommands.cs
new file mode 100644
index 0000000..95243ca
--- /dev/null
+++ b/DSALib/Commands/NpcCommands.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using DSACore.Characters;
+using DSACore.DSA_Game;
+using DSACore.DSA_Game.Characters;
+
+namespace DSACore.Commands
+{
+ public class NpcCommands
+ {
+ public static string CreateNpc(ulong id, IEnumerable<string> props, int modifier)
+ {
+ if (int.TryParse(props.Last(), out var mean)) return Random(id, props.First(), mean, modifier);
+
+ return Copy(id, props.First(), props.Last(), modifier);
+ }
+
+ private static string Random(ulong id, string npcName, int mean = 9, int stDv = 1)
+ {
+ throw new NotImplementedException();
+ Dsa.Chars.Add(new Npc(npcName, mean, stDv));
+ return $"{npcName} wurde zufällig generiert";
+ }
+
+ private static string Copy(ulong id, string npcName, string source, int stDv = 1)
+ {
+ if (Dsa.Chars.Exists(x => x.Name.Equals(npcName))) throw new Exception("Char gibt es schon");
+ throw new NotImplementedException();
+ var chr = Dsa.GetCharacter(id);
+ Dsa.Chars.Add(new Character(chr as Character, npcName, stDv));
+ return $"{npcName} wurde als variierte Kopie von {source} erstellt";
+ }
+ }
+} \ No newline at end of file