Ejemplo n.º 1
0
 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";
 }
Ejemplo n.º 2
0
    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();
    }
Ejemplo n.º 3
0
 public PlayerStats(CharacterClassStats character, Item[] items1, LinkedList <Item> traitList, int[] ups, string name) : this(character, items1, traitList, ups)
 {
     this.name = name;
 }