Zerg multiplier reduction method
This commit is contained in:
@@ -811,8 +811,8 @@ public enum CombatManager {
|
||||
|
||||
damage = calculateDamage(ac, tarAc, minDamage, maxDamage, damageType, resists);
|
||||
|
||||
if(ac.getObjectType().equals(GameObjectType.PlayerCharacter)){
|
||||
damage *= ((PlayerCharacter)ac).ZergMultiplier;
|
||||
if(ac.getObjectType().equals(GameObjectType.PlayerCharacter) && target.getObjectType().equals(GameObjectType.PlayerCharacter)){
|
||||
damage *= ZergManager.getReducedZergMultiplier((PlayerCharacter)ac,(PlayerCharacter)target);
|
||||
}
|
||||
float d = 0f;
|
||||
|
||||
|
||||
@@ -41,7 +41,6 @@ public class ZergManager {
|
||||
else
|
||||
return multiplier;
|
||||
}
|
||||
|
||||
public static float getMultiplier10Man(int count, PlayerCharacter pc){
|
||||
float multiplier = 1.0f;
|
||||
if(count <=4)
|
||||
@@ -99,7 +98,6 @@ public class ZergManager {
|
||||
else
|
||||
return multiplier;
|
||||
}
|
||||
|
||||
public static float getMultiplier20Man(int count, PlayerCharacter pc){
|
||||
float multiplier = 1.0f;
|
||||
if(count < 10){
|
||||
@@ -177,7 +175,6 @@ public class ZergManager {
|
||||
else
|
||||
return multiplier;
|
||||
}
|
||||
|
||||
public static int getBaneCapSize(Guild defender){
|
||||
int treesInNation = defender.getNation().getSubGuildList().size() + 1;
|
||||
int capSize;
|
||||
@@ -233,4 +230,25 @@ public class ZergManager {
|
||||
else
|
||||
return multiplier;
|
||||
}
|
||||
|
||||
public static float getReducedZergMultiplier(PlayerCharacter source, PlayerCharacter target){
|
||||
if(source.ZergMultiplier == 0.0f)
|
||||
source.ZergMultiplier = 1.0f;
|
||||
if(target.ZergMultiplier == 0.0f)
|
||||
target.ZergMultiplier = 1.0f;
|
||||
if(source.ZergMultiplier > 0 && target.ZergMultiplier > 0){
|
||||
if(source.ZergMultiplier > target.ZergMultiplier) {
|
||||
return 1 + (target.ZergMultiplier - source.ZergMultiplier);
|
||||
} else{
|
||||
return 1.0f;
|
||||
}
|
||||
}else if(source.ZergMultiplier < 0 && target.ZergMultiplier > 0){
|
||||
return source.ZergMultiplier;
|
||||
} else if(source.ZergMultiplier < 0 && target.ZergMultiplier < 0){
|
||||
return source.ZergMultiplier;
|
||||
} else if(source.ZergMultiplier > 0 && target.ZergMultiplier < 0){
|
||||
return source.ZergMultiplier;
|
||||
}
|
||||
return 1.0f;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user