forked from MagicBane/Server
zerg mechanic overhaul
This commit is contained in:
@@ -2,6 +2,7 @@ package engine.gameManager;
|
||||
|
||||
import engine.objects.Bane;
|
||||
import engine.objects.Guild;
|
||||
import engine.objects.Mine;
|
||||
import engine.objects.PlayerCharacter;
|
||||
|
||||
public class ZergManager {
|
||||
@@ -9,33 +10,33 @@ public class ZergManager {
|
||||
float multiplier = 1.0f;
|
||||
switch(count){
|
||||
case 1:
|
||||
multiplier += 0.80f;
|
||||
break;
|
||||
case 2:
|
||||
multiplier += 0.80f;
|
||||
break;
|
||||
case 3:
|
||||
multiplier += 0.50f;
|
||||
break;
|
||||
case 4:
|
||||
multiplier += 0.20f;
|
||||
break;
|
||||
case 5:
|
||||
multiplier += 0.0f;
|
||||
break;
|
||||
case 3:
|
||||
multiplier += 0.55f;
|
||||
break;
|
||||
case 4:
|
||||
multiplier += 0.2f;
|
||||
break;
|
||||
case 6:
|
||||
multiplier -= 0.2f;
|
||||
multiplier -= 0.20f;
|
||||
break;
|
||||
case 7:
|
||||
multiplier -= 0.35f;
|
||||
multiplier -= 0.40f;
|
||||
break;
|
||||
case 8:
|
||||
multiplier -= 0.50f;
|
||||
break;
|
||||
case 9:
|
||||
multiplier -= 0.750f;
|
||||
multiplier -= 0.60f;
|
||||
break;
|
||||
default:
|
||||
multiplier -= 1.0f;
|
||||
multiplier -= 0.80f;
|
||||
break;
|
||||
}
|
||||
ChatManager.chatSystemInfo(pc,"Zerg Multiplier Set: " + multiplier);
|
||||
if(multiplier == 0.0f)
|
||||
return 1.0f;
|
||||
else
|
||||
@@ -232,10 +233,19 @@ public class ZergManager {
|
||||
}
|
||||
|
||||
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.0f) {
|
||||
if(Mine.getMine(source.mineAppliedID)._playerMemory.contains(source.getObjectUUID()) == false ){
|
||||
source.ZergMultiplier = 1.0f;
|
||||
}
|
||||
}
|
||||
if(target.ZergMultiplier == 0.0f) {
|
||||
if(Mine.getMine(source.mineAppliedID)._playerMemory.contains(target.getObjectUUID()) == false){
|
||||
target.ZergMultiplier = 1.0f;
|
||||
}
|
||||
}
|
||||
if(source.ZergMultiplier == target.ZergMultiplier){
|
||||
return 1.0f;
|
||||
}
|
||||
if(source.ZergMultiplier > 0 && target.ZergMultiplier > 0){
|
||||
if(source.ZergMultiplier > target.ZergMultiplier) {
|
||||
return 1 + (target.ZergMultiplier - source.ZergMultiplier);
|
||||
|
||||
@@ -735,6 +735,7 @@ public class Mine extends AbstractGameObject {
|
||||
player.ZergMultiplier = ZergManager.getMultiplier20Man(count,player);
|
||||
break;
|
||||
}
|
||||
player.mineAppliedID = this.getObjectUUID();
|
||||
} else{
|
||||
player.ZergMultiplier = 1.0f; //something went wrong reset to default until next cycle
|
||||
}
|
||||
|
||||
@@ -177,6 +177,7 @@ public class PlayerCharacter extends AbstractCharacter {
|
||||
public boolean isBoxed = false;
|
||||
|
||||
public float ZergMultiplier = 1.0f;
|
||||
public int mineAppliedID = 0;
|
||||
/**
|
||||
* No Id Constructor
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user