hit roll formula fixed

This commit is contained in:
2024-08-30 20:44:22 -05:00
parent 9cc102ca2a
commit 1a13f3f096
2 changed files with 26 additions and 7 deletions
+13 -4
View File
@@ -663,15 +663,24 @@ public enum CombatManager {
//int roll = ThreadLocalRandom.current().nextInt(100);
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;
if(AbstractCharacter.IsAbstractCharacter(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))
updateAttackTimers((PlayerCharacter) ac, target, true);
+13 -3
View File
@@ -2329,13 +2329,23 @@ public enum PowersManager {
//int roll = ThreadLocalRandom.current().nextInt(100);
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;
if(AbstractCharacter.IsAbstractCharacter(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
if (awo instanceof AbstractCharacter) {
AbstractCharacter tarAc = (AbstractCharacter) awo;