private void LoadBattleData() { #region Character Creation Variables List <BattleCharacter> tempCharacters = new List <BattleCharacter>(); // temporary value int baseMovement = 5; // base this on rarity/level/armortype later TODO int baseHealth = 1824; // temporary value int baseInitiative = 6; #endregion MenuPartyData party = GetMenuPartyData(); int[] partyMemberIds = { party.slotOneCharacterId, party.slotTwoCharacterId, party.slotThreeCharacterId, party.slotFourCharacterId }; foreach (int id in partyMemberIds) { BattleCharacter character = new BattleCharacter(); MenuCharacterData characterData = GetCharacter(id); if (characterData.name != null && characterData.name != "") { // set Name character.name = characterData.name; // set Movement range character.movementRange = baseMovement - (int)Mathf.Floor(characterData.armor / 2); // Light and Medium armor get movement of 5, Heavy gets movement of 4 // set Max HP character.maxHp = (int)Mathf.Floor(baseHealth * (characterData.armor / 10)) + baseHealth; // set Initiative if (characterData.armor == 0) { character.initiative = baseInitiative + (int)Mathf.Floor(Random.value * 20); } else if (characterData.armor == 1) { character.initiative = (baseInitiative + 5) + (int)Mathf.Floor(Random.value * 20); } else if (characterData.armor == 2) { character.initiative = (baseInitiative - 5) + (int)Mathf.Floor(Random.value * 20); } else { Debug.LogError("Can not find out what armor character is wearing"); } // set Damage Mod character.damageMod = 1; character.abilities = LoadAbilities(characterData.weapon); tempCharacters.Add(character); } else { Debug.LogError("character does not exist in party"); } } battleCharacters = tempCharacters; }
private UICharacter CreateUICharacter(MenuCharacterData character, DataController data) { UICharacter member = new UICharacter(); member.id = character.id; member.name = character.name; member.level = FormatCharacterLevel(character.level); if (character.offHand > -1) { member.weapon = GetWeaponName(character.weapon, data) + " / " + GetWeaponName(character.offHand, data); } else { member.weapon = GetWeaponName(character.weapon, data); } member.armor = GetArmorName(character.armor); member.quality = ColorConvertQuality(character.quality); return(member); }