Exemple #1
0
    void Awake()
    {
        if (gold == null)
        {
            gold          = new ObservedValue <int>(0);
            lootGold      = new ObservedValue <int>(0);
            experience    = new ObservedValue <int>(0);
            level         = new ObservedValue <int>(1);
            totalDistance = new ObservedValue <float>(0);
            health        = new ObservedValue <int>(100);
        }
        else
        {
            gold          = new ObservedValue <int>(gold.Value);
            lootGold      = new ObservedValue <int>(lootGold.Value);
            experience    = new ObservedValue <int>(experience.Value);
            level         = new ObservedValue <int>(level.Value);
            totalDistance = new ObservedValue <float>(totalDistance.Value);
            health        = new ObservedValue <int>(health.Value);
        }
        crit           = new ObservedValue <int>(0);
        attackStrength = 5 + level.Value + equippedWeapon.baseAttack;

        if (defenseModifier == 0)
        {
            defenseModifier = 1;
        }
        else
        {
            defenseModifier = equippedArmor.attributeValue;
        }

        maxHealth  = 100 + 10 * level.Value;
        critFactor = 4 + Mathf.RoundToInt((equippedWeapon.critModifier - 1f) * 40);

        loadPlayer();

        if (equippedWeapon.Equals(ItemList.noItem) || equippedWeapon.Equals(default(item)))
        {
            equipWeapon(ItemList.itemMasterList[ItemList.WOOD_SWORD]);
        }

        if (died)
        {
            health.Value = maxHealth / 2;
            lootGold     = new ObservedValue <int>(0);
        }

        if (GameState.atCamp)
        {
            gold.Value    += lootGold.Value;
            lootGold.Value = 0;
        }

        savePlayer();
        instance = this;
    }
Exemple #2
0
    public void acceptItem()
    {
        if (currentItem.Equals(ItemList.noItem) || currentItem.Equals(default(item))) {
            print("No item selected");
            return;
        }

        if(currentItem.price > Player.gold.Value) {
            StartCoroutine(showNotEnoughGold());
        } else {
            Player.takeGold(currentItem.price);
            Inventory.items.Add(currentItem);
            StartCoroutine(buyItemFeedback());
        }
    }
Exemple #3
0
 void saveEquippedItems()
 {
     if (!equippedWeapon.Equals(default(item)) &&
         !equippedWeapon.Equals(ItemList.noItem))
     {
         PlayerPrefs.SetString(EQUIPPED_WEAPON, equippedWeapon.name);
     }
     if (!equippedArmor.Equals(default(item)) &&
         !equippedArmor.Equals(ItemList.noItem))
     {
         PlayerPrefs.SetString(EQUIPPED_ARMOR, equippedArmor.name);
     }
     if (!equippedAccessory.Equals(default(item)) &&
         !equippedAccessory.Equals(ItemList.noItem))
     {
         PlayerPrefs.SetString(EQUIPPED_ACCESSORY, equippedAccessory.name);
     }
 }