hit roll formula fixed
This commit is contained in:
@@ -663,15 +663,24 @@ public enum CombatManager {
|
|||||||
//int roll = ThreadLocalRandom.current().nextInt(100);
|
//int roll = ThreadLocalRandom.current().nextInt(100);
|
||||||
DeferredPowerJob dpj = null;
|
DeferredPowerJob dpj = null;
|
||||||
|
|
||||||
int atrRoll = ThreadLocalRandom.current().nextInt(ac.level * 10,(int)atr);
|
int max = (int)atr;
|
||||||
|
int min = (int)(max * 0.5f);
|
||||||
|
if(max < min){
|
||||||
|
min = max - 1;
|
||||||
|
}
|
||||||
|
int atrRoll = ThreadLocalRandom.current().nextInt(min,max);
|
||||||
int defRoll = 0;
|
int defRoll = 0;
|
||||||
if(AbstractCharacter.IsAbstractCharacter(target)){
|
if(AbstractCharacter.IsAbstractCharacter(target)){
|
||||||
AbstractCharacter tar = (AbstractCharacter) target;
|
AbstractCharacter tar = (AbstractCharacter) target;
|
||||||
defRoll = ThreadLocalRandom.current().nextInt(tar.level * 10,tar.defenseRating);
|
max = tar.defenseRating;
|
||||||
|
min = (int)(max * 0.5f);
|
||||||
|
if(max < min){
|
||||||
|
min = max - 1;
|
||||||
|
}
|
||||||
|
defRoll = ThreadLocalRandom.current().nextInt(min,max);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (atrRoll > defRoll) {
|
||||||
if (atrRoll < defRoll) {
|
|
||||||
|
|
||||||
if (ac.getObjectType().equals(GameObjectType.PlayerCharacter))
|
if (ac.getObjectType().equals(GameObjectType.PlayerCharacter))
|
||||||
updateAttackTimers((PlayerCharacter) ac, target, true);
|
updateAttackTimers((PlayerCharacter) ac, target, true);
|
||||||
|
|||||||
@@ -2329,13 +2329,23 @@ public enum PowersManager {
|
|||||||
//int roll = ThreadLocalRandom.current().nextInt(100);
|
//int roll = ThreadLocalRandom.current().nextInt(100);
|
||||||
|
|
||||||
boolean disable = true;
|
boolean disable = true;
|
||||||
int atrRoll = ThreadLocalRandom.current().nextInt(pc.level * 10,(int)atr);
|
int max = (int)atr;
|
||||||
|
int min = (int)(max * 0.5f);
|
||||||
|
if(max < min){
|
||||||
|
min = max - 1;
|
||||||
|
}
|
||||||
|
int atrRoll = ThreadLocalRandom.current().nextInt(min,max);
|
||||||
int defRoll = 0;
|
int defRoll = 0;
|
||||||
if(AbstractCharacter.IsAbstractCharacter(awo)){
|
if(AbstractCharacter.IsAbstractCharacter(awo)){
|
||||||
AbstractCharacter tar = (AbstractCharacter) awo;
|
AbstractCharacter tar = (AbstractCharacter) awo;
|
||||||
defRoll = ThreadLocalRandom.current().nextInt(tar.level * 10,tar.defenseRating);
|
max = tar.defenseRating;
|
||||||
|
min = (int)(max * 0.5f);
|
||||||
|
if(max < min){
|
||||||
|
min = max - 1;
|
||||||
|
}
|
||||||
|
defRoll = ThreadLocalRandom.current().nextInt(min,max);
|
||||||
}
|
}
|
||||||
if (atrRoll < defRoll) {
|
if (atrRoll > defRoll) {
|
||||||
// Hit, check if dodge kicked in
|
// Hit, check if dodge kicked in
|
||||||
if (awo instanceof AbstractCharacter) {
|
if (awo instanceof AbstractCharacter) {
|
||||||
AbstractCharacter tarAc = (AbstractCharacter) awo;
|
AbstractCharacter tarAc = (AbstractCharacter) awo;
|
||||||
|
|||||||
Reference in New Issue
Block a user