diff options
-rw-r--r-- | DiscoBot.sln | 17 | ||||
-rw-r--r-- | DiscoBot/App.config | 34 | ||||
-rw-r--r-- | DiscoBot/AppControll.cs | 197 | ||||
-rw-r--r-- | DiscoBot/Char.cs | 109 | ||||
-rw-r--r-- | DiscoBot/Commands.cs | 67 | ||||
-rw-r--r-- | DiscoBot/DiscoBot.csproj | 111 | ||||
-rw-r--r-- | DiscoBot/MyBot.cs | 113 | ||||
-rw-r--r-- | DiscoBot/Program.cs | 63 | ||||
-rw-r--r-- | DiscoBot/Properties/AssemblyInfo.cs | 2 | ||||
-rw-r--r-- | DiscoBot/Properties/Settings.Designer.cs | 38 | ||||
-rw-r--r-- | DiscoBot/Properties/Settings.settings | 9 | ||||
-rw-r--r-- | DiscoBot/ServerControl.cs | 59 | ||||
-rw-r--r-- | DiscoBot/packages.config | 64 | ||||
-rw-r--r-- | Felis.xml | 380 |
14 files changed, 794 insertions, 469 deletions
diff --git a/DiscoBot.sln b/DiscoBot.sln index af2bf82..7049ed0 100644 --- a/DiscoBot.sln +++ b/DiscoBot.sln @@ -1,9 +1,14 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26228.9 +VisualStudioVersion = 15.0.26430.16 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscoBot", "DiscoBot\DiscoBot.csproj", "{1273D5D1-9F46-492F-9DFE-0098CD00405C}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A6857735-6707-4A33-A7F8-3A06E354D7F3}" + ProjectSection(SolutionItems) = preProject + Felis.xml = Felis.xml + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscoBot", "DiscoBot\DiscoBot.csproj", "{1186AF1C-BC46-4B3D-BEE0-CE478B8AEAC7}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,10 +16,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1273D5D1-9F46-492F-9DFE-0098CD00405C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1273D5D1-9F46-492F-9DFE-0098CD00405C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1273D5D1-9F46-492F-9DFE-0098CD00405C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1273D5D1-9F46-492F-9DFE-0098CD00405C}.Release|Any CPU.Build.0 = Release|Any CPU + {1186AF1C-BC46-4B3D-BEE0-CE478B8AEAC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1186AF1C-BC46-4B3D-BEE0-CE478B8AEAC7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1186AF1C-BC46-4B3D-BEE0-CE478B8AEAC7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1186AF1C-BC46-4B3D-BEE0-CE478B8AEAC7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/DiscoBot/App.config b/DiscoBot/App.config index fb543e1..f107529 100644 --- a/DiscoBot/App.config +++ b/DiscoBot/App.config @@ -1,18 +1,22 @@ -<?xml version="1.0" encoding="utf-8" ?> +<?xml version="1.0" encoding="utf-8"?> <configuration> - <configSections> - <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > - <section name="DiscoBot.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> - </sectionGroup> - </configSections> <startup> - <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> </startup> - <userSettings> - <DiscoBot.Properties.Settings> - <setting name="ServerPaht" serializeAs="String"> - <value>C:\Users\Dennis\Downloads\FTBBeyondServer</value> - </setting> - </DiscoBot.Properties.Settings> - </userSettings> -</configuration>
\ No newline at end of file + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Interactive.Async" publicKeyToken="94bc3704cddfc263" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-3.0.3000.0" newVersion="3.0.3000.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration> diff --git a/DiscoBot/AppControll.cs b/DiscoBot/AppControll.cs deleted file mode 100644 index c32f3a2..0000000 --- a/DiscoBot/AppControll.cs +++ /dev/null @@ -1,197 +0,0 @@ -using System; -using System.Diagnostics; -using System.Text; -using System.Threading; -using System.Threading.Tasks; - -namespace DiscoBot -{ - public class ConsoleAppManager - { - private readonly string appName; - private readonly Process process = new Process(); - private readonly object theLock = new object(); - private SynchronizationContext context; - private string pendingWriteData; - - public ConsoleAppManager(string appName) - { - this.appName = appName; - - this.process.StartInfo.FileName = this.appName; - this.process.StartInfo.RedirectStandardError = true; - this.process.StartInfo.StandardErrorEncoding = Encoding.UTF8; - - this.process.StartInfo.RedirectStandardInput = true; - this.process.StartInfo.RedirectStandardOutput = true; - this.process.EnableRaisingEvents = true; - this.process.StartInfo.CreateNoWindow = true; - - this.process.StartInfo.UseShellExecute = false; - - this.process.StartInfo.StandardOutputEncoding = Encoding.UTF8; - - this.process.Exited += this.ProcessOnExited; - } - - public event EventHandler<string> ErrorTextReceived; - public event EventHandler ProcessExited; - public event EventHandler<string> StandartTextReceived; - - public int ExitCode - { - get { return this.process.ExitCode; } - } - - public bool Running - { - get; private set; - } - - public void ExecuteAsync(params string[] args) - { - if (this.Running) - { - throw new InvalidOperationException( - "Process is still Running. Please wait for the process to complete."); - } - - string arguments = string.Join(" ", args); - - this.process.StartInfo.Arguments = arguments; - - this.context = SynchronizationContext.Current; - - this.process.Start(); - this.Running = true; - - new Task(this.ReadOutputAsync).Start(); - new Task(this.WriteInputTask).Start(); - new Task(this.ReadOutputErrorAsync).Start(); - } - - public void Write(string data) - { - if (data == null) - { - return; - } - - lock (this.theLock) - { - this.pendingWriteData = data; - } - } - - public void WriteLine(string data) - { - this.Write(data + Environment.NewLine); - } - - protected virtual void OnErrorTextReceived(string e) - { - EventHandler<string> handler = this.ErrorTextReceived; - - if (handler != null) - { - if (this.context != null) - { - this.context.Post(delegate { handler(this, e); }, null); - } - else - { - handler(this, e); - } - } - } - - protected virtual void OnProcessExited() - { - EventHandler handler = this.ProcessExited; - if (handler != null) - { - handler(this, EventArgs.Empty); - } - } - - protected virtual void OnStandartTextReceived(string e) - { - EventHandler<string> handler = this.StandartTextReceived; - - if (handler != null) - { - if (this.context != null) - { - this.context.Post(delegate { handler(this, e); }, null); - } - else - { - handler(this, e); - } - } - } - - private void ProcessOnExited(object sender, EventArgs eventArgs) - { - this.OnProcessExited(); - } - - private async void ReadOutputAsync() - { - var standart = new StringBuilder(); - char[] buff = new char[1024]; - int length; - - while (this.process.HasExited == false) - { - standart.Clear(); - - length = await this.process.StandardOutput.ReadAsync(buff, 0, buff.Length); - char[] temp = new char[1024]; - Array.Copy(buff, temp, length); - standart.Append(temp); - this.OnStandartTextReceived(standart.ToString()); - Thread.Sleep(1); - } - - this.Running = false; - } - - private async void ReadOutputErrorAsync() - { - var sb = new StringBuilder(); - - do - { - sb.Clear(); - var buff = new char[1024]; - int length = await this.process.StandardError.ReadAsync(buff, 0, buff.Length); - char[] temp = new char[1024]; - Array.Copy(buff, temp, length); - sb.Append(temp); - this.OnErrorTextReceived(sb.ToString()); - Thread.Sleep(1); - } - while (this.process.HasExited == false); - } - - private async void WriteInputTask() - { - while (this.process.HasExited == false) - { - Thread.Sleep(1); - - if (this.pendingWriteData != null) - { - await this.process.StandardInput.WriteLineAsync(this.pendingWriteData); - await this.process.StandardInput.FlushAsync(); - - lock (this.theLock) - { - this.pendingWriteData = null; - } - } - } - } - } -}
\ No newline at end of file diff --git a/DiscoBot/Char.cs b/DiscoBot/Char.cs new file mode 100644 index 0000000..250810d --- /dev/null +++ b/DiscoBot/Char.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml; + +namespace DiscoBot +{ + public class Char + { + + string name; + public Dictionary<string, int> eigenschaften = new Dictionary<string, int>(); + public List<Talent> talente = new List<Talent>(); + public List<Kampf> kampftalente = new List<Kampf>(); + + public Dictionary<string, string> Proptable = new Dictionary<string, string>(); + + + public Char(String path = "Felis.xml") + { + + Load(path); + } + + private void Load(string path) + { + XmlTextReader reader = new XmlTextReader(path); + while (reader.Read()) + { + if (reader.NodeType == XmlNodeType.Element) + switch (reader.Name) + { + case "held": + name = reader.GetAttribute("name"); + break; + case "eigenschaft": + eigenschaften.Add(reader.GetAttribute("name"), Convert.ToInt32(reader.GetAttribute("value")) + Convert.ToInt32(reader.GetAttribute("mod"))); + break; + case "talentliste": + reader.Read(); + while (reader.Name.Equals("talent")) + { + talente.Add(new Talent(reader.GetAttribute("name"), reader.GetAttribute("probe").Remove(0, 2).Trim(')'), Convert.ToInt32(reader.GetAttribute("value")))); + reader.Read(); + } + break; + case "kampfwerte": + string atname = reader.GetAttribute("name"); + reader.Read(); + int at = Convert.ToInt32(reader.GetAttribute("value")); + reader.Read(); + int pa = Convert.ToInt32(reader.GetAttribute("value")); + kampftalente.Add(new Kampf(atname, at, pa)); + break; + } + + + + } + Proptable.Add("MU", "Mut"); + Proptable.Add("KL", "Klugheit"); + Proptable.Add("IN", "Intuition"); + Proptable.Add("CH", "Charisma"); + Proptable.Add("FF", "Fingerfertigkeit"); + Proptable.Add("GE", "Gewandheit"); + Proptable.Add("KO", "Konstitution"); + Proptable.Add("KK", "Körperkraft"); + + } + string TestTalent(string talent) + { + var props =talente.Find(v => v.name.Equals(talent)).Test(); + + return ""; + } + + } + public class Talent + { + public string name, probe; + private int value; + public Talent(string name, string probe, int value) { this.name = name; this.probe = probe; this.value = value; } + public string[] Test() + { + var temp = probe.Split('/'); + foreach (string s in temp) + s.Replace("/", ""); + return temp; + } + + } + public class Kampf + { + string name; + private int at, pa; + public Kampf(string name, int at, int pa) { this.name = name; this.at = at; this.pa = pa; } + void Test() { } + } + public static class dice + { + public static int Rolld20() + { + System.Random rnd = new System.Random(); + return rnd.Next(19) + 1; + } + } +} diff --git a/DiscoBot/Commands.cs b/DiscoBot/Commands.cs new file mode 100644 index 0000000..9fe9513 --- /dev/null +++ b/DiscoBot/Commands.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Discord; +using Discord.Commands; +using Discord.WebSocket; + + +namespace DiscoBot +{ + class Commands + { + } + public class Info : ModuleBase + { + // ~say hello -> hello + [Command("say"), Summary("Echos a message.")] + public async Task Say([Remainder, Summary("The text to echo")] string echo) + { + + + // ReplyAsync is a method on ModuleBase + await ReplyAsync(echo); + + } + } + + public class Abfrage : ModuleBase + { + // ~say hello -> hello + [Command("t"), Summary("tests a talent.")] + public async Task Say([Remainder, Summary("The text to echo")] string talent) + { + // + //a.talente.First(x=>) + + + // ReplyAsync is a method on ModuleBase + + await ReplyAsync(talent); + + } + } + + [Group("sample")] + public class Sample : ModuleBase + { + // ~sample square 20 -> 400 + [Command("square"), Summary("Squares a number.")] + public async Task Square([Summary("The number to square.")] int num) + { + // We can also access the channel from the Command Context. + await Context.Channel.SendMessageAsync($"{num}^2 = {Math.Pow(num, 2)}"); + } + + [Command("userinfo"), Summary("Returns info about the current user, or the user parameter, if one passed.")] + [Alias("user", "whois")] + public async Task UserInfo([Summary("The (optional) user to get info for")] IUser user = null) + { + var userInfo = user ?? Context.Client.CurrentUser; + await ReplyAsync($"{userInfo.Username}#{userInfo.Discriminator}"); + } + } + +} diff --git a/DiscoBot/DiscoBot.csproj b/DiscoBot/DiscoBot.csproj index fcd58d4..9920f40 100644 --- a/DiscoBot/DiscoBot.csproj +++ b/DiscoBot/DiscoBot.csproj @@ -4,13 +4,14 @@ <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{1273D5D1-9F46-492F-9DFE-0098CD00405C}</ProjectGuid> + <ProjectGuid>{1186AF1C-BC46-4B3D-BEE0-CE478B8AEAC7}</ProjectGuid> <OutputType>Exe</OutputType> <RootNamespace>DiscoBot</RootNamespace> <AssemblyName>DiscoBot</AssemblyName> - <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> + <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> @@ -32,39 +33,111 @@ <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> - <Reference Include="Discord.Net, Version=0.9.6.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\packages\Discord.Net.0.9.6\lib\net45\Discord.Net.dll</HintPath> + <Reference Include="Discord.Net.Commands, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Discord.Net.Commands.1.0.1\lib\netstandard1.1\Discord.Net.Commands.dll</HintPath> + </Reference> + <Reference Include="Discord.Net.Core, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Discord.Net.Core.1.0.1\lib\net45\Discord.Net.Core.dll</HintPath> + </Reference> + <Reference Include="Discord.Net.Rest, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Discord.Net.Rest.1.0.1\lib\net45\Discord.Net.Rest.dll</HintPath> + </Reference> + <Reference Include="Discord.Net.Rpc, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Discord.Net.Rpc.1.0.1\lib\net45\Discord.Net.Rpc.dll</HintPath> + </Reference> + <Reference Include="Discord.Net.Webhook, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Discord.Net.Webhook.1.0.1\lib\netstandard1.1\Discord.Net.Webhook.dll</HintPath> + </Reference> + <Reference Include="Discord.Net.WebSocket, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Discord.Net.WebSocket.1.0.1\lib\net45\Discord.Net.WebSocket.dll</HintPath> + </Reference> + <Reference Include="Microsoft.Extensions.DependencyInjection, Version=1.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.Extensions.DependencyInjection.1.1.1\lib\netstandard1.1\Microsoft.Extensions.DependencyInjection.dll</HintPath> + </Reference> + <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=1.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.1.1.1\lib\netstandard1.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath> + </Reference> + <Reference Include="Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll</HintPath> + </Reference> + <Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> + <HintPath>..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll</HintPath> </Reference> <Reference Include="System" /> + <Reference Include="System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll</HintPath> + </Reference> + <Reference Include="System.Collections.Immutable, Version=1.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Collections.Immutable.1.3.1\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath> + <Private>True</Private> + </Reference> + <Reference Include="System.ComponentModel.Composition" /> + <Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath> + </Reference> <Reference Include="System.Core" /> - <Reference Include="System.Drawing" /> - <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath> + </Reference> + <Reference Include="System.Globalization.Calendars, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll</HintPath> + </Reference> + <Reference Include="System.Interactive.Async, Version=3.0.3000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Interactive.Async.3.1.1\lib\net46\System.Interactive.Async.dll</HintPath> + </Reference> + <Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> + <HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath> + </Reference> + <Reference Include="System.IO.Compression.FileSystem" /> + <Reference Include="System.IO.Compression.ZipFile, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> + <HintPath>..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll</HintPath> + </Reference> + <Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath> + </Reference> + <Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> + </Reference> + <Reference Include="System.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll</HintPath> + </Reference> + <Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath> + </Reference> + <Reference Include="System.Numerics" /> + <Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> + </Reference> + <Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath> + </Reference> + <Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> + </Reference> + <Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> + </Reference> + <Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> + </Reference> <Reference Include="System.Xml.Linq" /> <Reference Include="System.Data.DataSetExtensions" /> <Reference Include="Microsoft.CSharp" /> <Reference Include="System.Data" /> - <Reference Include="System.Net.Http" /> <Reference Include="System.Xml" /> + <Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath> + </Reference> </ItemGroup> <ItemGroup> - <Compile Include="MyBot.cs" /> + <Compile Include="Char.cs" /> + <Compile Include="Commands.cs" /> <Compile Include="Program.cs" /> - <Compile Include="AppControll.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> - <Compile Include="Properties\Settings.Designer.cs"> - <AutoGen>True</AutoGen> - <DesignTimeSharedInput>True</DesignTimeSharedInput> - <DependentUpon>Settings.settings</DependentUpon> - </Compile> - <Compile Include="ServerControl.cs" /> </ItemGroup> <ItemGroup> <None Include="App.config" /> <None Include="packages.config" /> - <None Include="Properties\Settings.settings"> - <Generator>SettingsSingleFileGenerator</Generator> - <LastGenOutput>Settings.Designer.cs</LastGenOutput> - </None> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </Project>
\ No newline at end of file diff --git a/DiscoBot/MyBot.cs b/DiscoBot/MyBot.cs deleted file mode 100644 index f9bd427..0000000 --- a/DiscoBot/MyBot.cs +++ /dev/null @@ -1,113 +0,0 @@ -using Discord; -using Discord.Commands; - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Drawing; -using System.Windows; - -namespace DiscoBot -{ - class MyBot - { - DiscordClient discord; - CommandService commands; - private String token; - ServerControl FTB = new ServerControl(); - - public MyBot(string token = "Mjk0NTU0MDU4Nzg4NzAwMTYx.C7XGwQ.VwCAM10lDmwUe01NhBvDKNbd17I") - { - this.token = token; - - discord = new DiscordClient(x => - { - x.LogLevel = LogSeverity.Info; - x.LogHandler = Log; - }); - - discord.UsingCommands(x => - { - x.PrefixChar = '!'; - x.AllowMentionPrefix = true; - }); - - commands = discord.GetService<CommandService>(); - //Mandelbrot(); - //Server(); - DSA(); - - discord.ExecuteAndWait(async () => - { - await discord.Connect(token, TokenType.Bot); - }); - } - - private void Mandelbrot() - { - commands.CreateCommand("mandelbrot") - .Do(async (e) => - { - //await e.Channel.SendMessage("!hallo"); - - await e.Channel.SendFile(@"C:\temp\temp.png"); - - - }); - } - private void Server() - { - - commands.CreateCommand("start") - .Do(async (e) => - { - await e.Channel.SendMessage("Server wird gestartet"); - - FTB.Start(); - - }); - commands.CreateCommand("stop") - .Do(async (e) => - { - await e.Channel.SendMessage("Server wird gestoppt"); - - //FTB.Stop(); - }); - commands.CreateCommand("/") - .Parameter("command",ParameterType.Required) - .Parameter("value",ParameterType.Multiple) - .Do(async (e) => - { - await e.Channel.SendMessage("Command wird ausgeführt"); - - FTB.Command(e.GetArg("command")+" "+e.GetArg("value")); - }); - - commands.CreateCommand("restart") - .Do(async (e) => - { - await e.Channel.SendMessage("Server wird neu gestartet"); - - FTB.Stop(); - }); - - } - private void DSA() - { - commands.CreateCommand("wer ist Schuld?") - .Do(async (e) => - { - await e.Channel.SendMessage(e.Channel.Users.ToArray()[new Random().Next(0,4)].ToString()); - - FTB.Stop(); - }); - } - - private void Log(object sender, LogMessageEventArgs e) - { - Console.WriteLine(e.Message); - } - } -} diff --git a/DiscoBot/Program.cs b/DiscoBot/Program.cs index aa7b7ab..962e416 100644 --- a/DiscoBot/Program.cs +++ b/DiscoBot/Program.cs @@ -3,20 +3,69 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Reflection; +using Discord; +using Discord.WebSocket; +using Discord.Commands; +using Microsoft.Extensions.DependencyInjection; + namespace DiscoBot { - class Program + public class Program { - static void Main(string[] args) + private CommandService commands; + private DiscordSocketClient client; + private IServiceProvider services; + + public Char a = new Char(); + + + static void Main(string[] args) => new Program().Start().GetAwaiter().GetResult(); + + public async Task Start() { - //new Form1(); - new System.Threading.Thread(Launch).Start(); - //MyBot Bot2 = new MyBot("MjU1NDM1MDUyMTg2MzM3Mjkw.Cydmeg.AV2aEAwrM9UHqOUnmmUXaC5TBm4"); + client = new DiscordSocketClient(); + commands = new CommandService(); + + string token = "Mjk0NTU0MDU4Nzg4NzAwMTYx.C7XGwQ.VwCAM10lDmwUe01NhBvDKNbd17I"; + + services = new ServiceCollection() + .BuildServiceProvider(); + + await InstallCommands(); + + await client.LoginAsync(TokenType.Bot, token); + await client.StartAsync(); + + await Task.Delay(-1); } - public static void Launch() + + public async Task InstallCommands() { - new MyBot(); + // Hook the MessageReceived Event into our Command Handler + client.MessageReceived += HandleCommand; + // Discover all of the commands in this assembly and load them. + await commands.AddModulesAsync(Assembly.GetEntryAssembly()); + } + + public async Task HandleCommand(SocketMessage messageParam) + { + // Don't process the command if it was a System Message + var message = messageParam as SocketUserMessage; + if (message == null) return; + // Create a number to track where the prefix ends and the command begins + int argPos = 0; + // Determine if the message is a command, based on if it starts with '!' or a mention prefix + if (!(message.HasCharPrefix('!', ref argPos) || message.HasMentionPrefix(client.CurrentUser, ref argPos))) return; + // Create a Command Context + var context = new CommandContext(client, message); + // Execute the command. (result does not indicate a return value, + // rather an object stating if the command executed successfully) + var result = await commands.ExecuteAsync(context, argPos, services); + if (!result.IsSuccess) + await context.Channel.SendMessageAsync(result.ErrorReason); } } + } diff --git a/DiscoBot/Properties/AssemblyInfo.cs b/DiscoBot/Properties/AssemblyInfo.cs index 700b7d6..1ff6b8f 100644 --- a/DiscoBot/Properties/AssemblyInfo.cs +++ b/DiscoBot/Properties/AssemblyInfo.cs @@ -20,7 +20,7 @@ using System.Runtime.InteropServices; [assembly: ComVisible(false)] // Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird -[assembly: Guid("1273d5d1-9f46-492f-9dfe-0098cd00405c")] +[assembly: Guid("1186af1c-bc46-4b3d-bee0-ce478b8aeac7")] // Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: // diff --git a/DiscoBot/Properties/Settings.Designer.cs b/DiscoBot/Properties/Settings.Designer.cs deleted file mode 100644 index 3bfda66..0000000 --- a/DiscoBot/Properties/Settings.Designer.cs +++ /dev/null @@ -1,38 +0,0 @@ -//------------------------------------------------------------------------------ -// <auto-generated> -// Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:4.0.30319.42000 -// -// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn -// der Code erneut generiert wird. -// </auto-generated> -//------------------------------------------------------------------------------ - -namespace DiscoBot.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.0.1.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("C:\\Users\\Dennis\\Downloads\\FTBBeyondServer")] - public string ServerPaht { - get { - return ((string)(this["ServerPaht"])); - } - set { - this["ServerPaht"] = value; - } - } - } -} diff --git a/DiscoBot/Properties/Settings.settings b/DiscoBot/Properties/Settings.settings deleted file mode 100644 index d7563a4..0000000 --- a/DiscoBot/Properties/Settings.settings +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version='1.0' encoding='utf-8'?> -<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="DiscoBot.Properties" GeneratedClassName="Settings"> - <Profiles /> - <Settings> - <Setting Name="ServerPaht" Type="System.String" Scope="User"> - <Value Profile="(Default)">C:\Users\Dennis\Downloads\FTBBeyondServer</Value> - </Setting> - </Settings> -</SettingsFile>
\ No newline at end of file diff --git a/DiscoBot/ServerControl.cs b/DiscoBot/ServerControl.cs deleted file mode 100644 index 58da9fb..0000000 --- a/DiscoBot/ServerControl.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Diagnostics; -using System.IO; - -namespace DiscoBot -{ - class ServerControl - { - Process FTBProcess = new Process(); - ConsoleAppManager manager; - - public ServerControl() - { - manager = new ConsoleAppManager(DiscoBot.Properties.Settings.Default.ServerPaht + @"\ServerStart.bat"); - - FTBProcess.StartInfo.FileName = /*@"C:\Program Files\Java\jdk1.8.0_101\jre\bin\java.exe";//*/DiscoBot.Properties.Settings.Default.ServerPaht + @"\ServerStart.bat"; - //FTBProcess.StartInfo.Arguments = @"-server -Xms512M -Xmx6G -XX:PermSize=256M -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -jar C:\Users\Dennis\Downloads\FTBBeyondServer\minecraft_server.1.10.2.jar nogui"; - FTBProcess.StartInfo.WorkingDirectory = /*@"C:\Program Files\Java\jdk1.8.0_101\jre\bin";*/Properties.Settings.Default.ServerPaht; - - - - } - - - private void Refresh() - { - while(true) - Console.WriteLine(FTBProcess.StandardOutput.ReadToEnd()); - } - - public void Start() - { - FTBProcess.Start(); - new System.Threading.Thread(Refresh).Start(); - - } - - - public void Command(string c) - { - FTBProcess.StandardInput.WriteLine(c); - } - - public void Stop() - { - Process[] myProcesses; - myProcesses = Process.GetProcessesByName("java"); - foreach (Process p in myProcesses) - p.Kill(); - - - } - - } -} diff --git a/DiscoBot/packages.config b/DiscoBot/packages.config index 02a056d..cf276c0 100644 --- a/DiscoBot/packages.config +++ b/DiscoBot/packages.config @@ -1,8 +1,62 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Discord.Net" version="0.9.6" targetFramework="net452" /> - <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net452" /> - <package id="Nito.AsyncEx" version="3.0.1" targetFramework="net452" /> - <package id="RestSharp" version="105.2.3" targetFramework="net452" /> - <package id="WebSocket4Net" version="0.14.1" targetFramework="net452" /> + <package id="Discord.Net" version="1.0.1" targetFramework="net461" /> + <package id="Discord.Net.Commands" version="1.0.1" targetFramework="net461" /> + <package id="Discord.Net.Core" version="1.0.1" targetFramework="net461" /> + <package id="Discord.Net.Rest" version="1.0.1" targetFramework="net461" /> + <package id="Discord.Net.Rpc" version="1.0.1" targetFramework="net461" /> + <package id="Discord.Net.Webhook" version="1.0.1" targetFramework="net461" /> + <package id="Discord.Net.WebSocket" version="1.0.1" targetFramework="net461" /> + <package id="Microsoft.Extensions.DependencyInjection" version="1.1.1" targetFramework="net461" /> + <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="1.1.1" targetFramework="net461" /> + <package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="net461" /> + <package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="net461" /> + <package id="NETStandard.Library" version="1.6.1" targetFramework="net461" /> + <package id="Newtonsoft.Json" version="10.0.2" targetFramework="net461" /> + <package id="System.AppContext" version="4.3.0" targetFramework="net461" /> + <package id="System.Collections" version="4.3.0" targetFramework="net461" /> + <package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net461" /> + <package id="System.Collections.Immutable" version="1.3.1" targetFramework="net461" /> + <package id="System.ComponentModel" version="4.3.0" targetFramework="net461" /> + <package id="System.Console" version="4.3.0" targetFramework="net461" /> + <package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net461" /> + <package id="System.Diagnostics.DiagnosticSource" version="4.3.0" targetFramework="net461" /> + <package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net461" /> + <package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="net461" /> + <package id="System.Globalization" version="4.3.0" targetFramework="net461" /> + <package id="System.Globalization.Calendars" version="4.3.0" targetFramework="net461" /> + <package id="System.Interactive.Async" version="3.1.1" targetFramework="net461" /> + <package id="System.IO" version="4.3.0" targetFramework="net461" /> + <package id="System.IO.Compression" version="4.3.0" targetFramework="net461" /> + <package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="net461" /> + <package id="System.IO.FileSystem" version="4.3.0" targetFramework="net461" /> + <package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net461" /> + <package id="System.Linq" version="4.3.0" targetFramework="net461" /> + <package id="System.Linq.Expressions" version="4.3.0" targetFramework="net461" /> + <package id="System.Net.Http" version="4.3.0" targetFramework="net461" /> + <package id="System.Net.Primitives" version="4.3.0" targetFramework="net461" /> + <package id="System.Net.Sockets" version="4.3.0" targetFramework="net461" /> + <package id="System.ObjectModel" version="4.3.0" targetFramework="net461" /> + <package id="System.Reflection" version="4.3.0" targetFramework="net461" /> + <package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net461" /> + <package id="System.Reflection.Primitives" version="4.3.0" targetFramework="net461" /> + <package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net461" /> + <package id="System.Runtime" version="4.3.0" targetFramework="net461" /> + <package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net461" /> + <package id="System.Runtime.Handles" version="4.3.0" targetFramework="net461" /> + <package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net461" /> + <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net461" /> + <package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net461" /> + <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net461" /> + <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net461" /> + <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net461" /> + <package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net461" /> + <package id="System.Text.Encoding" version="4.3.0" targetFramework="net461" /> + <package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net461" /> + <package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net461" /> + <package id="System.Threading" version="4.3.0" targetFramework="net461" /> + <package id="System.Threading.Tasks" version="4.3.0" targetFramework="net461" /> + <package id="System.Threading.Timer" version="4.3.0" targetFramework="net461" /> + <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net461" /> + <package id="System.Xml.XDocument" version="4.3.0" targetFramework="net461" /> </packages>
\ No newline at end of file diff --git a/Felis.xml b/Felis.xml new file mode 100644 index 0000000..62cf8f5 --- /dev/null +++ b/Felis.xml @@ -0,0 +1,380 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<?xml-stylesheet type="text/xsl" href="helden.xsl"?> +<helden Version="5.5.2"> + <held key="1492884856303" name="Felis Exodus Schattenwald" stand="1502228127190"> + <mods/> + <basis> + <geschlecht name="männlich"/> + <settings name="DSA4.1"/> + <rasse name="helden.model.rasse.Mittellaender" string="Mittelländer"> + <groesse gewicht="60" value="160"/> + <aussehen alter="24" augenfarbe="braun" aussehentext0="" aussehentext1="" aussehentext2="" aussehentext3="" familietext0="" familietext1="" familietext2="" familietext3="" familietext4="" familietext5="" gbjahr="1003" gbmonat="4" gbtag="9" gprest="0" gpstart="100" haarfarbe="braun" kalender="Bosparans Fall" stand="" titel=""/> + </rasse> + <kultur name="helden.model.kultur.Garetien" string="Mittelländische Städte"/> + <ausbildungen> + <ausbildung art="Hauptprofession" name="helden.model.profession.Grenzjaeger" string="Grenzjäger" tarnidentitaet=""> + <variante name="Grenzjäger"/> + </ausbildung> + <ausbildung art="BGB" name="helden.model.profession.Grosswildjaeger" string="Großwildjäger: Kopfgeldjäger"> + <variante name="Kopfgeldjäger"/> + </ausbildung> + </ausbildungen> + <verify value="1"/> + <notiz notiz0="Notizen" notiz1="" notiz10="" notiz11="" notiz2="" notiz3="" notiz4="" notiz5="" notiz6="" notiz7="" notiz8="" notiz9=""/> + <portraet value=""/> + <abenteuerpunkte value="2246"/> + <freieabenteuerpunkte value="439"/> + </basis> + <eigenschaften> + <eigenschaft mod="0" name="Mut" startwert="12" value="12"/> + <eigenschaft mod="0" name="Klugheit" startwert="12" value="12"/> + <eigenschaft mod="0" name="Intuition" startwert="13" value="13"/> + <eigenschaft mod="0" name="Charisma" startwert="12" value="12"/> + <eigenschaft mod="0" name="Fingerfertigkeit" startwert="12" value="12"/> + <eigenschaft mod="0" name="Gewandtheit" startwert="13" value="13"/> + <eigenschaft mod="0" name="Konstitution" startwert="12" value="12"/> + <eigenschaft mod="0" name="Körperkraft" startwert="14" value="14"/> + <eigenschaft mod="0" name="Sozialstatus" startwert="5" value="5"/> + <eigenschaft mod="10" name="Lebensenergie" value="1"/> + <eigenschaft mod="12" name="Ausdauer" value="0"/> + <eigenschaft grossemeditation="0" mod="-1" mrmod="-4" name="Astralenergie" value="2"/> + <eigenschaft karmalqueste="0" mod="0" name="Karmaenergie" value="0"/> + <eigenschaft mod="-4" name="Magieresistenz" value="0"/> + <eigenschaft mod="0" name="ini" value="10"/> + <eigenschaft mod="0" name="at" value="8"/> + <eigenschaft mod="0" name="pa" value="8"/> + <eigenschaft mod="0" name="fk" value="8"/> + </eigenschaften> + <vt> + <vorteil name="Altersresistenz"/> + <vorteil name="Astralmacht" value="5"/> + <vorteil name="Breitgefächerte Bildung"/> + <vorteil name="Schutzgeist"/> + <vorteil name="Viertelzauberer"/> + <vorteil name="Feind" value="8"/> + <vorteil name="Gesucht" value="2"/> + <vorteil name="Kleinwüchsig"/> + <vorteil name="Neugier" value="7"/> + <vorteil name="Rachsucht" value="5"/> + <vorteil name="Unbewusster Viertelzauberer"/> + <vorteil name="Unfähigkeit für [Talentgruppe]" value="Wissen"/> + <vorteil name="Ungebildet" value="5"/> + <vorteil name="Verpflichtungen"/> + </vt> + <sf> + <sonderfertigkeit name="Kulturkunde"> + <kultur name="Mittelreich"/> + </sonderfertigkeit> + <sonderfertigkeit name="Ortskenntnis"> + <auswahl name="Stadtteil/Kleinstadt"/> + <auswahl name="Wahl1"/> + <auswahl name="Wahl2"/> + </sonderfertigkeit> + <sonderfertigkeit name="Scharfschütze"> + <talent name="Bogen"/> + </sonderfertigkeit> + <sonderfertigkeit name="Schnellladen"> + <talent name="Bogen"/> + </sonderfertigkeit> + <sonderfertigkeit name="Waldkundig"/> + <verbilligtesonderfertigkeit name="Rüstungsgewöhnung I"> + <auswahl auswahl="Lederweste"/> + </verbilligtesonderfertigkeit> + <verbilligtesonderfertigkeit name="Talentspezialisierung" talent="Schleuder"> + <auswahl auswahl="Wurfnetz"/> + </verbilligtesonderfertigkeit> + </sf> + <ereignisse> + <ereignis obj="max GP für Helden: 100" text="EINSTELLUNG" time="1492884894704" version="HS 5.5.2"/> + <ereignis obj="max Eigenschafts-GP für Helden: 100" text="EINSTELLUNG" time="1492884894704" version="HS 5.5.2"/> + <ereignis obj="max Eigenschafts-Wert für Helden: 14" text="EINSTELLUNG" time="1492884894704" version="HS 5.5.2"/> + <ereignis obj="Kein Standard. Max GP für Helden: 100" text="Meistergenehmigung notwendig" time="1492884894705" version="HS 5.5.2"/> + <ereignis obj="Es wurden verbilligte SF gewählt. Die Auswahl unterliegt der Meistergenehimgung." text="Meistergenehmigung notwendig" time="1492884894705" version="HS 5.5.2"/> + <ereignis obj="Die folgenden Vor- bzw. Nachteile unterliegen der Meistergenehmigung: Unfähigkeit für [Talentgruppe] " text="Meistergenehmigung notwendig" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="0 GP" obj="Rasse: Mittelländer" text="RKP" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="0 GP" obj="Kultur: Mittelländische Städte" text="RKP" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="12 GP" obj="Profession: Grenzjäger" text="RKP" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="20 GP" obj="Breitgefächerte Bildung: Großwildjäger: Kopfgeldjäger" text="RKP" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="12" kommentar="12 GP" obj="Mut: 12" text="EIGENSCHAFTEN" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="12" kommentar="12 GP" obj="Klugheit: 12" text="EIGENSCHAFTEN" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="13" kommentar="13 GP" obj="Intuition: 13" text="EIGENSCHAFTEN" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="12" kommentar="12 GP" obj="Charisma: 12" text="EIGENSCHAFTEN" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="12" kommentar="12 GP" obj="Fingerfertigkeit: 12" text="EIGENSCHAFTEN" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="13" kommentar="13 GP" obj="Gewandtheit: 13" text="EIGENSCHAFTEN" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="12" kommentar="12 GP" obj="Konstitution: 12" text="EIGENSCHAFTEN" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="14" kommentar="14 GP" obj="Körperkraft: 14" text="EIGENSCHAFTEN" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="0 GP" obj="Sozialstatus: 5" text="EIGENSCHAFTEN" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="28 AP" obj="Bogen: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="6" kommentar="34 AP" obj="Bogen: 6" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="7" kommentar="41 BGB" obj="Bogen: 7" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="8" kommentar="48 BGB" obj="Bogen: 8" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="9" kommentar="55 BGB" obj="Bogen: 9" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="10" kommentar="65 BGB" obj="Bogen: 10" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="17 BGB" obj="Dolche: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="22 BGB" obj="Dolche: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="12 BGB" obj="Ringen: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="17 BGB" obj="Ringen: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="22 BGB" obj="Ringen: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="28 BGB" obj="Schwerter: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="6" kommentar="34 BGB" obj="Schwerter: 6" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="17 BGB" obj="Speere: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="22 BGB" obj="Speere: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="4 AP" obj="Akrobatik: 0" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="1" kommentar="3 AP" obj="Akrobatik: 1" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="2" kommentar="7 AP" obj="Akrobatik: 2" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="12 AP" obj="Akrobatik: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="17 AP" obj="Akrobatik: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="22 AP" obj="Akrobatik: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="4 AP" obj="Fliegen: 0" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="12 AP" obj="Klettern: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="17 AP" obj="Klettern: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="22 BGB" obj="Klettern: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="12 BGB" obj="Körperbeherrschung: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="17 BGB" obj="Körperbeherrschung: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="12 BGB" obj="Reiten: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="17 BGB" obj="Reiten: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="22 BGB" obj="Reiten: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="22 AP" obj="Schleichen: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="6" kommentar="27 BGB" obj="Schleichen: 6" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="7" kommentar="33 BGB" obj="Schleichen: 7" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="8" kommentar="39 BGB" obj="Schleichen: 8" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="12 AP" obj="Selbstbeherrschung: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="17 BGB" obj="Selbstbeherrschung: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="22 BGB" obj="Selbstbeherrschung: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="17 BGB" obj="Sich verstecken: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="22 BGB" obj="Sich verstecken: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="6" kommentar="27 BGB" obj="Sinnenschärfe: 6" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="7" kommentar="33 BGB" obj="Sinnenschärfe: 7" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="8" kommentar="39 BGB" obj="Sinnenschärfe: 8" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="9" kommentar="45 BGB" obj="Sinnenschärfe: 9" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="2" kommentar="4 BGB" obj="Gassenwissen: 2" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="6 BGB" obj="Gassenwissen: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="8 BGB" obj="Gassenwissen: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="8 BGB" obj="Menschenkenntnis: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="11 BGB" obj="Menschenkenntnis: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="6" kommentar="14 BGB" obj="Menschenkenntnis: 6" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="2 AP" obj="Sich verkleiden: 0" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="1" kommentar="2 AP" obj="Sich verkleiden: 1" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="2" kommentar="4 AP" obj="Sich verkleiden: 2" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="8 BGB" obj="Überreden: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="11 BGB" obj="Überreden: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="6 BGB" obj="Fesseln/Entfesseln: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="8 BGB" obj="Fesseln/Entfesseln: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="11 BGB" obj="Fesseln/Entfesseln: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="3 BGB" obj="Schätzen: 0" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="2" kommentar="6 BGB" obj="Tierkunde: 2" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="1 BGB" obj="Sprachen kennen Bosparano: 0" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="1" kommentar="1 BGB" obj="Sprachen kennen Bosparano: 1" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="1 AP" obj="Sprachen kennen Ologhaijan: 0" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="1" kommentar="1 BGB" obj="Sprachen kennen Ologhaijan: 1" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="1 AP" obj="Lesen/Schreiben Zhayad: 0" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="2 AP" obj="Bogenbau: 0" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="1" kommentar="2 AP" obj="Bogenbau: 1" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="2" kommentar="4 AP" obj="Bogenbau: 2" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="6 AP" obj="Bogenbau: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="8 AP" obj="Bogenbau: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="11 AP" obj="Bogenbau: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="6" kommentar="14 AP" obj="Bogenbau: 6" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="7" kommentar="17 AP" obj="Bogenbau: 7" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="2" kommentar="4 AP" obj="Hauswirtschaft: 2" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="2" kommentar="4 BGB" obj="Heilkunde: Gift: 2" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="6 BGB" obj="Heilkunde: Gift: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="6 AP" obj="Heilkunde: Wunden: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="8 AP" obj="Heilkunde: Wunden: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="5" kommentar="11 BGB" obj="Heilkunde: Wunden: 5" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="6" kommentar="14 BGB" obj="Heilkunde: Wunden: 6" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="7" kommentar="17 BGB" obj="Heilkunde: Wunden: 7" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="6 AP" obj="Holzbearbeitung: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="4" kommentar="8 BGB" obj="Holzbearbeitung: 4" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="2" kommentar="4 AP" obj="Kochen: 2" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="3" kommentar="6 BGB" obj="Kochen: 3" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="2 AP" obj="Schlösser knacken: 0" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="1" kommentar="2 AP" obj="Schlösser knacken: 1" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="2" kommentar="4 BGB" obj="Schneidern: 2" text="TALENT" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="150 vSF (Waldkundig)" obj="Scharfschütze (Bogen)" text="vSF" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="3 GP" obj="Altersresistenz" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="5 GP" obj="Astralmacht: 5" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="0 GP" obj="Breitgefächerte Bildung" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="-4 GP" obj="Feind: 8" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="-10 GP" obj="Gesucht: 2" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="-5 GP" obj="Kleinwüchsig" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="-7 GP" obj="Neugier: 7" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="-5 GP" obj="Rachsucht: 5" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="3 GP" obj="Schutzgeist" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="-2 GP" obj="Unbewusster Viertelzauberer" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="-10 GP" obj="Unfähigkeit für [Talentgruppe]: Wissen" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="-5 GP" obj="Ungebildet: 5" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="0 GP" obj="Verpflichtungen" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Alt="0" Neu="0" kommentar="5 GP" obj="Viertelzauberer" text="VORTEILE" time="1492884894705" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="256" Alt="1300" Neu="1556" text="Abenteuerpunkte" time="1492885290302" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-55" Alt="10" Info="SE, Gegenseitiges Lehren" Neu="11" obj="Bogen" text="Talent steigern" time="1492886150294" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-38" Alt="9" Info="SE, Gegenseitiges Lehren" Neu="10" obj="Sinnenschärfe" text="Talent steigern" time="1492886164416" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-10" Alt="7" Info="SE, Gegenseitiges Lehren" Neu="8" obj="Heilkunde: Wunden" text="Talent steigern" time="1492886236033" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-10" Alt="7" Info="SE, Gegenseitiges Lehren" Neu="8" obj="Bogenbau" text="Talent steigern" time="1492886265527" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-5" Info="SE" Neu="0" obj="Schauspielerei" text="Talent aktivieren" time="1492886317617" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-2" Alt="0" Info="Gegenseitiges Lehren" Neu="1" obj="Schauspielerei" text="Talent steigern" time="1492886335440" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-34" Alt="8" Info="SE, Gegenseitiges Lehren" Neu="9" obj="Schleichen" text="Talent steigern" time="1492886378062" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-65" Alt="11" Info="SE, Gegenseitiges Lehren" Neu="12" obj="Bogen" text="Talent steigern" time="1492886497927" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-6" Alt="0" Info="SE" Neu="1" obj="Astralenergie" text="Eigenschaft steigern" time="1492886727974" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-8" Alt="0" Info="SE" Neu="1" obj="Lebensenergie" text="Eigenschaft steigern" time="1492886739888" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-14" Alt="1" Info="SE" Neu="2" obj="Astralenergie" text="Eigenschaft steigern" time="1492886740505" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="240" Alt="1556" Neu="1796" text="Abenteuerpunkte" time="1493159025834" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-75" obj="Scharfschütze (Bogen)" text="Sonderfertigkeit hinzugefügt" time="1493159102339" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-25" Alt="6;2;4" Info="SE, Lehrmeister" Neu="7;2;4" obj="Schwerter" text="Nahkampftalent steigern" time="1493159124713" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-14" Alt="5" Info="SE, Lehrmeister" Neu="6" obj="Akrobatik" text="Talent steigern" time="1493159137593" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-28" Alt="10" Info="SE, Lehrmeister" Neu="11" obj="Sinnenschärfe" text="Talent steigern" time="1493159150870" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-4" Alt="1" Info="Gegenseitiges Lehren" Neu="2" obj="Schauspielerei" text="Talent steigern" time="1493159176473" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-14" Alt="5" Info="SE, Lehrmeister" Neu="6" obj="Sich verstecken" text="Talent steigern" time="1493159192820" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="125" Alt="1796" Neu="1921" text="Abenteuerpunkte" time="1494969094184" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="185" Alt="1921" Neu="2106" text="Abenteuerpunkte" time="1497992334716" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="-100" obj="Schnellladen (Bogen)" text="Sonderfertigkeit hinzugefügt" time="1499800024764" version="HS 5.5.2"/> + <ereignis Abenteuerpunkte="140" Alt="2106" Neu="2246" text="Abenteuerpunkte" time="1502227215306" version="HS 5.5.2"/> + </ereignisse> + <talentliste> + <talent lernmethode="Gegenseitiges Lehren" name="Bogen" probe=" (GE/FF/KK)" value="12"/> + <talent lernmethode="Gegenseitiges Lehren" name="Dolche" probe=" (GE/GE/KK)" value="5"/> + <talent lernmethode="Gegenseitiges Lehren" name="Hiebwaffen" probe=" (GE/GE/KK)" value="2"/> + <talent lernmethode="Gegenseitiges Lehren" name="Infanteriewaffen" probe=" (GE/GE/KK)" value="1"/> + <talent lernmethode="Gegenseitiges Lehren" name="Raufen" probe=" (GE/GE/KK)" value="4"/> + <talent lernmethode="Gegenseitiges Lehren" name="Ringen" probe=" (GE/GE/KK)" value="5"/> + <talent lernmethode="Gegenseitiges Lehren" name="Säbel" probe=" (GE/GE/KK)" value="0"/> + <talent lernmethode="Gegenseitiges Lehren" name="Schwerter" probe=" (GE/GE/KK)" value="7"/> + <talent lernmethode="Gegenseitiges Lehren" name="Speere" probe=" (GE/GE/KK)" value="5"/> + <talent lernmethode="Gegenseitiges Lehren" name="Wurfmesser" probe=" (GE/FF/KK)" value="0"/> + <talent be="BEx2" lernmethode="Gegenseitiges Lehren" name="Akrobatik" probe=" (MU/GE/KK)" value="6"/> + <talent be="BEx2" lernmethode="Gegenseitiges Lehren" name="Athletik" probe=" (GE/KO/KK)" value="4"/> + <talent be="BE" lernmethode="Gegenseitiges Lehren" name="Fliegen" probe=" (MU/IN/GE)" value="0"/> + <talent be="BEx2" lernmethode="Gegenseitiges Lehren" name="Klettern" probe=" (MU/GE/KK)" value="5"/> + <talent be="BEx2" lernmethode="Gegenseitiges Lehren" name="Körperbeherrschung" probe=" (MU/IN/GE)" value="4"/> + <talent be="BE-2" lernmethode="Gegenseitiges Lehren" name="Reiten" probe=" (CH/GE/KK)" value="5"/> + <talent be="BE" lernmethode="Gegenseitiges Lehren" name="Schleichen" probe=" (MU/IN/GE)" value="9"/> + <talent be="BEx2" lernmethode="Gegenseitiges Lehren" name="Schwimmen" probe=" (GE/KO/KK)" value="2"/> + <talent be="" lernmethode="Gegenseitiges Lehren" name="Selbstbeherrschung" probe=" (MU/KO/KK)" value="5"/> + <talent be="BE-2" lernmethode="Gegenseitiges Lehren" name="Sich verstecken" probe=" (MU/IN/GE)" value="6"/> + <talent be="BE-3" lernmethode="Gegenseitiges Lehren" name="Singen" probe=" (IN/CH/CH)" value="0"/> + <talent be="0->BE" lernmethode="Gegenseitiges Lehren" name="Sinnenschärfe" probe=" (KL/IN/IN)" value="11"/> + <talent be="BEx2" lernmethode="Gegenseitiges Lehren" name="Tanzen" probe=" (CH/GE/GE)" value="0"/> + <talent be="" lernmethode="Gegenseitiges Lehren" name="Zechen" probe=" (IN/KO/KK)" value="2"/> + <talent lernmethode="Gegenseitiges Lehren" name="Etikette" probe=" (KL/IN/CH)" value="2"/> + <talent lernmethode="Gegenseitiges Lehren" name="Gassenwissen" probe=" (KL/IN/CH)" value="4"/> + <talent lernmethode="Gegenseitiges Lehren" name="Menschenkenntnis" probe=" (KL/IN/CH)" value="6"/> + <talent lernmethode="Gegenseitiges Lehren" name="Schauspielerei" probe=" (MU/KL/CH)" value="2"/> + <talent lernmethode="Gegenseitiges Lehren" name="Sich verkleiden" probe=" (MU/CH/GE)" value="2"/> + <talent lernmethode="Gegenseitiges Lehren" name="Überreden" probe=" (MU/IN/CH)" value="5"/> + <talent lernmethode="Gegenseitiges Lehren" name="Fährtensuchen" probe=" (KL/IN/KO)" value="4"/> + <talent lernmethode="Gegenseitiges Lehren" name="Fallen stellen" probe=" (KL/FF/KK)" value="1"/> + <talent lernmethode="Gegenseitiges Lehren" name="Fesseln/Entfesseln" probe=" (FF/GE/KK)" value="5"/> + <talent lernmethode="Gegenseitiges Lehren" name="Fischen/Angeln" probe=" (IN/FF/KK)" value="1"/> + <talent lernmethode="Gegenseitiges Lehren" name="Orientierung" probe=" (KL/IN/IN)" value="3"/> + <talent lernmethode="Gegenseitiges Lehren" name="Wettervorhersage" probe=" (KL/IN/IN)" value="3"/> + <talent lernmethode="Gegenseitiges Lehren" name="Wildnisleben" probe=" (IN/GE/KO)" value="4"/> + <talent lernmethode="Gegenseitiges Lehren" name="Geografie" probe=" (KL/KL/IN)" value="1"/> + <talent lernmethode="Gegenseitiges Lehren" name="Götter und Kulte" probe=" (KL/KL/IN)" value="3"/> + <talent lernmethode="Gegenseitiges Lehren" name="Heraldik" probe=" (KL/KL/FF)" value="2"/> + <talent lernmethode="Gegenseitiges Lehren" name="Kriegskunst" probe=" (MU/KL/CH)" value="1"/> + <talent lernmethode="Gegenseitiges Lehren" name="Pflanzenkunde" probe=" (KL/IN/FF)" value="1"/> + <talent lernmethode="Gegenseitiges Lehren" name="Rechnen" probe=" (KL/KL/IN)" value="2"/> + <talent lernmethode="Gegenseitiges Lehren" name="Rechtskunde" probe=" (KL/KL/IN)" value="3"/> + <talent lernmethode="Gegenseitiges Lehren" name="Sagen und Legenden" probe=" (KL/IN/CH)" value="2"/> + <talent lernmethode="Gegenseitiges Lehren" name="Schätzen" probe=" (KL/IN/IN)" value="0"/> + <talent lernmethode="Gegenseitiges Lehren" name="Tierkunde" probe=" (MU/KL/IN)" value="2"/> + <talent k="21" lernmethode="Gegenseitiges Lehren" name="Sprachen kennen Bosparano" probe=" (KL/IN/CH)" value="1"/> + <talent k="18" lernmethode="Gegenseitiges Lehren" name="Sprachen kennen Garethi" probe=" (KL/IN/CH)" value="10"/> + <talent k="15" lernmethode="Gegenseitiges Lehren" name="Sprachen kennen Ologhaijan" probe=" (KL/IN/CH)" value="1"/> + <talent k="21" lernmethode="Gegenseitiges Lehren" name="Sprachen kennen Rogolan" probe=" (KL/IN/CH)" value="3"/> + <talent k="15" lernmethode="Gegenseitiges Lehren" name="Sprachen kennen Zhayad" probe=" (KL/IN/CH)" value="3"/> + <talent k="10" lernmethode="Gegenseitiges Lehren" name="Lesen/Schreiben Kusliker Zeichen" probe=" (KL/KL/FF)" value="2"/> + <talent k="18" lernmethode="Gegenseitiges Lehren" name="Lesen/Schreiben Zhayad" probe=" (KL/KL/FF)" value="0"/> + <talent lernmethode="Gegenseitiges Lehren" name="Bogenbau" probe=" (KL/IN/FF)" value="8"/> + <talent lernmethode="Gegenseitiges Lehren" name="Fahrzeug lenken" probe=" (IN/CH/FF)" value="2"/> + <talent lernmethode="Gegenseitiges Lehren" name="Hauswirtschaft" probe=" (IN/CH/FF)" value="2"/> + <talent lernmethode="Gegenseitiges Lehren" name="Heilkunde: Gift" probe=" (MU/KL/IN)" value="3"/> + <talent lernmethode="Gegenseitiges Lehren" name="Heilkunde: Krankheiten" probe=" (MU/KL/CH)" value="1"/> + <talent lernmethode="Gegenseitiges Lehren" name="Heilkunde: Wunden" probe=" (KL/CH/FF)" value="8"/> + <talent lernmethode="Gegenseitiges Lehren" name="Holzbearbeitung" probe=" (KL/FF/KK)" value="4"/> + <talent lernmethode="Gegenseitiges Lehren" name="Kochen" probe=" (KL/IN/FF)" value="3"/> + <talent lernmethode="Gegenseitiges Lehren" name="Lederarbeiten" probe=" (KL/FF/FF)" value="1"/> + <talent lernmethode="Gegenseitiges Lehren" name="Malen/Zeichnen" probe=" (KL/IN/FF)" value="0"/> + <talent lernmethode="Gegenseitiges Lehren" name="Schlösser knacken" probe=" (IN/FF/FF)" value="1"/> + <talent lernmethode="Gegenseitiges Lehren" name="Schneidern" probe=" (KL/FF/FF)" value="2"/> + </talentliste> + <zauberliste/> + <kampf> + <kampfwerte name="Dolche"> + <attacke value="12"/> + <parade value="9"/> + </kampfwerte> + <kampfwerte name="Hiebwaffen"> + <attacke value="10"/> + <parade value="8"/> + </kampfwerte> + <kampfwerte name="Infanteriewaffen"> + <attacke value="9"/> + <parade value="8"/> + </kampfwerte> + <kampfwerte name="Raufen"> + <attacke value="11"/> + <parade value="9"/> + </kampfwerte> + <kampfwerte name="Ringen"> + <attacke value="11"/> + <parade value="10"/> + </kampfwerte> + <kampfwerte name="Säbel"> + <attacke value="8"/> + <parade value="8"/> + </kampfwerte> + <kampfwerte name="Schwerter"> + <attacke value="11"/> + <parade value="12"/> + </kampfwerte> + <kampfwerte name="Speere"> + <attacke value="12"/> + <parade value="9"/> + </kampfwerte> + </kampf> + <gegenstände/> + <BoniWaffenlos/> + <kommentare/> + <ausrüstungen> + <heldenausruestung name="jagtwaffe" nummer="0" set="0"/> + </ausrüstungen> + <verbindungen/> + <extention/> + <geldboerse/> + <plugindata/> + </held> + <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> + <SignedInfo> + <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/> + <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/> + <Reference URI=""> + <Transforms> + <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </Transforms> + <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <DigestValue>pA70izIxomtGcRb/16T9inwwXw8=</DigestValue> + </Reference> + </SignedInfo> + <SignatureValue>VJwVRJxgJH4HZS+IjrA6Xwv5BHNXoEDLNFGY0OJX0t1jR6laSNhNsw==</SignatureValue> + <KeyInfo> + <KeyValue> + <DSAKeyValue> + <P> + /KaCzo4Syrom78z3EQ5SbbB4sF7ey80etKII864WF64B81uRpH5t9jQTxeEu0ImbzRMqzVDZkVG9 + xD7nN1kuFw== + </P> + <Q>li7dzDacuo67Jg7mtqEm2TRuOMU=</Q> + <G> + Z4Rxsnqc9E7pGknFFH2xqaryRPBaQ01khpMdLRQnG541Awtx/XPaF5Bpsy4pNWMOHCBiNU0Nogps + QW5QvnlMpA== + </G> + <Y> + uVrvWkzIbUdL7E80AiD0PJDX3Ck0beY5StXp1wDAA1/ePpemd6rTBNd8YoCzOovNrX016YMcTSiO + iExM4RWtJA== + </Y> + </DSAKeyValue> + </KeyValue> + </KeyInfo> + </Signature> +</helden>
\ No newline at end of file |