/// <summary> /// Basiseigenschaft: Zaubertalent /// </summary> /// <param name="mChar">M char.</param> public static int ComputeBasisZt(MidgardCharakter mChar) { const int minElf = 61; int aTypID = (int)mChar.Archetyp + 1; //enum nullbasiert int minValueZtFromLE = GetMinValueForAbenteuerTyp(aTypID, 6); //6==Zt //Grundwurf mChar.Zt = Mathf.Max(UnityEngine.Random.Range(1, 101), UnityEngine.Random.Range(1, 101)); //Leiteigenschaften mChar.Zt = RepeatThrowBasisEigenschaft(mChar.Zt, minValueZtFromLE); switch (mChar.Spezies) { case Races.Elf: mChar.Zt = RepeatThrowBasisEigenschaft(mChar.Zt, minElf); break; default: break; } return(mChar.Zt); }
public void ModifySpracheUngewoehnlicheFertigkeiten(List <FachkenntnisRefAllgemein> fachkenntnisse, InventoryItem item, List <InventoryItem> returnListFach) { MidgardCharakter mCharacter = mCharacterHelper.mCharacter; if (item.id == 63 || item.id == 69) { FachkenntnisRefAllgemein fachRef = fachkenntnisse.Where(e => e.id == item.id).ToList()[0]; fachkenntnisse.Remove(fachRef); if (fachRef.sprache != null) { item.name += "-" + fachRef.sprache; if (item.id == 69) //Sprechen: Lösche Sprach items bei zu geringer intelligenz: Sprechen { if (item.cost == 3 && mCharacter.In < 31) { returnListFach.Remove(item); } } else if (item.id == 63) //Schreiben: Lösche Sprache bei zu geringer INtelligenz: Schreiben { if ((item.cost == 1 || item.cost == 2) && mCharacter.In < 21) { returnListFach.Remove(item); } else if (item.cost == 3 && mCharacter.In < 61) { returnListFach.Remove(item); } } } } }
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; } }
/// <summary> /// Basiseigenschaft: Geschicklichkeit /// </summary> /// <param name="mChar">M char.</param> public static int ComputeBasisGs(MidgardCharakter mChar) { const int minHalbling = 61; const int minGnom = 81; //Hole min-Wert für Leiteigenschaft int aTypID = (int)mChar.Archetyp + 1; //enum nullbasiert int minValueGsFromLE = GetMinValueForAbenteuerTyp(aTypID, 2); //2==Gs //Grundwurf mChar.Gs = Mathf.Max(UnityEngine.Random.Range(1, 101), UnityEngine.Random.Range(1, 101)); //Leiteigenschaften mChar.Gs = RepeatThrowBasisEigenschaft(mChar.Gs, minValueGsFromLE); //Anpassung switch (mChar.Spezies) { case Races.Halbling: mChar.Gs = RepeatThrowBasisEigenschaft(mChar.Gs, minHalbling); break; case Races.Berggnom: case Races.Waldgnom: mChar.Gs = RepeatThrowBasisEigenschaft(mChar.Gs, minGnom); break; default: break; } return(mChar.Gs); }
/// <summary> /// Prepares the angeborene fertigkeiten mit den Standardwerten. /// </summary> public static void PrepareAngeboreneFertigkeiten(MidgardCharakter mChar) { //Hole die angeborenen Eigenschaften List <Sinn> sinne = MidgardResourceReader.GetMidgardResource <AngeboreneFertigkeiten>(MidgardResourceReader.MidgardAngeboren).listSinne; mChar.listSinne = sinne; }
public void SerializeMidgardCharacter() { Toolbox globalVars = Toolbox.Instance; MidgardCharakter mChar = globalVars.mCharacter; MidgardCharacterSaveLoad.Save(mChar); }
/// <summary> /// Modifies the waffen for race. /// /// Elfen nutzen zu Beginn auschließlich folgende Waffen {1,2,7,13,14,15,21,23,24,27,58,57,40,42,43,44,45,47,48,51,4,20,22,35,11,16}: /// Anderthalbhänder, id=1 /// Bihänder, id=2 /// Dolch, id=7, /// Handaxt, id=13 /// Kampfstab, id=14 /// Keule, id=15 /// Kurzschwert, id=21 /// Langschwert, id=23 /// Lanze, id=24 /// leichter Speer, id=27 /// Magierstab,id=58 /// Magierstecken, id=57 /// Stoßspeer,id=40 /// Streitkolben,id=42 /// waffenloser Kampf, id=43 /// Werfen, id=44 /// Wurfaxt, id=45 /// Wurfkeule, id=47 /// Wurfmesser, id=48 /// Wurspeer, id=51 /// Bogen, id=4 /// Kurzbogen, id=20 /// Langbogen, id=22 /// Schleuder, id=35 /// großer Schild, id=11 /// kleiner Schild, id=16 /// /// Gnome: {7,13,15,21,27,58,40,42,43,44,45,47,48,49,51,26,3,4,20,35,6,16} /// Dolch, id=7 /// Handaxt,id=13 /// Keule,id=15 /// Kurzschwert, id=21 /// leichter Speer, id=27 /// Magierstab, id=58 /// Stoßspeer, id=40 /// Streitkolben, id=42 /// waffenloser Kampf, id=43 /// Werfen, id=44 /// Wurfaxt,id=45 /// Wurfkeule, id=47 /// Wurfmesser, id=48 /// Wurfpfeil, id=49 /// Wurfspeer, id=51 /// leichte Armbrust, id=26 /// Blasrohr, id=3 /// Bogen, id=4 /// Kurzbogen,id=20 /// Schleuder,id=35 /// Buckler, id=6 /// kleiner Schild, id=16 /// /// Halblinge: {7,13,15,18,21,23,27,58,40,41,43,44,45,47,51,4,20,35,16} /// Dolch, id=7 /// Handaxt, id=13 /// Keule, id=15 /// Kriegshammer,id=18 /// Kurzschwert, id=21 /// Langschwert,id=23 /// leichter Speer,id=27 /// Magierstab, id=58 /// Stoßspeer,id=40 /// Streitaxt, id=41 /// waffenloser Kampf,id=43 /// Werfen, id=44 /// Wurfaxt, id=45 /// Wurfkeule, id=47 /// Wurfmesser, id=48 /// Wurfspeer, id=51 /// Bogen, id=4 /// Kurzbogen, id=20 /// Schleuder, id=35 /// kleiner Schild, id=16 /// /// Zwerge: {1,7,8,12,13,15,54,18,21,23,24,58,28,32,34,38,40,41,39,42,43,44,45,46,47,26,36,3,35,11,16} /// Anderhalbhänder, id=1 /// Dolch, id=7 /// Faustkampf, id=8 /// Handaxt, id=13 /// Hellebarde, id=12 /// Keule,id=15 /// Kriegsflegel, id=54 /// Kriegshammer, id=18 /// Kurzschwert,id=21 /// Langschwert,id=23 /// Lanze,id=24 /// Magierstab, id=58 /// Morgenstern, id=28 /// Peitsche, id=32 /// Schlachtbeil, id=34 /// Stabkeule,id=38 /// Stoßspeer,id=40 /// Streitaxt,id=41 /// Stielhammer, id=39 /// Streitkolben, id=42 /// waffenloser Kampf, id=43 /// Werfen, id=44 /// Wurfaxt,id=45 /// Wurfhammer, id=46 /// Wurfkeule, id=47 /// leichte Armbrust,id=26 /// schwere Armbrust, id=36 /// Blasrohr, id=3 /// Schleuder, id=35 /// großer Schild,id=11 /// kleiner Schild, id=16 /// /// </summary> public void ModifyWaffenForRace() { MidgardCharakter mCharacter = mCharacterHelper.mCharacter; if (mCharacter.Spezies == Races.Elf) { int[] deleteWaffenIds = { 1, 2, 7, 13, 14, 15, 21, 23, 24, 27, 58, 57, 40, 42, 43, 44, 45, 47, 48, 51, 4, 20, 22, 35, 11, 16 }; DeleteWaffenFromLernplan(deleteWaffenIds); } else if (mCharacter.Spezies == Races.Halbling) { int[] deleteWaffenIds = { 7, 13, 15, 18, 21, 23, 27, 58, 40, 41, 43, 44, 45, 47, 51, 4, 20, 35, 16 }; DeleteWaffenFromLernplan(deleteWaffenIds); } else if (mCharacter.Spezies == Races.Zwerg) { int[] deleteWaffenIds = { 1, 7, 8, 12, 13, 15, 54, 18, 21, 23, 24, 58, 28, 32, 34, 38, 40, 41, 39, 42, 43, 44, 45, 46, 47, 26, 36, 3, 35, 11, 16 }; DeleteWaffenFromLernplan(deleteWaffenIds); } else if (mCharacter.Spezies == Races.Berggnom || mCharacter.Spezies == Races.Waldgnom) { int[] deleteWaffenIds = { 7, 13, 15, 21, 27, 58, 40, 42, 43, 44, 45, 47, 48, 49, 51, 26, 3, 4, 20, 35, 6, 16 }; DeleteWaffenFromLernplan(deleteWaffenIds); } }
//it's static so we can call it from anywhere public static bool Save(MidgardCharakter mCharacter) { bool successSerialize = true; MidgardCharacterSaveLoad.midgardSavings.savedCharacters.Add(mCharacter); successSerialize = SerializeFile(); return(successSerialize); }
//it's static so we can call it from anywhere public static bool SaveChosen(MidgardCharakter mCharacter) { bool successSerialize = true; MidgardCharacterSaveLoad.midgardSavings.chosenCharakter = mCharacter; successSerialize = SerializeFile(); return(successSerialize); }
public void SetCharacterDescription() { Toolbox globalVars = Toolbox.Instance; MidgardCharakter mChar = globalVars.mCharacter; mChar.CharacterName = inCharName.text; mChar.CharacterBeschreibung = inCharBeschreibung.text; }
/// <summary> /// Computes the erscheinung quick. /// </summary> /// <param name="mChar">M char.</param> public static void ComputePsychisch(MidgardCharakter mChar) { ComputePA(mChar); ComputeWkSb(mChar); //Minimum immer -> Achtung pA muss bei gewissen A-Typen-Min-Werte einhalten mChar.pA = Mathf.Max(1, mChar.pA); mChar.Sb = Mathf.Max(1, mChar.Sb); mChar.Wk = Mathf.Max(1, mChar.Wk); }
/// <summary> /// Würfle Händigkeit ohne sie im Charakter zu setzen /// </summary> /// <returns></returns> public static int ComputeHandWurf(MidgardCharakter mChar) { int handW20 = UnityEngine.Random.Range(1, 21); if (mChar.Spezies == Races.Berggnom || mChar.Spezies == Races.Waldgnom) { handW20 = 20; } return(handW20); }
// Use this for initialization public virtual void Start() { Toolbox globalVars = Toolbox.Instance; mCharacter = globalVars.mCharacter; characterHelper = globalVars.mCharacterHelper; //Lade Charaktere-> Neue werden on top auf alte gespeichert MidgardCharacterSaveLoad.Load(); SetCharacterValues(); }
public void LoadMidgardCharacter() { MidgardCharacterSaveLoad.Load(); MidgardCharakter mCharLoaded = MidgardCharacterSaveLoad.savedCharacters [0]; Assert.AreEqual(mCharacter.St, mCharLoaded.St); Assert.AreEqual(mCharacter.fertigkeiten[0].name, mCharLoaded.fertigkeiten[0].name); Assert.AreEqual(mCharacter.waffenFertigkeiten[0].name, mCharLoaded.waffenFertigkeiten[0].name); Assert.AreEqual(mCharacter.zauberFormeln[0].name, mCharLoaded.zauberFormeln[0].name); }
/// <summary> /// Fills the panel fachkenntnisse. /// </summary> public override void FillPanel() { Toolbox globalVars = Toolbox.Instance; MidgardCharakter mCharacter = globalVars.mCharacter; //Prepare listItems List <InventoryItem> listItems = mCharacter.fertigkeiten; ConfigurePrefab(listItems); }
public void SetTypAndSex() { Toolbox globalVars = Toolbox.Instance; MidgardCharakter mCharacter = globalVars.mCharacter; //Lädt die relevante ID für die ausgewählten optionstext int AbID = ObjectXMLHelper.GetChosenOptionIndex(AbTyp.captionText.text, MidgardResourceReader.GetMidgardResource <AbenteurerTypen> (MidgardResourceReader.MidgardAbenteurerTypen).listAbenteurerTypen); mCharacter.Archetyp = (AbenteuerTyp)AbID - 1; //Achtung enum nullbasiert mCharacter.Sex = (Geschlecht)SexTyp.value; }
void Start() { Toolbox globalVars = Toolbox.Instance; mCharacterChosen = globalVars.mCharacter; SetChosenCharaterNameSheet(); HandleScrollBoxes boxFiller = GetComponent <HandleScrollBoxes> (); boxFiller.FillFertigkeiten(); }
public AllgemeinWissenLoader() { mCharacterHelper = Toolbox.Instance.mCharacterHelper; mCharacter = Toolbox.Instance.mCharacter; midgardFertigkeiten = Toolbox.Instance.MidgardFertigkeiten; midgardWaffenFertigkeiten = Toolbox.Instance.MidgardWaffenFertigkeiten; allgemeinWissen = Toolbox.Instance.MidgardAllgemeinwissen; lernPlanModifier = new LernplanModify(); lernPlanFachWaffen = new LernPlanFachWaffen(); }
public SetSpeciesTest() { _mCharacter = new MidgardCharakter(); this._ANZAHLRASSEN = 6; this._ANZAHL_ABENTEUERERTYPEN_PRO_MENSCH = 30; this._ANZAHL_ABENTEUERERTYPEN_PRO_ELF = 8; this._ANZAHL_ABENTEUERERTYPEN_PRO_BERGGNOM = 9; this._ANZAHL_ABENTEUERERTYPEN_PRO_WALDGNOM = this._ANZAHL_ABENTEUERERTYPEN_PRO_BERGGNOM; this._ANZAHL_ABENTEUERERTYPEN_PRO_HALBLING = 7; this._ANZAHL_ABENTEUERERTYPEN_PRO_ZWERG = 9; }
public void SaveChosenCaracter() { Toolbox globalVars = Toolbox.Instance; mCharacterChosen = globalVars.mCharacter; if (mCharacterChosen != null) { MidgardCharacterSaveLoad.SaveChosen(mCharacterChosen); SetChosenCharaterNameSheet(); } }
/// <summary> /// Fills the panel fachkenntnisse. /// </summary> public override void FillPanel() { Toolbox globalVars = Toolbox.Instance; MidgardCharakter mCharacter = globalVars.mCharacter; //Prepare listItems List <InventoryItem> listItems = mCharacter.zauberFormeln; listItems.AddRange(mCharacter.zauberLieder); listItems.AddRange(mCharacter.zauberSalze); ConfigurePrefab(listItems); }
void DeleteFertigkeitFromCharacter(InventoryItem item) { string type = item.type; MidgardCharakter mCharacter = Toolbox.Instance.mCharacter; if (type == "Fach") { mCharacter.fertigkeiten.Remove(item); } else if (type.Contains("waffe")) { mCharacter.waffenFertigkeiten.Remove(item); } }
public void SetHerkunft() { MidgardCharakter mCharacter = Toolbox.Instance.mCharacter; string herkunft = dropHerkunft.captionText.text; if (herkunft == "Stadt") { mCharacter.StadtLand = StadtLandFluss.Stadt; } else { mCharacter.StadtLand = StadtLandFluss.Land; } }
/// <summary> /// Creates the inventory item from the string for a name (charactername) /// </summary> /// <returns>The inventory item.</returns> /// <param name="name">Name.</param> private CharacterInventoryItem CreateInventoryItem(MidgardCharakter charakter) { string name = charakter.CharacterName; if (name == null || name.Length == 0) { name = UNNAMED; } CharacterInventoryItem newItem = new CharacterInventoryItem(); newItem.name = name; newItem.mCharacter = charakter; return(newItem); }
/// <summary> /// Computes the APLP quick. /// </summary> /// <param name="mChar">M char.</param> public static void ComputeAPLP(MidgardCharakter mChar) { const int APMIN = 4; mChar.AP = UnityEngine.Random.Range(1, 7) + 3 + mChar.AusB; if (mChar.Archetyp == AbenteuerTyp.BN || mChar.Archetyp == AbenteuerTyp.BS || mChar.Archetyp == AbenteuerTyp.BW || mChar.Archetyp == AbenteuerTyp.Kr || mChar.Archetyp == AbenteuerTyp.Soe || mChar.Archetyp == AbenteuerTyp.Wa) { mChar.AP += 1; } else if (mChar.Archetyp == AbenteuerTyp.Be || mChar.Archetyp == AbenteuerTyp.Dr || mChar.Archetyp == AbenteuerTyp.Hl || mChar.Archetyp == AbenteuerTyp.Hx || mChar.Archetyp == AbenteuerTyp.Ma || mChar.Archetyp == AbenteuerTyp.PF || mChar.Archetyp == AbenteuerTyp.PHa || mChar.Archetyp == AbenteuerTyp.PHe || mChar.Archetyp == AbenteuerTyp.PK || mChar.Archetyp == AbenteuerTyp.PM || mChar.Archetyp == AbenteuerTyp.PT || mChar.Archetyp == AbenteuerTyp.PW || mChar.Archetyp == AbenteuerTyp.Th) { mChar.AP -= 1; } mChar.LP = Mathf.FloorToInt(mChar.Ko / 10) + UnityEngine.Random.Range(1, 7) + 4; switch (mChar.Spezies) { case Races.Elf: mChar.LP += 1; break; case Races.Halbling: mChar.AP -= 1; mChar.LP -= 2; break; case Races.Zwerg: mChar.LP += 1; break; case Races.Berggnom: case Races.Waldgnom: mChar.AP -= 2; mChar.LP -= 4; break; default: break; } //Mindestens 4 AP! mChar.AP = Mathf.Max(mChar.AP, APMIN); }
/// <summary> /// Bei Zwergen muss Baukunde geklickt werden. /// </summary> /// <param name="globalVars">Global variables.</param> void PreSelectZwerge(Toolbox globalVars) { //Bei Zwergen muss Baukunde direkt geklickt werden MidgardCharakter mCharacter = globalVars.mCharacter; if (mCharacter.Spezies == Races.Zwerg) { InventoryItemDisplay[] arrayItemDisplayFach = inventoryDisplayPrefab.GetComponentsInChildren <InventoryItemDisplay> (); foreach (var itemDisplayFach in arrayItemDisplayFach) { if (itemDisplayFach.nameItem.text == "Baukunde") { itemDisplayFach.Click(); } } } }
public void SetCharacterSpecies() { Toolbox globalVars = Toolbox.Instance; MidgardCharakter mCharacter = globalVars.mCharacter; Rassen midgardRassen = MidgardResourceReader.GetMidgardResource <Rassen> (MidgardResourceReader.MidgardRassen); //Achtung: Hole die ID der Rasse int rassenID = ObjectXMLHelper.GetChosenOptionIndex(DropRasse.captionText.text, midgardRassen.rassenListe); mCharacter.Spezies = (Races)rassenID - 1; //Achtung: enum o-basiert //Jetzt müsssen die Optionen für die nächste Dropdown gesetzt werden: Wähle dazu die Abenteuertypen mit der entsprechenden RassenID List <AbenteurerTyp> listeTypen = ObjectXMLHelper.GetMidgardObjectAByIndexB <AbenteurerTyp, RasseRef>(MidgardResourceReader.GetMidgardResource <AbenteurerTypen> (MidgardResourceReader.MidgardAbenteurerTypen).listAbenteurerTypen, rassenID); ObjectXMLHelper.FillDropBoxMidgardObject <AbenteurerTyp> (listeTypen, DropATyp); }
public override void DeleteFertigkeitFromCharacter(InventoryItem item) { string type = item.type; MidgardCharakter mCharacter = Toolbox.Instance.mCharacter; if (type == ("Zauberformel")) { mCharacter.zauberFormeln.Remove(item); } else if (type == ("Zaubersalz")) { mCharacter.zauberSalze.Remove(item); } else if (type == ("Zauberlied")) { mCharacter.zauberLieder.Remove(item); } }
/// <summary> /// Basiseigenschaft: Stärke /// </summary> /// <param name="mChar">M char.</param> public static int ComputeBasisSt(MidgardCharakter mChar) { const int maxElf = 90; const int maxHalbling = 80; const int minZwerg = 61; const int maxGnom = 60; //Hole min-Wert für Leiteigenschaft int aTypID = (int)mChar.Archetyp + 1; //enum nullbasiert int minValueStFromLE = GetMinValueForAbenteuerTyp(aTypID, 1); //1==St //Grundwurf -> 2 Würfe simuliert mChar.St = Mathf.Max(UnityEngine.Random.Range(1, 101), UnityEngine.Random.Range(1, 101)); //Leiteigenschaften mChar.St = RepeatThrowBasisEigenschaft(mChar.St, minValueStFromLE); //Anpassung switch (mChar.Spezies) { case Races.Elf: mChar.St = Mathf.Min(mChar.St, maxElf); break; case Races.Halbling: mChar.St = Mathf.Min(mChar.St, maxHalbling); break; case Races.Zwerg: mChar.St = RepeatThrowBasisEigenschaft(mChar.St, minZwerg); break; case Races.Berggnom: case Races.Waldgnom: mChar.St = Mathf.Min(maxGnom, mChar.St); break; default: break; } return(mChar.St); }
/// <summary> /// Computes the persönliche Ausstrahlung of the Character. /// Achtung bei Händler (Hl), Glücksritter (Gl), Ba (Barde) oder Tiermeister (Tm) muss die pA mind. 61 betragen /// </summary> /// <param name="mChar">M char.</param> static void ComputePA(MidgardCharakter mChar) { const int minPA = 61; mChar.pA = Mathf.Min(UnityEngine.Random.Range(1, 101) + 3 * (Mathf.FloorToInt(mChar.In / 10 + mChar.Aussehen / 10)) - 30, 100); switch (mChar.Archetyp) { case AbenteuerTyp.Hä: case AbenteuerTyp.Gl: case AbenteuerTyp.Ba: case AbenteuerTyp.Tm: mChar.pA = Mathf.Max(minPA, mChar.pA); break; default: break; } }