Example #1
0
        public static void SelectCharacter(Client client, int id)
        {
            CharacterRecord characterRecord = client.Account.Characters.FirstOrDefault(character => character.Id == id);

            if (characterRecord != null)
            {
                CharacterEngine character = new CharacterEngine(characterRecord, client);
                client.Character = character;
                client.Send(new CharacterSelectedSuccessMessage(character.GetCharacterBaseInformations));
                ContextRoleplayHandler.SendEmoteListMessage(client, new sbyte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 21, 22, 23, 24 });
                ChatHandler.SendEnabledChannelsMessage(client, new sbyte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 });
                InventoryHandler.SendInventoryContentMessage(client, new ObjectItem[0], character.Kamas); //TODO Get the characters items
                InventoryHandler.SendInventoryWeightMessage(client, 0, character.MaxPods);
                InventoryHandler.SendSpellListMessage(client);
                PvPHandler.SendAlignmentRankUpdateMessage(client, 1);
                PvPHandler.SendAlignmentSubAreasListMessage(client);
                SendSetCharacterRestrictionsMessage(client);
                SendLifePointsRegenBeginMessage(client, 10);
                SendCharacterStatsListMessage(client);
                client.Character.SendLoginMessage();

                /*if (tutorial == true)
                 * {
                 *  character.CurrentMapId = 35651584; //mapid of the tutorial map
                 *  character.CellId = 324;
                 *  client.Send(new QuestStartedMessage(489)); //start the tutorial quest
                 * }*/
            }
            else
            {
                client.Send(new CharacterSelectedErrorMessage());
            }
        }
    public void SetHandComputed()
    {
        Toolbox globalVars = Toolbox.Instance;
        int     w20        = CharacterEngine.ComputeHandWurf(globalVars.mCharacter);

        inHandWurf.text = w20.ToString();

        Hand hand = CharacterEngine.GetHandfromWurf(w20);

        switch (hand)
        {
        case Hand.links:
            inHandText.text = "links";
            break;

        case Hand.rechts:
            inHandText.text = "rechts";
            break;

        case Hand.beide:
            inHandText.text = "beidhändig";
            break;

        default:
            break;
        }
    }
        private void SaveTemplate(object sender, RoutedEventArgs e)
        {
            List <string> errors = new List <string>();

            foreach (NumAttribute attribute in CharacterEngine.CharTemplate.Attributes.Values)
            {
                if (attribute.GetType() == typeof(NumAttribute))
                {
                    foreach (string error in CharacterEngine.ValidateAttribute(CharacterEngine.CharTemplate, (NumAttribute)attribute))
                    {
                        errors.Add(error);
                    }
                }
            }
            if (errors.Count == 0)
            {
                MainEngine.Template = CharacterEngine.CharTemplate;
                ObjectsFromRules newMenu = new ObjectsFromRules();
                newMenu.Show();
                this.Close();
            }
            else
            {
                StringBuilder consolodatedErrors = new StringBuilder();
                foreach (string error in errors)
                {
                    consolodatedErrors.Append(error + "\n");
                }
                MessageBoxResult errorMessage = MessageBox.Show(consolodatedErrors.ToString());
            }
        }
    public void SetStandComputed()
    {
        int w100 = CharacterEngine.ComputeStandWurf();

        inStandWurf.text = w100.ToString();

        Stand stand = CharacterEngine.GetStandfromWurf(w100);

        switch (stand)
        {
        case Stand.Unfrei:
            inStandText.text = "unfrei";
            break;

        case Stand.Volk:
            inStandText.text = "Volk";
            break;

        case Stand.Mittelschicht:
            inStandText.text = "Mittelschicht";
            break;

        case Stand.Adel:
            inStandText.text = "Adel";
            break;

        default:
            break;
        }
    }
Example #5
0
    public void TestAussehen()
    {
        var races = Enum.GetValues(typeof(Races));

        try {
            foreach (Races race in races)
            {
                mCharacter.Spezies = race;
                CharacterEngine.ComputeErscheinung(this.mCharacter);
                switch (mCharacter.Spezies)
                {
                case Races.Mensch:
                case Races.Halbling:
                    Assert.LessOrEqual(mCharacter.Aussehen, _MAX_AU, "Mensch zu schön");
                    break;

                case Races.Elf:
                    Assert.GreaterOrEqual(mCharacter.Aussehen, _MIN_AU_ELF, "Elf zu hässlich");
                    break;

                case Races.Berggnom:
                case Races.Waldgnom:
                case Races.Zwerg:
                    Assert.LessOrEqual(mCharacter.Aussehen, _MAX_AU_GNOM, "Gnom oder Zwerg zu hübsch");
                    break;

                default:
                    break;
                }
            }
        } catch (AssertionException aEx) {
            Debug.Log(aEx.ToString());
            Assert.Fail();
        }
    }
    public void PrepareSinne()
    {
        Toolbox globalVars = Toolbox.Instance;

        //Berechne-> und speicher in Charakter
        CharacterEngine.PrepareAngeboreneFertigkeiten(globalVars.mCharacter);
    }
Example #7
0
    public void Awake()
    {
        Toolbox          globalVars = Toolbox.Instance;
        MidgardCharakter mCharacter = globalVars.mCharacter;

        orderPages.Add(LernFachPage);
        orderPages.Add(LernWaffePage);
        orderPages.Add(LernZauberPage);
        twinPages.Add(FachChosenPage);
        twinPages.Add(WaffenChosenPage);
        twinPages.Add(ZauberChosenPage);

        //Hier lässt sich die Maximalzahl festlegen
        int katIdCharacter = CharacterEngine.GetKategorieForAbenteurerTyp((int)mCharacter.Archetyp + 1);

        //Falls der Zauber mächtig
        if (katIdCharacter == 1 || katIdCharacter == 3)
        {
            orderPagesMax = orderPages.Count - 1;
        }
        else
        {
            orderPagesMax = orderPages.Count - 2;
        }
    }
Example #8
0
 public new void OnDisconnect()
 {
     Account?.Update();
     Character?.Disconnect();
     Account   = null;
     Character = null;
     ConsoleUtils.Write(ConsoleUtils.Type.INFO, $"Client {Ip}:{Port} disconnected from game server ...");
 }
Example #9
0
    public void SetAbgeleiteteEigenschaften()
    {
        Toolbox globalVars = Toolbox.Instance;

        CharacterEngine.ComputeAbgeleiteteEigenschaften(globalVars.mCharacter);
        inSchB.text = globalVars.mCharacter.SchB.ToString();
        inAusb.text = globalVars.mCharacter.AusB.ToString();
    }
Example #10
0
    public void TesteStaerkeMenschForAllATypen()
    {
        _mCharacter.Spezies = Races.Mensch;
        var aTypen = Enum.GetValues(typeof(AbenteuerTyp));

        try {
            foreach (AbenteuerTyp aTyp in aTypen)
            {
                _mCharacter.Archetyp = aTyp;
                int St = CharacterEngine.ComputeBasisSt(this._mCharacter);                  //Stärke
                switch (_mCharacter.Archetyp)
                {
                case AbenteuerTyp.As:
                case AbenteuerTyp.Er:
                case AbenteuerTyp.Gl:
                case AbenteuerTyp.Hä:
                case AbenteuerTyp.Ku:
                case AbenteuerTyp.Se:
                case AbenteuerTyp.Sp:
                case AbenteuerTyp.Wa:
                    Assert.LessOrEqual(St, this._EIGENSCHAFT_MAX);
                    Assert.GreaterOrEqual(St, this._EIGENSCHAFT_MIN);
                    break;

                case AbenteuerTyp.BN:
                    Assert.GreaterOrEqual(St, this._BN_ST, "Barbar Nordland Stärke zu gering");
                    break;

                case AbenteuerTyp.BS:
                    Assert.GreaterOrEqual(St, this._BS_ST, "Barbar Steppe Stärke zu gering");
                    break;

                case AbenteuerTyp.BW:
                    Assert.GreaterOrEqual(St, this._BW_ST, "Barbar Wald Stärke zu gering");
                    break;

                case AbenteuerTyp.Kr:
                    Assert.GreaterOrEqual(St, this._KR_ST, "Krieger Stärke zu gering");
                    break;

                case AbenteuerTyp.Soe:
                    Assert.GreaterOrEqual(St, this._SOE_ST, "Söldner Stärke zu gering");
                    break;

                case AbenteuerTyp.Sc:
                    Assert.GreaterOrEqual(St, this._SC_ST, "Schamane Stärke zu gering");
                    break;

                default:
                    break;
                }
            }
        } catch (AssertionException asEx) {
            Debug.Log(asEx.ToString());
            Assert.Fail();
        }
    }
Example #11
0
    public void TestAngriffBonus()
    {
        this.mCharacter.Spezies = Races.Elf;
        mCharacter.Gs           = UnityEngine.Random.Range(1, 101); //Zufallswert
        CharacterEngine.ComputeNaturGegebenI(this.mCharacter);

        Assert.LessOrEqual(mCharacter.AnB, _MAX_ANB);
        Assert.GreaterOrEqual(mCharacter.AnB, _MIN_ANB);
    }
Example #12
0
    public void TestHandAll()
    {
        mCharacter.Spezies = Races.Mensch;
        int  w20        = CharacterEngine.ComputeHandWurf(this.mCharacter);
        Hand resultHand = CharacterEngine.GetHandfromWurf(w20);
        var  hands      = Enum.GetValues(typeof(Hand));

        Assert.Contains(resultHand, hands);
    }
Example #13
0
    // Use this for initialization
    void Start()
    {
        abKategorie = CharacterEngine.GetKategorieForAbenteurerTyp((int)Toolbox.Instance.mCharacter.Archetyp + 1);

        //Kämpfer->kein Zauberer
        if (abKategorie == 2)
        {
            DeactivateZaubererUI();
        }
    }
Example #14
0
    public void TestGewicht()
    {
        var races = Enum.GetValues(typeof(Races));

        try {
            foreach (Races race in races)
            {
                mCharacter.Spezies = race;
                CharacterEngine.ComputeBasisSt(mCharacter);
                CharacterEngine.ComputeErscheinung(this.mCharacter);
                switch (mCharacter.Spezies)
                {
                case Races.Mensch:
                    if (mCharacter.Sex == Geschlecht.Mann)
                    {
                        Assert.GreaterOrEqual(mCharacter.Gewicht, _MIN_GEWICHT_MANN, "Mann zu dünn!");
                        Assert.LessOrEqual(mCharacter.Gewicht, _MAX_GEWICHT_MANN, "Mann zu dick!");
                    }
                    else
                    {
                        Assert.GreaterOrEqual(mCharacter.Gewicht, _MIN_GEWICHT_FRAU, "Frau zu dünn!");
                        Assert.LessOrEqual(mCharacter.Gewicht, _MAX_GEWICHT_FRAU, "Frau zu dick!");
                    }
                    break;

                case Races.Elf:
                    Assert.GreaterOrEqual(mCharacter.Gewicht, _MIN_GEWICHT_ELF, "Elf zu dünn");
                    Assert.LessOrEqual(mCharacter.Gewicht, _MAX_GEWICHT_ELF, "Elf zu dick");
                    break;

                case Races.Berggnom:
                case Races.Waldgnom:
                    Assert.GreaterOrEqual(mCharacter.Gewicht, _MIN_GEWICHT_GNOM, "Gnom zu dünn");
                    Assert.LessOrEqual(mCharacter.Gewicht, _MAX_GEWICHT_GNOM, "Gnom zu dick");
                    break;

                case Races.Halbling:
                    Assert.GreaterOrEqual(mCharacter.Gewicht, _MIN_GEWICHT_HALBLING, "Halbling zu dünn");
                    Assert.LessOrEqual(mCharacter.Gewicht, _MAX_GEWICHT_HALBLING, "Halbling zu dick");
                    break;

                case Races.Zwerg:
                    Assert.GreaterOrEqual(mCharacter.Gewicht, _MIN_GEWICHT_ZWERG, "Zwerg zu dünn: ");
                    Assert.LessOrEqual(mCharacter.Gewicht, _MAX_GEWICHT_ZWERG, "Zwerg zu dick");
                    break;

                default:
                    break;
                }
            }
        } catch (AssertionException aEx) {
            Debug.Log(aEx.ToString());
            Assert.Fail();
        }
    }
Example #15
0
    public void TestAusdauerBonus()
    {
        mCharacter.Spezies = Races.Mensch;
        CharacterEngine.ComputeBasisKo(this.mCharacter);         //Stärke
        CharacterEngine.ComputeBasisGs(this.mCharacter);         //Gs
        CharacterEngine.ComputeAbgeleiteteEigenschaften(this.mCharacter);

        int AusB = this.mCharacter.AusB;

        Assert.LessOrEqual(AusB, _MAX_AUSB);
    }
    public void SetHandCharacter()
    {
        Toolbox globalVars = Toolbox.Instance;

        if (inHandText.text != "")
        {
            int w20 = Convert.ToInt32(inHandWurf.text);
            globalVars.mCharacter.hand = CharacterEngine.GetHandfromWurf(w20);
            Debug.Log(globalVars.mCharacter.ToString());
        }
    }
Example #17
0
    public void TestSchadensBonus()
    {
        mCharacter.Spezies = Races.Mensch;
        CharacterEngine.ComputeBasisSt(this.mCharacter);         //Stärke
        CharacterEngine.ComputeBasisGs(this.mCharacter);         //Gs
        CharacterEngine.ComputeAbgeleiteteEigenschaften(this.mCharacter);

        int SchB = this.mCharacter.SchB;

        Assert.LessOrEqual(SchB, _MAX_SCHB);
    }
    public void TestPersönlicheAusstrahlung()
    {
        mCharacter.Spezies  = Races.Mensch;
        mCharacter.Archetyp = AbenteuerTyp.BN;         //egal
        CharacterEngine.ComputeBasisIn(this.mCharacter);
        CharacterEngine.ComputeErscheinung(this.mCharacter);
        CharacterEngine.ComputePsychisch(this.mCharacter);

        Assert.GreaterOrEqual(mCharacter.pA, _MIN_D100);
        Assert.LessOrEqual(mCharacter.pA, _MAX_D100);
    }
    public void SetAPLPCompute()
    {
        Toolbox globalVars = Toolbox.Instance;

        //Berechne-> und speicher in Charakter
        CharacterEngine.ComputeAPLP(globalVars.mCharacter);

        inAP.text = globalVars.mCharacter.AP.ToString();
        inLP.text = globalVars.mCharacter.LP.ToString();

        Debug.Log(globalVars.mCharacter.ToString());
    }
Example #20
0
    public void TestZaubern()
    {
        this.mCharacter.Spezies  = Races.Mensch;        //Rasse gleichgültig
        this.mCharacter.Archetyp = AbenteuerTyp.As;

        for (int i = 0; i < 10; i++)
        {
            CharacterEngine.ComputeBasisZt(this.mCharacter);
            CharacterEngine.ComputeNaturGegebenI(this.mCharacter);
            Assert.AreEqual(_ZAUB_KÄMPFER, this.mCharacter.Zaubern);
        }
    }
    public void TestIntelligenzZaubertalentElf()
    {
        this._mCharacter.Spezies = Races.Elf;

        int In = CharacterEngine.ComputeBasisIn(this._mCharacter);

        Assert.GreaterOrEqual(In, this._IN_MIN_ELF, "Elfenintelligenz zu gering");

        int Zt = CharacterEngine.ComputeBasisZt(this._mCharacter);

        Assert.GreaterOrEqual(In, this._ZT_MIN_ELF, "Elfentzaubertalent zu gering");
    }
Example #22
0
    public void TestAbwehr()
    {
        this.mCharacter.Spezies = Races.Mensch;         //Rasse gleichgültig

        for (int i = 0; i < 10; i++)
        {
            CharacterEngine.ComputeBasisGw(this.mCharacter);
            CharacterEngine.ComputeNaturGegebenI(this.mCharacter);
            Assert.LessOrEqual(this.mCharacter.Abwehr, _MAX_ABW);
            Assert.GreaterOrEqual(this.mCharacter.Abwehr, _MIN_ABW);
        }
    }
    public void SetResistenzenCompute()
    {
        Toolbox globalVars = Toolbox.Instance;

        //Berechne-> und speicher in Charakter
        CharacterEngine.ComputeResistenzen(globalVars.mCharacter);

        inResPsy.text = globalVars.mCharacter.resPsy.ToString();
        inResPhy.text = globalVars.mCharacter.resPhy.ToString();
        inResPhk.text = globalVars.mCharacter.resPhk.ToString();

        Debug.Log(globalVars.mCharacter.ToString());
    }
    public void SetStandCharacter()
    {
        Toolbox globalVars = Toolbox.Instance;

        globalVars.InstantiateLernplanHelpers();          //Bereite Lernplanhelper vor!

        if (inStandText.text != "")
        {
            int w100 = Convert.ToInt32(inStandWurf.text);
            globalVars.mCharacter.Schicht = CharacterEngine.GetStandfromWurf(w100);
            Debug.Log(globalVars.mCharacter.ToString());
        }
    }
    public void SetPsycheCompute()
    {
        Toolbox globalVars = Toolbox.Instance;

        //Berechne-> und speicher in Charakter
        CharacterEngine.ComputePsychisch(globalVars.mCharacter);

        inpA.text = globalVars.mCharacter.pA.ToString();
        inSb.text = globalVars.mCharacter.Sb.ToString();
        inWk.text = globalVars.mCharacter.Wk.ToString();

        Debug.Log(globalVars.mCharacter.ToString());
    }
Example #26
0
 // Use this for initialization
 void  Start()
 {
     Engine    = GetComponent <CharacterEngine>();
     Gravity   = Engine.Movement.Gravity;
     OriginalX = transform.position.x;
     if (WallSlideEffect)
     {
         WallSlideEffect.SetActive(false);
     }
     if (DashEffect)
     {
         DashEffect.SetActive(false);
     }
 }
Example #27
0
        private void frmMain_Load(object sender, EventArgs e)
        {
            CharacterEngine.SetCharacterEngineMessageHandlerLogging(LogLevel.Info);
            CharacterEngine.SetCharacterEngineLogDirectory(@"C:\Users\ZACH-GAMING\AppData\Local\ZachLogs\CharacterEngine\InternalLogging", LogLevel.Max);
            CharacterEngine.SetCharacterEngineThreadCount(3);

            engine = CharacterEngine.CreateCharacterEngine();

            engine.SetInteractionLogDirectory(@"C:\Users\ZACH-GAMING\AppData\Local\ZachLogs\CharacterEngine\InternalLogging");
            engine.SetModelDirectory(@"C:\Users\ZACH-GAMING\Documents\Visual Studio 2017\Projects\CharacterEngineTest\CharacterEngineTest\models");
            engine.SetScriptDirectory(@"C:\Users\ZACH-GAMING\Documents\Visual Studio 2017\Projects\CharacterEngineTest\CharacterEngineTest\scripts");
            engine.SetProjectIdentifier("Test-v0.1");

            var interaction = engine.CreateUserNonverbalInteraction(NonverbalType.WalkingAway);
        }
    // Use this for initialization
    public void SetErscheinungCompute()
    {
        Toolbox globalVars = Toolbox.Instance;

        //Berechne-> und speicher in Charakter
        CharacterEngine.ComputeErscheinung(globalVars.mCharacter);

        inB.text        = globalVars.mCharacter.B.ToString();
        inGroesse.text  = globalVars.mCharacter.Groesse.ToString();
        inGewicht.text  = globalVars.mCharacter.Gewicht.ToString();
        inAussehen.text = globalVars.mCharacter.Aussehen.ToString();


        Debug.Log(globalVars.mCharacter.ToString());
    }
Example #29
0
    public void TestLPsForAllRaces()
    {
        var races = Enum.GetValues(typeof(Races));

        try {
            foreach (Races race in races)
            {
                mCharacter.Spezies = race;
                CharacterEngine.ComputeBasisKo(this.mCharacter);
                CharacterEngine.ComputeAPLP(this.mCharacter);

                switch (mCharacter.Spezies)
                {
                case Races.Mensch:
                    Assert.GreaterOrEqual(mCharacter.LP, _MIN_LP_MENSCH, "Mensch zu wenig LP");
                    Assert.LessOrEqual(mCharacter.LP, _MAX_LP_MENSCH, "Mensch zu viel LP");
                    break;

                case Races.Elf:
                    Assert.GreaterOrEqual(mCharacter.LP, _MIN_LP_ELF, "Elf zu wenig LP");
                    Assert.LessOrEqual(mCharacter.LP, _MAX_LP_ELF, "Elf zu viel LP");
                    break;

                case Races.Berggnom:
                case Races.Waldgnom:
                    Assert.GreaterOrEqual(mCharacter.LP, _MIN_LP_GNOM, "Gnom zu wenig LP");
                    Assert.LessOrEqual(mCharacter.LP, _MAX_LP_GNOM, "Gnom zu viel LP");
                    break;

                case Races.Halbling:
                    Assert.GreaterOrEqual(mCharacter.LP, _MIN_LP_HALBLING, "Halbling zu wenig LP");
                    Assert.LessOrEqual(mCharacter.LP, _MAX_LP_HALBLING, "Halbling zu viel LP");
                    break;

                case Races.Zwerg:
                    Assert.GreaterOrEqual(mCharacter.LP, _MIN_LP_ZWERG, "Zwerg zu wenig LP");
                    Assert.LessOrEqual(mCharacter.LP, _MAX_LP_ZWERG, "Zwerg zu viel LP");
                    break;

                default:
                    break;
                }
            }
        } catch (AssertionException aEx) {
            Debug.Log(aEx.ToString());
            Assert.Fail();
        }
    }
    public void SetNaturCompute()
    {
        Toolbox globalVars = Toolbox.Instance;

        //Berechne-> und speicher in Charakter
        CharacterEngine.ComputeNaturGegebenI(globalVars.mCharacter);

        inAnB.text     = globalVars.mCharacter.AnB.ToString();
        inAbB.text     = globalVars.mCharacter.AbB.ToString();
        inZauB.text    = globalVars.mCharacter.ZauB.ToString();
        inZaubern.text = globalVars.mCharacter.Zaubern.ToString();
        inAbwehr.text  = globalVars.mCharacter.Abwehr.ToString();
        inRaufen.text  = globalVars.mCharacter.Raufen.ToString();

        Debug.Log(globalVars.mCharacter.ToString());
    }