Rename and clean up MapleStatEffect

This commit is contained in:
P0nk
2021-09-09 22:51:02 +02:00
parent ca4bcd80d1
commit 18e1f6c50b
21 changed files with 225 additions and 231 deletions

View File

@@ -21,7 +21,7 @@
*/
package net.server;
import server.MapleStatEffect;
import server.StatEffect;
/**
*
@@ -29,9 +29,9 @@ import server.MapleStatEffect;
*/
public class PlayerBuffValueHolder {
public int usedTime;
public MapleStatEffect effect;
public StatEffect effect;
public PlayerBuffValueHolder(int usedTime, MapleStatEffect effect) {
public PlayerBuffValueHolder(int usedTime, StatEffect effect) {
this.usedTime = usedTime;
this.effect = effect;
}

View File

@@ -33,7 +33,7 @@ import net.AbstractPacketHandler;
import net.packet.InPacket;
import net.server.PlayerBuffValueHolder;
import scripting.AbstractPlayerInteraction;
import server.MapleStatEffect;
import server.StatEffect;
import server.TimerManager;
import server.life.*;
import server.maps.MapItem;
@@ -58,7 +58,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
public int speed = 4;
public Point position = new Point();
public MapleStatEffect getAttackEffect(Character chr, Skill theSkill) {
public StatEffect getAttackEffect(Character chr, Skill theSkill) {
Skill mySkill = theSkill;
if (mySkill == null) {
mySkill = SkillFactory.getSkill(skill);
@@ -87,7 +87,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
}
Skill theSkill = null;
MapleStatEffect attackEffect = null;
StatEffect attackEffect = null;
final int job = player.getJob().getId();
try {
if (player.isBanned()) {
@@ -299,13 +299,13 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
} else if (attack.skill == ILArchMage.ICE_DEMON) {
monster.setTempEffectiveness(Element.FIRE, ElementalEffectiveness.WEAK, SkillFactory.getSkill(ILArchMage.ICE_DEMON).getEffect(player.getSkillLevel(SkillFactory.getSkill(ILArchMage.ICE_DEMON))).getDuration() * 1000);
} else if (attack.skill == Outlaw.HOMING_BEACON || attack.skill == Corsair.BULLSEYE) {
MapleStatEffect beacon = SkillFactory.getSkill(attack.skill).getEffect(player.getSkillLevel(attack.skill));
StatEffect beacon = SkillFactory.getSkill(attack.skill).getEffect(player.getSkillLevel(attack.skill));
beacon.applyBeaconBuff(player, monster.getObjectId());
} else if (attack.skill == Outlaw.FLAME_THROWER) {
if (!monster.isBoss()) {
Skill type = SkillFactory.getSkill(Outlaw.FLAME_THROWER);
if (player.getSkillLevel(type) > 0) {
MapleStatEffect DoT = type.getEffect(player.getSkillLevel(type));
StatEffect DoT = type.getEffect(player.getSkillLevel(type));
MonsterStatusEffect monsterStatusEffect = new MonsterStatusEffect(Collections.singletonMap(MonsterStatus.POISON, 1), type, null, false);
monster.applyStatus(player, monsterStatusEffect, true, DoT.getDuration(), false);
}
@@ -378,7 +378,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
} else if (job == 412 || job == 422 || job == 1411) {
Skill type = SkillFactory.getSkill(player.getJob().getId() == 412 ? 4120005 : (player.getJob().getId() == 1411 ? 14110004 : 4220005));
if (player.getSkillLevel(type) > 0) {
MapleStatEffect venomEffect = type.getEffect(player.getSkillLevel(type));
StatEffect venomEffect = type.getEffect(player.getSkillLevel(type));
for (int i = 0; i < attackCount; i++) {
if (venomEffect.makeChanceResult()) {
if (monster.getVenomMulti() < 3) {
@@ -400,7 +400,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
int skillLevel = player.getSkillLevel(mortalBlow);
if (skillLevel > 0) {
MapleStatEffect mortal = mortalBlow.getEffect(skillLevel);
StatEffect mortal = mortalBlow.getEffect(skillLevel);
if (monster.getHp() <= (monster.getStats().getHp() * mortal.getX()) / 100) {
if (Randomizer.rand(1, 100) <= mortal.getY()) {
map.damageMonster(player, monster, Integer.MAX_VALUE); // thanks Conrad for noticing reduced EXP gain from skill kill
@@ -621,7 +621,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
if(ret.skill != 0) {
Skill skill = SkillFactory.getSkill(ret.skill);
MapleStatEffect effect = skill.getEffect(ret.skilllevel);
StatEffect effect = skill.getEffect(ret.skilllevel);
if (magic) {
// Since the skill is magic based, use the magic formula
@@ -668,7 +668,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
if(comboBuff > 6) {
// Advanced Combo
MapleStatEffect ceffect = SkillFactory.getSkill(advcomboid).getEffect(chr.getSkillLevel(advcomboid));
StatEffect ceffect = SkillFactory.getSkill(advcomboid).getEffect(chr.getSkillLevel(advcomboid));
calcDmgMax = (long) Math.floor(calcDmgMax * (ceffect.getDamage() + 50) / 100 + 0.20 + (comboBuff - 5) * 0.04);
} else {
// Normal Combo
@@ -676,7 +676,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
if(skillLv <= 0 || chr.isGM()) skillLv = SkillFactory.getSkill(oid).getMaxLevel();
if(skillLv > 0) {
MapleStatEffect ceffect = SkillFactory.getSkill(oid).getEffect(skillLv);
StatEffect ceffect = SkillFactory.getSkill(oid).getEffect(skillLv);
calcDmgMax = (long) Math.floor(calcDmgMax * (ceffect.getDamage() + 50) / 100 + Math.floor((comboBuff - 1) * (skillLv / 6)) / 100);
}
}
@@ -697,7 +697,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
if(chr.getEnergyBar() == 15000) {
int energycharge = chr.isCygnus() ? ThunderBreaker.ENERGY_CHARGE : Marauder.ENERGY_CHARGE;
MapleStatEffect ceffect = SkillFactory.getSkill(energycharge).getEffect(chr.getSkillLevel(energycharge));
StatEffect ceffect = SkillFactory.getSkill(energycharge).getEffect(chr.getSkillLevel(energycharge));
calcDmgMax *= (100 + ceffect.getDamage()) / 100;
}

View File

@@ -27,7 +27,7 @@ import config.YamlConfig;
import constants.game.GameConstants;
import constants.skills.*;
import net.packet.InPacket;
import server.MapleStatEffect;
import server.StatEffect;
import tools.PacketCreator;
import tools.Pair;
@@ -78,7 +78,7 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler {
int advcomboid = chr.isCygnus() ? DawnWarrior.ADVANCED_COMBO : Hero.ADVANCED_COMBO;
Skill combo = SkillFactory.getSkill(oid);
Skill advcombo = SkillFactory.getSkill(advcomboid);
MapleStatEffect ceffect;
StatEffect ceffect;
int advComboSkillLevel = chr.getSkillLevel(advcombo);
if (advComboSkillLevel > 0) {
ceffect = advcombo.getEffect(advComboSkillLevel);
@@ -151,7 +151,7 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler {
c.sendPacket(PacketCreator.serverNotice(5, "As you used the secret skill, your energy bar has been reset."));
} else if (attack.skill > 0) {
Skill skill = SkillFactory.getSkill(attack.skill);
MapleStatEffect effect_ = skill.getEffect(chr.getSkillLevel(skill));
StatEffect effect_ = skill.getEffect(chr.getSkillLevel(skill));
if (effect_.getCooldown() > 0) {
if (chr.skillIsCooling(attack.skill)) {
return;

View File

@@ -31,7 +31,7 @@ import constants.skills.FPArchMage;
import constants.skills.ILArchMage;
import net.packet.InPacket;
import net.packet.Packet;
import server.MapleStatEffect;
import server.StatEffect;
import tools.PacketCreator;
public final class MagicDamageHandler extends AbstractDealDamageHandler {
@@ -64,9 +64,9 @@ public final class MagicDamageHandler extends AbstractDealDamageHandler {
Packet packet = PacketCreator.magicAttack(chr, attack.skill, attack.skilllevel, attack.stance, attack.numAttackedAndDamage, attack.allDamage, charge, attack.speed, attack.direction, attack.display);
chr.getMap().broadcastMessage(chr, packet, false, true);
MapleStatEffect effect = attack.getAttackEffect(chr, null);
StatEffect effect = attack.getAttackEffect(chr, null);
Skill skill = SkillFactory.getSkill(attack.skill);
MapleStatEffect effect_ = skill.getEffect(chr.getSkillLevel(skill));
StatEffect effect_ = skill.getEffect(chr.getSkillLevel(skill));
if (effect_.getCooldown() > 0) {
if (chr.skillIsCooling(attack.skill)) {
return;

View File

@@ -27,7 +27,7 @@ import client.processor.action.PetAutopotProcessor;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.ItemInformationProvider;
import server.MapleStatEffect;
import server.StatEffect;
public final class PetAutoPotHandler extends AbstractPacketHandler {
@@ -40,7 +40,7 @@ public final class PetAutoPotHandler extends AbstractPacketHandler {
int itemId = p.readInt();
Character chr = c.getPlayer();
MapleStatEffect stat = ItemInformationProvider.getInstance().getItemEffect(itemId);
StatEffect stat = ItemInformationProvider.getInstance().getItemEffect(itemId);
if (stat.getHp() > 0 || stat.getHpRate() > 0.0) {
float estimatedHp = ((float) chr.getHp()) / chr.getMaxHp();
chr.setAutopotHpAlert(estimatedHp + 0.05f);

View File

@@ -35,7 +35,7 @@ import constants.skills.*;
import net.packet.InPacket;
import net.packet.Packet;
import server.ItemInformationProvider;
import server.MapleStatEffect;
import server.StatEffect;
import tools.PacketCreator;
import tools.Randomizer;
@@ -98,7 +98,7 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
short slot = -1;
int projectile = 0;
short bulletCount = 1;
MapleStatEffect effect = null;
StatEffect effect = null;
if (attack.skill != 0) {
effect = attack.getAttackEffect(chr, null);
bulletCount = effect.getBulletCount();
@@ -205,7 +205,7 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
if (attack.skill != 0) {
Skill skill = SkillFactory.getSkill(attack.skill);
MapleStatEffect effect_ = skill.getEffect(chr.getSkillLevel(skill));
StatEffect effect_ = skill.getEffect(chr.getSkillLevel(skill));
if (effect_.getCooldown() > 0) {
if (chr.skillIsCooling(attack.skill)) {
return;

View File

@@ -30,7 +30,7 @@ import constants.skills.*;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import net.server.Server;
import server.MapleStatEffect;
import server.StatEffect;
import server.life.Monster;
import tools.PacketCreator;
@@ -69,13 +69,13 @@ public final class SpecialMoveHandler extends AbstractPacketHandler {
}
if (skillLevel == 0 || skillLevel != __skillLevel) return;
MapleStatEffect effect = skill.getEffect(skillLevel);
StatEffect effect = skill.getEffect(skillLevel);
if (effect.getCooldown() > 0) {
if (chr.skillIsCooling(skillid)) {
return;
} else if (skillid != Corsair.BATTLE_SHIP) {
int cooldownTime = effect.getCooldown();
if(MapleStatEffect.isHerosWill(skillid) && YamlConfig.config.server.USE_FAST_REUSE_HERO_WILL) {
if(StatEffect.isHerosWill(skillid) && YamlConfig.config.server.USE_FAST_REUSE_HERO_WILL) {
cooldownTime /= 60;
}
@@ -107,7 +107,7 @@ public final class SpecialMoveHandler extends AbstractPacketHandler {
return;
} else if (skillid == Brawler.MP_RECOVERY) {// MP Recovery
Skill s = SkillFactory.getSkill(skillid);
MapleStatEffect ef = s.getEffect(chr.getSkillLevel(s));
StatEffect ef = s.getEffect(chr.getSkillLevel(s));
int lose = chr.safeAddHP(-1 * (chr.getCurrentMaxHp() / ef.getX()));
int gain = -lose * (ef.getY() / 100);

View File

@@ -33,7 +33,7 @@ import client.status.MonsterStatusEffect;
import constants.skills.Outlaw;
import net.packet.InPacket;
import server.ItemInformationProvider;
import server.MapleStatEffect;
import server.StatEffect;
import server.life.Monster;
import server.life.MonsterInformationProvider;
import server.maps.Summon;
@@ -82,7 +82,7 @@ public final class SummonDamageHandler extends AbstractDealDamageHandler {
return;
}
Skill summonSkill = SkillFactory.getSkill(summon.getSkill());
MapleStatEffect summonEffect = summonSkill.getEffect(summon.getSkillLevel());
StatEffect summonEffect = summonSkill.getEffect(summon.getSkillLevel());
p.skip(4);
List<SummonAttackEntry> allDamage = new ArrayList<>();
byte direction = p.readByte();
@@ -127,7 +127,7 @@ public final class SummonDamageHandler extends AbstractDealDamageHandler {
}
}
private static int calcMaxDamage(MapleStatEffect summonEffect, Character player, boolean magic) {
private static int calcMaxDamage(StatEffect summonEffect, Character player, boolean magic) {
double maxDamage;
if (magic) {

View File

@@ -35,7 +35,7 @@ import constants.inventory.ItemConstants;
import constants.skills.Aran;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.MapleStatEffect;
import server.StatEffect;
import server.life.LifeFactory.loseItem;
import server.life.*;
import server.maps.MapObject;
@@ -205,7 +205,7 @@ public final class TakeDamageHandler extends AbstractPacketHandler {
map.broadcastMessage(chr, PacketCreator.damageMonster(oid, bouncedamage), false, true);
attacker.aggroMonsterDamage(chr, bouncedamage);
}
MapleStatEffect bPressure = chr.getBuffEffect(BuffStat.BODY_PRESSURE); // thanks Atoot for noticing an issue on Body Pressure neutralise
StatEffect bPressure = chr.getBuffEffect(BuffStat.BODY_PRESSURE); // thanks Atoot for noticing an issue on Body Pressure neutralise
if (bPressure != null) {
Skill skill = SkillFactory.getSkill(Aran.BODY_PRESSURE);
if (!attacker.alreadyBuffedStats().contains(MonsterStatus.NEUTRALISE)) {
@@ -216,7 +216,7 @@ public final class TakeDamageHandler extends AbstractPacketHandler {
}
}
MapleStatEffect cBarrier = chr.getBuffEffect(BuffStat.COMBO_BARRIER); // thanks BHB for noticing Combo Barrier buff not working
StatEffect cBarrier = chr.getBuffEffect(BuffStat.COMBO_BARRIER); // thanks BHB for noticing Combo Barrier buff not working
if (cBarrier != null) {
damage *= (cBarrier.getX() / 1000.0);
}

View File

@@ -32,7 +32,7 @@ import constants.inventory.ItemConstants;
import net.AbstractPacketHandler;
import net.packet.InPacket;
import server.ItemInformationProvider;
import server.MapleStatEffect;
import server.StatEffect;
import tools.PacketCreator;
/**
@@ -98,7 +98,7 @@ public final class UseItemHandler extends AbstractPacketHandler {
if(toUse.getItemId() != 2022153) {
ii.getItemEffect(toUse.getItemId()).applyTo(chr);
} else {
MapleStatEffect mse = ii.getItemEffect(toUse.getItemId());
StatEffect mse = ii.getItemEffect(toUse.getItemId());
for(Character player : chr.getMap().getCharacters()) {
mse.applyTo(player);
}