MobSkillFactory takes MobSkillType instead of int as id argument

This commit is contained in:
P0nk
2022-09-03 04:52:55 +02:00
parent 66b04969fd
commit fba49e7eec
11 changed files with 60 additions and 72 deletions

View File

@@ -64,10 +64,7 @@ import server.events.Events;
import server.events.RescueGaga;
import server.events.gm.Fitness;
import server.events.gm.Ola;
import server.life.MobSkill;
import server.life.MobSkillFactory;
import server.life.Monster;
import server.life.PlayerNPC;
import server.life.*;
import server.maps.*;
import server.maps.MiniGame.MiniGameResult;
import server.minigame.RockPaperScissor;
@@ -7329,7 +7326,7 @@ public class Character extends AbstractCharacterObject {
final int skilllv = rs.getInt("mobskilllv");
final long length = rs.getInt("length");
MobSkill ms = MobSkillFactory.getMobSkill(skillid, skilllv);
MobSkill ms = MobSkillFactory.getMobSkill(MobSkillType.from(skillid), skilllv);
if (ms != null) {
loadedDiseases.put(disease, new Pair<>(length, ms));
}

View File

@@ -5,6 +5,7 @@ import client.Client;
import client.command.Command;
import server.life.MobSkill;
import server.life.MobSkillFactory;
import server.life.MobSkillType;
import java.util.Collections;
@@ -21,7 +22,8 @@ public class MobSkillCommand extends Command {
String skillId = params[0];
String skillLevel = params[1];
MobSkill mobSkill = MobSkillFactory.getMobSkill(Integer.parseInt(skillId), Integer.parseInt(skillLevel));
MobSkillType type = MobSkillType.from(Integer.parseInt(skillId));
MobSkill mobSkill = MobSkillFactory.getMobSkill(type, Integer.parseInt(skillLevel));
if (mobSkill == null) {
throw new IllegalArgumentException("Mob skill not found. Id: %s, level: %s".formatted(skillId, skillLevel));
}

View File

@@ -29,6 +29,7 @@ import client.Disease;
import client.command.Command;
import server.life.MobSkill;
import server.life.MobSkillFactory;
import server.life.MobSkillType;
import server.maps.MapObject;
import server.maps.MapObjectType;
@@ -51,55 +52,46 @@ public class DebuffCommand extends Command {
MobSkill skill = null;
switch (params[0].toUpperCase()) {
case "SLOW":
case "SLOW" -> {
disease = Disease.SLOW;
skill = MobSkillFactory.getMobSkill(126, 7);
break;
case "SEDUCE":
skill = MobSkillFactory.getMobSkill(MobSkillType.SLOW, 7);
}
case "SEDUCE" -> {
disease = Disease.SEDUCE;
skill = MobSkillFactory.getMobSkill(128, 7);
break;
case "ZOMBIFY":
skill = MobSkillFactory.getMobSkill(MobSkillType.SEDUCE, 7);
}
case "ZOMBIFY" -> {
disease = Disease.ZOMBIFY;
skill = MobSkillFactory.getMobSkill(133, 1);
break;
case "CONFUSE":
skill = MobSkillFactory.getMobSkill(MobSkillType.UNDEAD, 1);
}
case "CONFUSE" -> {
disease = Disease.CONFUSE;
skill = MobSkillFactory.getMobSkill(132, 2);
break;
case "STUN":
skill = MobSkillFactory.getMobSkill(MobSkillType.REVERSE_INPUT, 2);
}
case "STUN" -> {
disease = Disease.STUN;
skill = MobSkillFactory.getMobSkill(123, 7);
break;
case "POISON":
skill = MobSkillFactory.getMobSkill(MobSkillType.STUN, 7);
}
case "POISON" -> {
disease = Disease.POISON;
skill = MobSkillFactory.getMobSkill(125, 5);
break;
case "SEAL":
skill = MobSkillFactory.getMobSkill(MobSkillType.POISON, 5);
}
case "SEAL" -> {
disease = Disease.SEAL;
skill = MobSkillFactory.getMobSkill(120, 1);
break;
case "DARKNESS":
skill = MobSkillFactory.getMobSkill(MobSkillType.SEAL, 1);
}
case "DARKNESS" -> {
disease = Disease.DARKNESS;
skill = MobSkillFactory.getMobSkill(121, 1);
break;
case "WEAKEN":
skill = MobSkillFactory.getMobSkill(MobSkillType.DARKNESS, 1);
}
case "WEAKEN" -> {
disease = Disease.WEAKEN;
skill = MobSkillFactory.getMobSkill(122, 1);
break;
case "CURSE":
skill = MobSkillFactory.getMobSkill(MobSkillType.WEAKNESS, 1);
}
case "CURSE" -> {
disease = Disease.CURSE;
skill = MobSkillFactory.getMobSkill(124, 1);
break;
skill = MobSkillFactory.getMobSkill(MobSkillType.CURSE, 1);
}
}
if (disease == null) {