Disease and MCSkill hold MobSkillType instead of int

This commit is contained in:
P0nk
2022-09-03 05:20:54 +02:00
parent fba49e7eec
commit 7a784a7938
4 changed files with 64 additions and 46 deletions

View File

@@ -29,6 +29,7 @@ import net.packet.InPacket;
import net.server.world.Party;
import net.server.world.PartyCharacter;
import server.life.LifeFactory;
import server.life.MobSkillType;
import server.life.Monster;
import server.partyquest.CarnivalFactory;
import server.partyquest.CarnivalFactory.MCSkill;
@@ -102,10 +103,7 @@ public final class MonsterCarnivalHandler extends AbstractPacketHandler {
final Disease dis = skill.getDisease();
Party enemies = c.getPlayer().getParty().getEnemy();
if (skill.targetsAll) {
int hitChance = 0;
if (dis.getDisease() == 121 || dis.getDisease() == 122 || dis.getDisease() == 125 || dis.getDisease() == 126) {
hitChance = (int) (Math.random() * 100);
}
int hitChance = rollHitChance(dis.getMobSkillType());
if (hitChance <= 80) {
for (PartyCharacter mpc : enemies.getPartyMembers()) {
Character mc = mpc.getPlayer();
@@ -179,4 +177,11 @@ public final class MonsterCarnivalHandler extends AbstractPacketHandler {
}
}
}
private int rollHitChance(MobSkillType type) {
return switch (type) {
case DARKNESS, WEAKNESS, POISON, SLOW -> (int) (Math.random() * 100);
default -> 0;
};
}
}