summaryrefslogtreecommitdiff
path: root/DiscoBot/Commands/List.cs
diff options
context:
space:
mode:
authorTrueDoctor <d-kobert@web.de>2018-06-11 18:28:13 +0200
committerTrueDoctor <d-kobert@web.de>2018-06-11 18:28:13 +0200
commitaf937e7a8519ea3b06be651eb21b54132295c510 (patch)
tree17dbc28a5e9a75a1a42813a233b1c41390e673c4 /DiscoBot/Commands/List.cs
parentad4cb92819976b8add36f047e59335104aa171fe (diff)
parentff80592d541c79653ef0a7c04e0938d7249069ef (diff)
Merge branch 'master' of https://github.com/TrueDoctor/DiscoBot
Diffstat (limited to 'DiscoBot/Commands/List.cs')
-rw-r--r--DiscoBot/Commands/List.cs82
1 files changed, 72 insertions, 10 deletions
diff --git a/DiscoBot/Commands/List.cs b/DiscoBot/Commands/List.cs
index c688daa..be7441b 100644
--- a/DiscoBot/Commands/List.cs
+++ b/DiscoBot/Commands/List.cs
@@ -22,9 +22,52 @@
var character = ((Character)Dsa.Chars.Find(x => x.Name.Equals(Dsa.Relation[this.Context.User.Username])));
+ int first_column_width = 18;
+
+ int persist = 0;
switch (prop.ToLower())
{
+ case "all":
+ case "held":
+ case "char":
+ case "brief":
+ case "zettel":
+ persist = 1;
+
+ res.Add(character.Name + ":\n");
+ //Eigenschaften
+ res.AddRange(
+ character.Eigenschaften.Take(9).Select(s => s.Key + ":\t " + s.Value));
+ res.Add("");
+ //LE/AE
+ res.Add("LE:\t " + character.Lebenspunkte_Aktuell + "/" + character.Lebenspunkte_Basis);
+ if (character.Astralpunkte_Basis > 0)
+ {
+ res.Add("AE:\t " + character.Astralpunkte_Aktuell + "/" + character.Astralpunkte_Basis);
+ }
+ res.Add("");
+ //Kampfwerte
+ res.Add("".AddSpaces(first_column_width) + " AT/PA");
+ res.AddRange(
+ character.Kampftalente.Select(s => s.Name.AddSpaces(first_column_width) + " " + s.At.ToString().AddSpacesAtHead(2) + "/" + s.Pa.ToString().AddSpacesAtHead(2)));
+ res.Add("");
+ //Vorteile
+ res.AddRange(
+ character.Vorteile
+ .Select(s => s.Name + "\t " + s.Value));
+ res.Add("");
+ //Talente
+ res.AddRange(
+ character.Talente.Select(s => (s.Name.AddSpaces(first_column_width) + " " + s.Value).AddSpaces(first_column_width + 5) + " " + s.Probe));
+ res.Add("");
+ //evtl Zauber
+ if (character.Zauber.Count > 0)
+ {
+ res.AddRange(
+ character.Zauber.Select(s => (s.Name.AddSpaces(first_column_width) + " " + s.Value).AddSpaces(first_column_width + 5) + " " + s.Probe));
+ }
+ break;
case "chars":
case "Chars":
res.AddRange(Dsa.Chars.Select(x => x.Name));
@@ -36,13 +79,13 @@
case "eig":
case "eigenschaft":
case "eigenschaften":
- res.Add(character.Name + ":");
+ res.Add(character.Name + ":\n");
res.AddRange(
character.Eigenschaften.Take(8).Select(s => s.Key + ":\t " + s.Value));
break;
case "stat":
case "stats":
- res.Add(character.Name + ":");
+ res.Add(character.Name + ":\n");
res.AddRange(
//character.Eigenschaften.Select(s => s.Key + ":\t " + s.Value));
character.Eigenschaften.Take(9).Select(s => s.Key + ":\t " + s.Value));
@@ -55,20 +98,26 @@
case "t":
case "ta":
case "talent":
+ res.Add(character.Name + ":\n");
+ res.AddRange(
+ character.Talente.Select(s => (s.Name.AddSpaces(first_column_width) + " " + s.Value).AddSpaces(first_column_width + 5) + " " + s.Probe));
+ break;
case "zauber":
- res.Add(character.Name + ":");
+ case "z":
+ res.Add(character.Name + ":\n");
res.AddRange(
- character.Talente.Select(s => s.Name + "\t " + s.Value + "\t " + s.Probe));
+ character.Zauber.Select(s => (s.Name.AddSpaces(first_column_width) + " " + s.Value).AddSpaces(first_column_width + 5) + " " + s.Probe));
break;
case "w":
case "waffe":
case "waffen":
res.Add(character.Name + ":");
+ res.Add("".AddSpaces(first_column_width) + " AT/PA");
res.AddRange(
- character.Kampftalente.Select(s => s.Name));
+ character.Kampftalente.Select(s => s.Name.AddSpaces(first_column_width) + " " + s.At.ToString().AddSpacesAtHead(2) + "/" + s.Pa.ToString().AddSpacesAtHead(2)));
break;
case "fern":
- res.Add(character.Name + ":");
+ res.Add(character.Name + ":\n");
res.AddRange(
character.Talente.Select(s => s.Name));
break;
@@ -81,7 +130,7 @@
case "vt":
case "vor":
case "vorteil":
- res.Add(character.Name + ":");
+ res.Add(character.Name + ":\n");
res.AddRange(
character.Vorteile
.Select(s => s.Name + "\t " + s.Value));// (s.Value == 0 ? string.Empty : s.Value.ToString())));
@@ -97,14 +146,27 @@
{
if (sb.Length + re.Length > 1798)
{
- await this.ReplyTimedAsync(sb.ToString(), TimeSpan.FromSeconds(90));
+ if (persist == 1)
+ {
+ await this.ReplyAsync("```xl\n" + sb.ToString() + "\n```");
+ }
+ else
+ {
+ await this.ReplyTimedAsync(sb.ToString(), TimeSpan.FromSeconds(90));
+ }
sb.Clear();
}
sb.AppendLine(re);
}
-
- await this.ReplyTimedAsync(sb.ToString(), TimeSpan.FromSeconds(90));
+ if (persist == 1)
+ {
+ await this.ReplyAsync("```xl\n" + sb.ToString() + "\n```");
+ }
+ else
+ {
+ await this.ReplyTimedAsync(sb.ToString(), TimeSpan.FromSeconds(90));
+ }
}
}
}