public byte skillCastDmgTypeCalculations(Fightable chr, Fightable target, bool canCrit) { byte dmgType; //successrate to hit if (chr.getAtkSuc() >= target.getDefSuc() || (int)(Randomizer.NextInt(2) / (Math.Pow(2, (float)-(target.getDefSuc() - chr.getAtkSuc()) / 400f))) == 0) { if (chr.getCritRate() >= target.getDefSuc() || (int)(Randomizer.NextInt(2) / (Math.Pow(2, (float)-(target.getDefSuc() - chr.getCritRate()) / 200f))) == 0) { if (canCrit && (int)(Randomizer.NextInt(2) * 50) == 0) { dmgType = 5; } else { dmgType = 2; } } else { dmgType = 1; } } else { dmgType = 0; } return(dmgType); }
public byte skillCastDmgTypeCalculations(Fightable chr, Fightable target, bool canCrit) { byte dmgType; //successrate to hit if(chr.getAtkSuc()>=target.getDefSuc() || (int)(Randomizer.NextInt(2)/(Math.Pow(2,(float)-(target.getDefSuc()-chr.getAtkSuc())/400f)))==0) { if(chr.getCritRate()>=target.getDefSuc() || (int)(Randomizer.NextInt(2)/(Math.Pow(2,(float)-(target.getDefSuc()-chr.getCritRate())/200f)))==0) { if(canCrit && (int)(Randomizer.NextInt(2)*50)==0) { dmgType=5; } else { dmgType=2; } }else{ dmgType=1; } }else{ dmgType=0; } return dmgType; }