Beispiel #1
0
        public void CanParseWeaponRange()
        {
            var p    = new WeaponParser(PoEItemData.Weapon.SWORD_REBUKE_OF_THE_VAAL);
            var item = p.Parse();

            Assert.AreEqual(9, item.WeaponRange);
        }
Beispiel #2
0
        public void CanParseLocalCritChance()
        {
            var p    = new WeaponParser(PoEItemData.Weapon.SWORD_REBUKE_OF_THE_VAAL);
            var item = p.Parse();

            Assert.AreEqual(5.55, item.CriticalStrikeChance);
        }
Beispiel #3
0
        public void CanParseWeaponType()
        {
            var p    = new WeaponParser(PoEItemData.Weapon.SWORD_REBUKE_OF_THE_VAAL);
            var item = p.Parse();

            Assert.AreEqual("One Handed Sword", item.Type);
        }
Beispiel #4
0
        public void CanParseAttacksPerSecond()
        {
            var p    = new WeaponParser(PoEItemData.Weapon.SWORD_REBUKE_OF_THE_VAAL);
            var item = p.Parse();

            Assert.AreEqual(1.55, item.AttacksPerSecond);
        }
Beispiel #5
0
        public void CanParseLightningDamage()
        {
            var p    = new WeaponParser(PoEItemData.Weapon.SWORD_REBUKE_OF_THE_VAAL);
            var item = p.Parse();

            Assert.AreEqual(1, item.LightningDamage.BottomEnd);
            Assert.AreEqual(67, item.LightningDamage.TopEnd);
        }
Beispiel #6
0
        public void CanParseColdDamage()
        {
            var p    = new WeaponParser(PoEItemData.Weapon.SWORD_REBUKE_OF_THE_VAAL);
            var item = p.Parse();

            Assert.AreEqual(26, item.ColdDamage.BottomEnd);
            Assert.AreEqual(35, item.ColdDamage.TopEnd);
        }
Beispiel #7
0
        public void CanParsePhysicalDamage()
        {
            var p    = new WeaponParser(PoEItemData.Weapon.SWORD_REBUKE_OF_THE_VAAL);
            var item = p.Parse();

            Assert.AreEqual(66, item.PhysicalDamage.BottomEnd);
            Assert.AreEqual(122, item.PhysicalDamage.TopEnd);
        }
Beispiel #8
0
        public void CanParseImplicitElementalDamage()
        {
            var p    = new WeaponParser(PoEItemData.Weapon.BOW_SYNTHESISED_RARE);
            var item = p.Parse();

            Assert.AreEqual(2, item.LightningDamage.BottomEnd);
            Assert.AreEqual(27, item.LightningDamage.TopEnd);
        }
Beispiel #9
0
        public void CanParseWeaponItemInfo()
        {
            var p    = new WeaponParser(PoEItemData.Weapon.SWORD_REBUKE_OF_THE_VAAL);
            var item = p.Parse();

            Assert.AreEqual(Rarity.Unique, item.Rarity);
            Assert.AreEqual("Vaal Blade", item.Base);
            Assert.AreEqual("Rebuke of the Vaal", item.Name);
        }
Beispiel #10
0
        public void CanParseItemMods()
        {
            var p    = new WeaponParser(PoEItemData.Weapon.SWORD_REBUKE_OF_THE_VAAL);
            var item = p.Parse();

            Assert.AreEqual(0, item.Quality);
            Assert.AreEqual(64, item.LevelRequirement);
            Assert.AreEqual(113, item.StrengthRequirement);
            Assert.AreEqual(113, item.DexterityRequirement);
            Assert.AreEqual(3, item.Sockets.Sockets);
            Assert.AreEqual(75, item.ItemLevel);
            Assert.AreEqual("+460 to Accuracy Rating", item.ImplicitMods[0].ToString());
            Assert.AreEqual(6, item.ExplicitMods.Length);
        }
Beispiel #11
0
    public static void ExecuteItem(Item item)
    {
        GameObject player = GameObject.Find("Player");

        if (item.type == ItemEffectType.HEAL)
        {
            PlayerHealth playerHealth = player.GetComponent <PlayerHealth>();
            playerHealth.GainHealth(item.itemEffectQuantity);
        }

        if (item.type == ItemEffectType.BUFFDAMAGE)
        {
            WeaponMods mods = player.GetComponent <WeaponMods>();
            mods.damageBuffs += 1;
        }

        if (item.type == ItemEffectType.WEAPON)
        {
            PlayerChargeWeaponControl chargeControl = player.GetComponent <PlayerChargeWeaponControl>();
            PlayerWeaponControl       weaponControl = player.GetComponent <PlayerWeaponControl>();

            // add new weapon
            Type weaponType = WeaponParser.GetWeaponScriptFromName(item.name);
            if (weaponType.IsSubclassOf(typeof(ChargeWeaponBase))) // charge based weapon
            {
                chargeControl.enabled = true;
                weaponControl.enabled = false;
                chargeControl.SetWeapon(item.name);
            }
            else // normal weapon
            {
                chargeControl.enabled = false;
                weaponControl.enabled = true;
                weaponControl.SetWeapon(item.name);
            }
        }

        if (item.type == ItemEffectType.PET)
        {
            // TODO remove current pet ever?

            // spawn new pet
            GameObject petPrefab = Resources.Load <GameObject>("Prefabs/" + item.name);
            GameObject.Instantiate(petPrefab, player.transform.position, player.transform.rotation);
        }

        // TODO other item types
    }
Beispiel #12
0
 public void CanParseWeaponWithNoExplicitsAndElementalDamage()
 {
     var p    = new WeaponParser(PoEItemData.Weapon.PILEDRIVER_NORMAL);
     var item = p.Parse();
 }
Beispiel #13
0
 public void CanParseWeaponWithNoImplicitAndElementalDamage()
 {
     var p    = new WeaponParser(PoEItemData.Weapon.DEBEONS_DIRGE);
     var item = p.Parse();
 }