Rename and clean up MapleStatEffect
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user