public string Attack() { int Chance; Attack Myattack; int DamgeAfterAc = 0; int weaponDamage = 0; float DamgeModifyer; bool ExtraAttack = false; switch (MyAttackType) { case AttackType.Melee: if (EquipedWeaponItem == null) { weaponDamage = BareHandedDamge; } else { Myattack = EquipedWeaponItem.attack(); weaponDamage = Myattack.GetDamge(); switch (Myattack.GetDamgeTypePhy()) { case PhyDamgeType.None: break; case PhyDamgeType.Blunt: break; case PhyDamgeType.Punture: break; case PhyDamgeType.Slash: break; } switch (Myattack.GetElementalDamageType()) { case MagicDamgeType.None: break; case MagicDamgeType.Earth: break; case MagicDamgeType.Water: break; case MagicDamgeType.Wind: Chance = RNG.Next(0, 100); if (Chance < 26) { ExtraAttack = true; } break; case MagicDamgeType.Fire: weaponDamage += (int)(weaponDamage * 0.5f); break; } } DamgeModifyer = PlayerStats.GetPower().GetDamgeModify(); DamgeAfterAc = (int)((weaponDamage + (weaponDamage * (1 + DamgeModifyer))) - questManager.GetStoryMaker().GetEnemy().DamgeModify()); if (DamgeAfterAc <= 0) { DamgeAfterAc = 0; } questManager.GetStoryMaker().GetEnemy().DealDamge(DamgeAfterAc); break; case AttackType.Magic: if (EquipedMagicAttack == null) { weaponDamage = BareHandedDamge; } else { EquipedMagicAttack.GetDamage(); } DamgeModifyer = PlayerStats.GetIntellegence().GetDamgeModify(); DamgeAfterAc = (int)((weaponDamage + (weaponDamage * (1 + DamgeModifyer))) - questManager.GetStoryMaker().GetEnemy().DamgeModify()); if (DamgeAfterAc <= 0) { DamgeAfterAc = 0; } questManager.GetStoryMaker().GetEnemy().DealDamge(DamgeAfterAc); break; } if (DamgeAfterAc == 0) { return("missed"); } else { return(DamgeAfterAc.ToString()); } }
public float Attack(Player target) { int Chance; Attack Myattack; int DamgeAfterAc = 0; int weaponDamage = 0; float DamgeModifyer; switch (MyAttackType) { case AttackType.Melee: if (EquipedWeaponItem == null) { weaponDamage = BareHandedDamge; } else { Myattack = EquipedWeaponItem.attack(); weaponDamage = Myattack.GetDamge(); switch (Myattack.GetDamgeTypePhy()) { case PhyDamgeType.None: break; case PhyDamgeType.Blunt: break; case PhyDamgeType.Punture: break; case PhyDamgeType.Slash: break; } switch (Myattack.GetElementalDamageType()) { case MagicDamgeType.None: break; case MagicDamgeType.Earth: break; case MagicDamgeType.Water: break; case MagicDamgeType.Wind: Chance = RNG.Next(0, 100); if (Chance < 26) { } break; case MagicDamgeType.Fire: weaponDamage += (int)(weaponDamage * 0.5f); break; } } DamgeModifyer = PlayerStats.GetPower().GetDamgeModify(); DamgeAfterAc = (int)((weaponDamage + (weaponDamage * (1 + DamgeModifyer))) - target.GetAC()); if (DamgeAfterAc <= 0) { DamgeAfterAc = 0; } target.GetStats().GetVitallity().SetHealth(target.GetStats().GetVitallity().GetMyHealth() - DamgeAfterAc); return(DamgeAfterAc); case AttackType.Magic: if (EquipedMagicAttack == null) { weaponDamage = BareHandedDamge; } else { EquipedMagicAttack.GetDamage(); } DamgeModifyer = PlayerStats.GetIntellegence().GetDamgeModify(); DamgeAfterAc = (int)((weaponDamage + (weaponDamage * (1 + DamgeModifyer))) - target.GetAC()); if (DamgeAfterAc <= 0) { DamgeAfterAc = 0; } target.GetStats().GetVitallity().SetHealth(target.GetStats().GetVitallity().GetMyHealth() - DamgeAfterAc); return(DamgeAfterAc); default: return(0); } }