Zerg multiplier reduction method

This commit is contained in:
2024-03-01 19:15:27 -06:00
parent 6a4e0e32cc
commit 9b555c0259
7 changed files with 45 additions and 21 deletions
@@ -14,6 +14,7 @@ import engine.Enum.GameObjectType;
import engine.Enum.ModType;
import engine.Enum.SourceType;
import engine.gameManager.ChatManager;
import engine.gameManager.ZergManager;
import engine.jobs.AbstractEffectJob;
import engine.jobs.DamageOverTimeJob;
import engine.net.AbstractNetMsg;
@@ -176,8 +177,8 @@ public class HealthEffectModifier extends AbstractEffectModifier {
if (!ac.isAlive())
return;
if(source.getObjectType().equals(GameObjectType.PlayerCharacter)){
modAmount *= ((PlayerCharacter)source).ZergMultiplier;
if(ac.getObjectType().equals(GameObjectType.PlayerCharacter) && ac.combatTarget.getObjectType().equals(GameObjectType.PlayerCharacter)){
modAmount *= ZergManager.getReducedZergMultiplier((PlayerCharacter)ac,(PlayerCharacter)ac.combatTarget);
}
int powerID = 0, effectID = 0;
@@ -14,6 +14,7 @@ import engine.Enum.DamageType;
import engine.Enum.ModType;
import engine.Enum.SourceType;
import engine.gameManager.ChatManager;
import engine.gameManager.ZergManager;
import engine.jobs.AbstractEffectJob;
import engine.jobs.DamageOverTimeJob;
import engine.net.DispatchMessage;
@@ -157,8 +158,8 @@ public class ManaEffectModifier extends AbstractEffectModifier {
skipImmune = true;
}
}
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
modAmount *= ((PlayerCharacter)source).ZergMultiplier;
if(ac.getObjectType().equals(Enum.GameObjectType.PlayerCharacter) && ac.combatTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
modAmount *= ZergManager.getReducedZergMultiplier((PlayerCharacter)ac,(PlayerCharacter)ac.combatTarget);
}
PlayerBonuses bonus = ac.getBonuses();
if (!skipImmune && bonus.getFloat(ModType.BlackMantle, SourceType.Heal) >= trains) {
@@ -14,6 +14,7 @@ import engine.Enum.DamageType;
import engine.Enum.ModType;
import engine.Enum.SourceType;
import engine.gameManager.ChatManager;
import engine.gameManager.ZergManager;
import engine.jobs.AbstractEffectJob;
import engine.jobs.DamageOverTimeJob;
import engine.net.DispatchMessage;
@@ -153,8 +154,8 @@ public class StaminaEffectModifier extends AbstractEffectModifier {
skipImmune = true;
}
}
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
modAmount *= ((PlayerCharacter)source).ZergMultiplier;
if(ac.getObjectType().equals(Enum.GameObjectType.PlayerCharacter) && ac.combatTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
modAmount *= ZergManager.getReducedZergMultiplier((PlayerCharacter)ac,(PlayerCharacter)ac.combatTarget);
}
PlayerBonuses bonus = ac.getBonuses();
if (!skipImmune && bonus.getFloat(ModType.BlackMantle, SourceType.Heal) >= trains) {
@@ -14,6 +14,7 @@ import engine.Enum.DamageType;
import engine.Enum.ModType;
import engine.Enum.SourceType;
import engine.gameManager.ChatManager;
import engine.gameManager.ZergManager;
import engine.math.Vector3fImmutable;
import engine.net.AbstractNetMsg;
import engine.net.DispatchMessage;
@@ -213,7 +214,9 @@ public class TransferStatPowerAction extends AbstractPowerAction {
// put it back between min and max
damage += min;
damage *= ((PlayerCharacter) source).ZergMultiplier;
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter) && source.combatTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
damage *= ZergManager.getReducedZergMultiplier((PlayerCharacter)source,(PlayerCharacter)source.combatTarget);
}
}
// Apply any power effect modifiers (such as stances)