public PlayerStats(CharacterClassStats character, Item[] items, LinkedList <Item> traitList, int[] ups) { characterClass = character; equippedItems = new Item[GlobalVariables.trinketSlots + GlobalVariables.weaponSlots]; if (items.Length > 6) { Debug.LogWarning("Attempting to make a PlayerStats struct with more than 6 equipped items"); } for (int x = 0; x < equippedItems.Length && x < items.Length; x++) { if (x < 2 && items[x].itemType == ItemType.Weapon) { equippedItems[x] = items[x]; } if (x >= 2 && items[x].itemType == ItemType.Trinket) { equippedItems[x] = items[x]; } } traits = new LinkedList <Item>(); foreach (Item trait in traitList) { traits.AddLast(trait); } upgrades = new int[GlobalVariables.visibleTraitCount]; System.Array.Copy(ups, upgrades, upgrades.Length); //maybe add a list and randomly chose one name = "Steve"; }
public void Setup(PlayerStats pStats) { System.Array.Copy(pStats.upgrades, upgrades, GlobalVariables.visibleTraitCount); charClass = pStats.characterClass; maxHealth = new IntStat(pStats.characterClass.maxHealth); for (int x = 0; x < pStats.upgrades[(int)PlayerStats.UpgradeIndex.Health]; x++) { maxHealth.AddModifier(GlobalVariables.healthPerUpgrade); } currentHealth = maxHealth.GetStat(); healthBar.SetMaxHealth(maxHealth.GetStat()); attackPower = new IntStat(pStats.characterClass.attackPower); for (int x = 0; x < pStats.upgrades[(int)PlayerStats.UpgradeIndex.AttackPower]; x++) { attackPower.AddModifier(GlobalVariables.attackPerUpgrade); } magicPower = new IntStat(pStats.characterClass.magicPower); for (int x = 0; x < pStats.upgrades[(int)PlayerStats.UpgradeIndex.MagicPower]; x++) { magicPower.AddModifier(GlobalVariables.magicPerUpgrade); } resistance = new FloatStat(pStats.characterClass.resistance); for (int x = 0; x < pStats.upgrades[(int)PlayerStats.UpgradeIndex.Resistance]; x++) { resistance.AddModifier(GlobalVariables.resistancePerUpgrade); } moveSpeed = new IntStat(pStats.characterClass.movespeed); for (int x = 0; x < pStats.upgrades[(int)PlayerStats.UpgradeIndex.Movespeed]; x++) { moveSpeed.AddModifier(GlobalVariables.movePerUpgrade); } knockbackAmplification = new IntStat(pStats.characterClass.knockbackApplication); knockbackResistance = new FloatStat(pStats.characterClass.knockbackResistance); jumpHeight = new IntStat(pStats.characterClass.jumpHeight); doubleJumps = new IntStat(pStats.characterClass.doubleJumps); dashCooldown = new IntStat(pStats.characterClass.dashCooldown); dodgeChance = new FloatStat(pStats.characterClass.dodgeChance); /* throws an error * for(int x = 0; x < GlobalVariables.trinketSlots; x++) * { * foreach(StatModifier statMod in ((Trinket)pStats.equippedItems[x + GlobalVariables.weaponSlots]).modifiers) * { * ApplyModifier(statMod.stat, statMod.percent, statMod.amount); * } * } */ UpdateStatText(); }
public PlayerStats(CharacterClassStats character, Item[] items1, LinkedList <Item> traitList, int[] ups, string name) : this(character, items1, traitList, ups) { this.name = name; }