summaryrefslogtreecommitdiff
path: root/DiscoBot/Commands/ProbenTest.cs
blob: e14d5a440ba78458b7e21ae6f62a9bef9bf0a495 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
namespace DiscoBot.Commands
{
    using System.Threading.Tasks;

    using DiscoBot.DSA_Game;

    using Discord.Commands;

    public class ProbenTest : ModuleBase
    {
        [Command("t"), Summary("Würfelt ein Talent-/Zauberprobe")]
        [Alias("T", "Talent", "talent", "versuche")]
        public Task TalentAsync([Summary("Talent oder Zaubername")] string talent, int erschwernis = 0)
        {
            string res;
            try
            {
                res = Gm.CheckCommand(
                    Dsa.Relation[this.Context.User.Username],
                    CommandTypes.Talent,
                    talent,
                    erschwernis);
            }
            catch
            {
                res = Gm.CheckCommand(
                    Dsa.Relation["Tardis"],
                    CommandTypes.Talent,
                    talent,
                    erschwernis);
            }

            return this.ReplyAsync("```xl\n" + res + "\n```");
        }

        [Command("Zauber"), Summary("Würfelt ein Zauberprobe")]
        [Alias("Z", "zauber", "z")]
        public Task ZauberAsync([Summary("Zaubername")] string zauber, int erschwernis = 0)
        {
            string res;
            try
            {
                res = Gm.CheckCommand(
                    Dsa.Relation[this.Context.User.Username],
                    CommandTypes.Zauber,
                    zauber,
                    erschwernis);
            }
            catch
            {
                res = Gm.CheckCommand(
                    Dsa.Relation["Tardis"],
                    CommandTypes.Zauber,
                    zauber,
                    erschwernis);
            }

            return this.ReplyAsync("```xl\n" + res + "\n```");
        }

        [Command("e"), Summary("Würfelt eine Eigenschaftsprobe")]
        [Alias("E", "Eigenschaft", "eigenschaft", "eigen")]
        public Task EigenschaftAsync([Summary("Eigenschaftskürzel und Erschwernis")] string talent, int erschwernis = 0)
        {
            var chr = Dsa.Chars.Find(x => x.Name.Equals(Dsa.Relation[this.Context.User.Username]));
            string res = chr.TestEigenschaft(talent, erschwernis);
            return this.ReplyAsync("```xl\n" + res + "\n```");
        }

        [Command("a"), Summary("Würfelt ein Angriff")]
        [Alias("A", "At", "at", "Angriff", "angriff", "attackiere_mit", "attacke", "Attacke")]
        public Task AngriffAsync([Summary("Weapon")] string weapon, int erschwernis = 0)
        {
            return this.ReplyAsync("```xl\n" + Dsa.Chars.Find(x => x.Name.Equals(Dsa.Relation[this.Context.User.Username])).Angriff(weapon, erschwernis) + "\n```");
        }

        [Command("p"), Summary("Würfelt eine Parade Probe")]
        [Alias("P", "Parade", "parade", "pariere_mit")]
        public Task ParadeAsync([Summary("Parade Weapon")] string talent, int erschwernis = 0)
        {
            return this.ReplyAsync("```xl\n" + Dsa.Chars.Find(x => x.Name.Equals(Dsa.Relation[this.Context.User.Username])).Parade(talent, erschwernis) + "\n```");
        }

        [Command("f"), Summary("Führt eine Fernkampfprobe aus")]
        [Alias("F", "fern", "Fern", "Schuss", "schuss", "fernkampf", "Fernkampf", "schieße", "schieße_mit")]
        public Task FernkampfAsync([Summary("Fernkampfwaffe")] string waffe, int erschwernis = 0)
        {
            return this.ReplyAsync("```xl\n" + Dsa.Chars.Find(x => x.Name.Equals(Dsa.Relation[this.Context.User.Username])).Fernkampf(waffe, erschwernis) + "\n```");
        }
    }
}