private EntityStatKind SetWeapon(Roguelike.Abilities.AbilityKind kind, Hero Hero, out float originalStatValue) { var auxStat = EntityStatKind.Unset; Weapon wpn = null; string wpnName = ""; switch (kind) { case Roguelike.Abilities.AbilityKind.AxesMastering: wpnName = "axe"; auxStat = EntityStatKind.ChanceToCauseTearApart; break; case Roguelike.Abilities.AbilityKind.BashingMastering: wpnName = "hammer"; auxStat = EntityStatKind.ChanceToCauseStunning; break; case Roguelike.Abilities.AbilityKind.DaggersMastering: wpnName = "war_dagger"; auxStat = EntityStatKind.ChanceToCauseBleeding; break; case Roguelike.Abilities.AbilityKind.SwordsMastering: wpnName = "rusty_sword"; auxStat = EntityStatKind.ChanceToMeleeHit; break; case Roguelike.Abilities.AbilityKind.SceptersMastering: wpnName = "scepter"; auxStat = EntityStatKind.ChanceToCauseElementalAilment; break; case Roguelike.Abilities.AbilityKind.StaffsMastering: wpnName = "staff"; auxStat = EntityStatKind.ChanceToRepeatElementalProjectileAttack; break; case Roguelike.Abilities.AbilityKind.WandsMastering: wpnName = "wand"; auxStat = EntityStatKind.ChanceToElementalProjectileBulkAttack; break; case Roguelike.Abilities.AbilityKind.CrossBowsMastering: wpnName = "crossbow"; auxStat = EntityStatKind.ChanceToCauseBleeding; break; case Roguelike.Abilities.AbilityKind.BowsMastering: wpnName = "bow"; auxStat = EntityStatKind.ChanceToPhysicalProjectileHit; break; default: break; } originalStatValue = Hero.Stats.GetCurrentValue(auxStat); wpn = game.GameManager.LootGenerator.GetLootByAsset(wpnName) as Weapon; Assert.NotNull(wpn); SetHeroEquipment(wpn, CurrentEquipmentKind.Weapon); return(auxStat); }
public void BasicWeaponsMasteryTests(Roguelike.Abilities.AbilityKind ab)//test if melee damage is increased { var game = CreateGame(); var val = TestWeaponKindMastering(ab); }