Rename and clean up MapleMonster
This commit is contained in:
@@ -104,7 +104,7 @@ function friendlyKilled(mob, eim) {
|
||||
}
|
||||
|
||||
function allMonstersDead(eim) {
|
||||
// When invoking unregisterMonster(MapleMonster mob) OR killed
|
||||
// When invoking unregisterMonster(Monster mob) OR killed
|
||||
// Happens only when size = 0
|
||||
}
|
||||
|
||||
|
||||
@@ -63,10 +63,10 @@ import server.events.Events;
|
||||
import server.events.RescueGaga;
|
||||
import server.events.gm.Fitness;
|
||||
import server.events.gm.Ola;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.MaplePlayerNPC;
|
||||
import server.life.MobSkill;
|
||||
import server.life.MobSkillFactory;
|
||||
import server.life.Monster;
|
||||
import server.maps.*;
|
||||
import server.maps.MapleMiniGame.MiniGameResult;
|
||||
import server.minigame.MapleRockPaperScissor;
|
||||
@@ -177,7 +177,7 @@ public class Character extends AbstractCharacterObject {
|
||||
private final List<WeakReference<MapleMap>> lastVisitedMaps = new LinkedList<>();
|
||||
private WeakReference<MapleMap> ownedMap = new WeakReference<>(null);
|
||||
private final Map<Short, QuestStatus> quests;
|
||||
private final Set<MapleMonster> controlled = new LinkedHashSet<>();
|
||||
private final Set<Monster> controlled = new LinkedHashSet<>();
|
||||
private final Map<Integer, String> entered = new LinkedHashMap<>();
|
||||
private final Set<MapleMapObject> visibleMapObjects = Collections.newSetFromMap(new ConcurrentHashMap<>());
|
||||
private final Map<Skill, SkillEntry> skills = new LinkedHashMap<>();
|
||||
@@ -833,7 +833,7 @@ public class Character extends AbstractCharacterObject {
|
||||
}
|
||||
|
||||
for (MapleMapObject mo : this.getMap().getMonsters()) {
|
||||
MapleMonster m = (MapleMonster) mo;
|
||||
Monster m = (Monster) mo;
|
||||
m.aggroUpdateController();
|
||||
}
|
||||
} else {
|
||||
@@ -1815,7 +1815,7 @@ public class Character extends AbstractCharacterObject {
|
||||
}
|
||||
}
|
||||
|
||||
public void controlMonster(MapleMonster monster) {
|
||||
public void controlMonster(Monster monster) {
|
||||
if (cpnLock.tryLock()) {
|
||||
try {
|
||||
controlled.add(monster);
|
||||
@@ -1825,7 +1825,7 @@ public class Character extends AbstractCharacterObject {
|
||||
}
|
||||
}
|
||||
|
||||
public void stopControllingMonster(MapleMonster monster) {
|
||||
public void stopControllingMonster(Monster monster) {
|
||||
if (cpnLock.tryLock()) {
|
||||
try {
|
||||
controlled.remove(monster);
|
||||
@@ -1844,7 +1844,7 @@ public class Character extends AbstractCharacterObject {
|
||||
}
|
||||
}
|
||||
|
||||
public Collection<MapleMonster> getControlledMonsters() {
|
||||
public Collection<Monster> getControlledMonsters() {
|
||||
cpnLock.lock();
|
||||
try {
|
||||
return new ArrayList<>(controlled);
|
||||
@@ -1854,7 +1854,7 @@ public class Character extends AbstractCharacterObject {
|
||||
}
|
||||
|
||||
public void releaseControlledMonsters() {
|
||||
Collection<MapleMonster> controlledMonsters;
|
||||
Collection<Monster> controlledMonsters;
|
||||
|
||||
cpnLock.lock();
|
||||
try {
|
||||
@@ -1864,7 +1864,7 @@ public class Character extends AbstractCharacterObject {
|
||||
cpnLock.unlock();
|
||||
}
|
||||
|
||||
for (MapleMonster monster : controlledMonsters) {
|
||||
for (Monster monster : controlledMonsters) {
|
||||
monster.aggroRedirectController();
|
||||
}
|
||||
}
|
||||
@@ -9613,7 +9613,7 @@ public class Character extends AbstractCharacterObject {
|
||||
}
|
||||
}
|
||||
|
||||
public void showUnderleveledInfo(MapleMonster mob) {
|
||||
public void showUnderleveledInfo(Monster mob) {
|
||||
long curTime = Server.getInstance().getCurrentTime();
|
||||
if (nextWarningTime < curTime) {
|
||||
nextWarningTime = curTime + (60 * 1000); // show underlevel info again after 1 minute
|
||||
|
||||
@@ -58,7 +58,7 @@ import scripting.quest.QuestActionManager;
|
||||
import scripting.quest.QuestScriptManager;
|
||||
import server.ThreadManager;
|
||||
import server.TimerManager;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.FieldLimit;
|
||||
import server.maps.MapleMap;
|
||||
import server.maps.MapleMiniDungeonInfo;
|
||||
@@ -1416,7 +1416,7 @@ public class Client extends ChannelInboundHandlerAdapter {
|
||||
sendPacket(PacketCreator.serverMessage(this.getChannelServer().getServerMessage()));
|
||||
}
|
||||
|
||||
public synchronized void announceBossHpBar(MapleMonster mm, final int mobHash, Packet packet) {
|
||||
public synchronized void announceBossHpBar(Monster mm, final int mobHash, Packet packet) {
|
||||
long timeNow = System.currentTimeMillis();
|
||||
int targetHash = player.getTargetHpBarHash();
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ package client.command.commands.gm1;
|
||||
import client.Character;
|
||||
import client.Client;
|
||||
import client.command.Command;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
|
||||
public class BossHpCommand extends Command {
|
||||
{
|
||||
@@ -36,7 +36,7 @@ public class BossHpCommand extends Command {
|
||||
@Override
|
||||
public void execute(Client c, String[] params) {
|
||||
Character player = c.getPlayer();
|
||||
for(MapleMonster monster : player.getMap().getAllMonsters()) {
|
||||
for(Monster monster : player.getMap().getAllMonsters()) {
|
||||
if(monster != null && monster.isBoss() && monster.getHp() > 0) {
|
||||
long percent = monster.getHp() * 100L / monster.getMaxHp();
|
||||
String bar = "[";
|
||||
|
||||
@@ -26,7 +26,7 @@ package client.command.commands.gm1;
|
||||
import client.Character;
|
||||
import client.Client;
|
||||
import client.command.Command;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
|
||||
public class MobHpCommand extends Command {
|
||||
{
|
||||
@@ -36,7 +36,7 @@ public class MobHpCommand extends Command {
|
||||
@Override
|
||||
public void execute(Client c, String[] params) {
|
||||
Character player = c.getPlayer();
|
||||
for(MapleMonster monster : player.getMap().getAllMonsters()) {
|
||||
for(Monster monster : player.getMap().getAllMonsters()) {
|
||||
if (monster != null && monster.getHp() > 0) {
|
||||
player.yellowMessage(monster.getName() + " (" + monster.getId() + ") has " + monster.getHp() + " / " + monster.getMaxHp() + " HP.");
|
||||
|
||||
|
||||
@@ -26,9 +26,9 @@ package client.command.commands.gm2;
|
||||
import client.Character;
|
||||
import client.Client;
|
||||
import client.command.Command;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.MapleNPC;
|
||||
import server.life.MaplePlayerNPC;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMapObject;
|
||||
|
||||
import java.util.HashSet;
|
||||
@@ -45,7 +45,7 @@ public class WhereaMiCommand extends Command {
|
||||
HashSet<Character> chars = new HashSet<>();
|
||||
HashSet<MapleNPC> npcs = new HashSet<>();
|
||||
HashSet<MaplePlayerNPC> playernpcs = new HashSet<>();
|
||||
HashSet<MapleMonster> mobs = new HashSet<>();
|
||||
HashSet<Monster> mobs = new HashSet<>();
|
||||
|
||||
for (MapleMapObject mmo : player.getMap().getMapObjects()) {
|
||||
if (mmo instanceof MapleNPC) {
|
||||
@@ -54,8 +54,8 @@ public class WhereaMiCommand extends Command {
|
||||
} else if (mmo instanceof Character) {
|
||||
Character mc = (Character) mmo;
|
||||
chars.add(mc);
|
||||
} else if (mmo instanceof MapleMonster) {
|
||||
MapleMonster mob = (MapleMonster) mmo;
|
||||
} else if (mmo instanceof Monster) {
|
||||
Monster mob = (Monster) mmo;
|
||||
if (mob.isAlive()) {
|
||||
mobs.add(mob);
|
||||
}
|
||||
@@ -88,7 +88,7 @@ public class WhereaMiCommand extends Command {
|
||||
|
||||
if (!mobs.isEmpty()) {
|
||||
player.yellowMessage("Monsters on this map:");
|
||||
for (MapleMonster mob : mobs) {
|
||||
for (Monster mob : mobs) {
|
||||
if (mob.isAlive()) {
|
||||
player.dropMessage(5, ">> " + mob.getName() + " - " + mob.getId() + " - Oid: " + mob.getObjectId());
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ package client.command.commands.gm3;
|
||||
import client.Character;
|
||||
import client.Client;
|
||||
import client.command.Command;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
import server.maps.MapleMapObject;
|
||||
import server.maps.MapleMapObjectType;
|
||||
@@ -46,7 +46,7 @@ public class KillAllCommand extends Command {
|
||||
List<MapleMapObject> monsters = map.getMapObjectsInRange(player.getPosition(), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.MONSTER));
|
||||
int count = 0;
|
||||
for (MapleMapObject monstermo : monsters) {
|
||||
MapleMonster monster = (MapleMonster) monstermo;
|
||||
Monster monster = (Monster) monstermo;
|
||||
if (!monster.getStats().isFriendly() && !(monster.getId() >= 8810010 && monster.getId() <= 8810018)) {
|
||||
map.damageMonster(player, monster, Integer.MAX_VALUE);
|
||||
count++;
|
||||
|
||||
@@ -27,7 +27,7 @@ import client.Character;
|
||||
import client.Client;
|
||||
import client.command.Command;
|
||||
import server.life.LifeFactory;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
|
||||
public class SpawnCommand extends Command {
|
||||
{
|
||||
@@ -42,7 +42,7 @@ public class SpawnCommand extends Command {
|
||||
return;
|
||||
}
|
||||
|
||||
MapleMonster monster = LifeFactory.getMonster(Integer.parseInt(params[0]));
|
||||
Monster monster = LifeFactory.getMonster(Integer.parseInt(params[0]));
|
||||
if (monster == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ import client.Character;
|
||||
import client.Client;
|
||||
import client.command.Command;
|
||||
import server.life.LifeFactory;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
|
||||
public class CakeCommand extends Command {
|
||||
{
|
||||
@@ -37,7 +37,7 @@ public class CakeCommand extends Command {
|
||||
@Override
|
||||
public void execute(Client c, String[] params) {
|
||||
Character player = c.getPlayer();
|
||||
MapleMonster monster = LifeFactory.getMonster(9400606);
|
||||
Monster monster = LifeFactory.getMonster(9400606);
|
||||
if (params.length == 1) {
|
||||
double mobHp = Double.parseDouble(params[0]);
|
||||
int newHp = (mobHp <= 0) ? Integer.MAX_VALUE : ((mobHp > Integer.MAX_VALUE) ? Integer.MAX_VALUE : (int) mobHp);
|
||||
|
||||
@@ -28,7 +28,7 @@ import client.Client;
|
||||
import client.command.Command;
|
||||
import net.server.channel.Channel;
|
||||
import server.life.LifeFactory;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
import tools.DatabaseConnection;
|
||||
|
||||
@@ -60,7 +60,7 @@ public class PmobCommand extends Command {
|
||||
int ypos = checkpos.y;
|
||||
int fh = player.getMap().getFootholds().findBelow(checkpos).getId();
|
||||
|
||||
MapleMonster mob = LifeFactory.getMonster(mobId);
|
||||
Monster mob = LifeFactory.getMonster(mobId);
|
||||
if (mob != null && !mob.getName().equals("MISSINGNO")) {
|
||||
mob.setPosition(checkpos);
|
||||
mob.setCy(ypos);
|
||||
|
||||
@@ -28,7 +28,7 @@ import client.Client;
|
||||
import client.command.Command;
|
||||
import net.server.Server;
|
||||
import server.TimerManager;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.life.SpawnPoint;
|
||||
import server.maps.MapleMapObject;
|
||||
import server.maps.MapleMapObjectType;
|
||||
@@ -69,7 +69,7 @@ public class DebugCommand extends Command {
|
||||
case "monster":
|
||||
List<MapleMapObject> monsters = player.getMap().getMapObjectsInRange(player.getPosition(), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.MONSTER));
|
||||
for (MapleMapObject monstermo : monsters) {
|
||||
MapleMonster monster = (MapleMonster) monstermo;
|
||||
Monster monster = (Monster) monstermo;
|
||||
Character controller = monster.getController();
|
||||
player.message("Monster ID: " + monster.getId() + " Aggro target: " + ((controller != null) ? controller.getName() + " Has aggro: " + monster.isControllerHasAggro() + " Knowns aggro: " + monster.isControllerKnowsAboutAggro() : "<none>"));
|
||||
}
|
||||
|
||||
@@ -184,7 +184,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
|
||||
}
|
||||
}
|
||||
for (Integer oned : attack.allDamage.keySet()) {
|
||||
final MapleMonster monster = map.getMonsterByOid(oned);
|
||||
final Monster monster = map.getMonsterByOid(oned);
|
||||
if (monster != null) {
|
||||
double distance = player.getPosition().distanceSq(monster.getPosition());
|
||||
double distanceToDetect = 200000.0;
|
||||
@@ -508,7 +508,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
|
||||
}
|
||||
}
|
||||
|
||||
private static void damageMonsterWithSkill(final Character attacker, final MapleMap map, final MapleMonster monster, final int damage, int skillid, int fixedTime) {
|
||||
private static void damageMonsterWithSkill(final Character attacker, final MapleMap map, final Monster monster, final int damage, int skillid, int fixedTime) {
|
||||
int animationTime;
|
||||
|
||||
if(fixedTime == 0) animationTime = SkillFactory.getSkill(skillid).getAnimationTime();
|
||||
@@ -743,7 +743,7 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
|
||||
int oid = p.readInt();
|
||||
p.skip(14);
|
||||
List<Integer> allDamageNumbers = new ArrayList<>();
|
||||
MapleMonster monster = chr.getMap().getMonsterByOid(oid);
|
||||
Monster monster = chr.getMap().getMonsterByOid(oid);
|
||||
|
||||
if(chr.getBuffEffect(BuffStat.WK_CHARGE) != null) {
|
||||
// Charge, so now we need to check elemental effectiveness
|
||||
|
||||
@@ -30,7 +30,7 @@ import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import server.MapleItemInformationProvider;
|
||||
import server.life.LifeFactory;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMapObject;
|
||||
import server.maps.MapleMapObjectType;
|
||||
import server.quest.MapleQuest;
|
||||
@@ -128,7 +128,7 @@ public final class AdminCommandHandler extends AbstractPacketHandler {
|
||||
int amount = p.readInt();
|
||||
List<MapleMapObject> monsterx = c.getPlayer().getMap().getMapObjectsInRange(c.getPlayer().getPosition(), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.MONSTER));
|
||||
for (int x = 0; x < amount; x++) {
|
||||
MapleMonster monster = (MapleMonster) monsterx.get(x);
|
||||
Monster monster = (Monster) monsterx.get(x);
|
||||
if (monster.getId() == mobToKill) {
|
||||
c.getPlayer().getMap().killMonster(monster, c.getPlayer(), true);
|
||||
}
|
||||
@@ -149,7 +149,7 @@ public final class AdminCommandHandler extends AbstractPacketHandler {
|
||||
c.getPlayer().dropMessage("Monsters HP");
|
||||
List<MapleMapObject> monsters = c.getPlayer().getMap().getMapObjectsInRange(c.getPlayer().getPosition(), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.MONSTER));
|
||||
for (MapleMapObject mobs : monsters) {
|
||||
MapleMonster monster = (MapleMonster) mobs;
|
||||
Monster monster = (Monster) mobs;
|
||||
if (monster.getId() == mobHp) {
|
||||
c.getPlayer().dropMessage(monster.getName() + ": " + monster.getHp());
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ import client.Character;
|
||||
import client.Client;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
|
||||
public final class AutoAggroHandler extends AbstractPacketHandler {
|
||||
@@ -38,7 +38,7 @@ public final class AutoAggroHandler extends AbstractPacketHandler {
|
||||
MapleMap map = player.getMap();
|
||||
int oid = p.readInt();
|
||||
|
||||
MapleMonster monster = map.getMonsterByOid(oid);
|
||||
Monster monster = map.getMonsterByOid(oid);
|
||||
if (monster != null) {
|
||||
monster.aggroAutoAggroUpdate(player);
|
||||
}
|
||||
|
||||
@@ -24,8 +24,8 @@ import client.Client;
|
||||
import constants.game.GameConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.MapleMonsterInformationProvider;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
import tools.FilePrinter;
|
||||
import tools.PacketCreator;
|
||||
@@ -45,7 +45,7 @@ public class FieldDamageMobHandler extends AbstractPacketHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
MapleMonster mob = map.getMonsterByOid(mobOid);
|
||||
Monster mob = map.getMonsterByOid(mobOid);
|
||||
if (mob != null) {
|
||||
if (dmg < 0 || dmg > GameConstants.MAX_FIELD_MOB_DAMAGE) {
|
||||
FilePrinter.printError(FilePrinter.EXPLOITS + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + " tried to use an obstacle on mapid " + map.getId() + " to attack " + MapleMonsterInformationProvider.getInstance().getMobNameFromId(mob.getId()) + " with damage " + dmg);
|
||||
|
||||
@@ -24,7 +24,7 @@ import client.Client;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import server.life.LifeFactory.BanishInfo;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
|
||||
public final class MobBanishPlayerHandler extends AbstractPacketHandler {
|
||||
|
||||
@@ -33,7 +33,7 @@ public final class MobBanishPlayerHandler extends AbstractPacketHandler {
|
||||
int mobid = p.readInt(); // mob banish handling detected thanks to MedicOP
|
||||
|
||||
Character chr = c.getPlayer();
|
||||
MapleMonster mob = chr.getMap().getMonsterById(mobid);
|
||||
Monster mob = chr.getMap().getMonsterById(mobid);
|
||||
|
||||
if (mob != null) {
|
||||
BanishInfo banishInfo = mob.getBanish();
|
||||
|
||||
@@ -25,7 +25,7 @@ import client.Client;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import scripting.event.EventInstanceManager;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
import tools.PacketCreator;
|
||||
import tools.Randomizer;
|
||||
@@ -43,7 +43,7 @@ public final class MobDamageMobFriendlyHandler extends AbstractPacketHandler {
|
||||
int damaged = p.readInt();
|
||||
|
||||
MapleMap map = c.getPlayer().getMap();
|
||||
MapleMonster monster = map.getMonsterByOid(damaged);
|
||||
Monster monster = map.getMonsterByOid(damaged);
|
||||
|
||||
if (monster == null || map.getMonsterByOid(attacker) == null) {
|
||||
return;
|
||||
|
||||
@@ -28,8 +28,8 @@ import client.status.MonsterStatus;
|
||||
import client.status.MonsterStatusEffect;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.MapleMonsterInformationProvider;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
import tools.FilePrinter;
|
||||
import tools.PacketCreator;
|
||||
@@ -52,8 +52,8 @@ public final class MobDamageMobHandler extends AbstractPacketHandler {
|
||||
Character chr = c.getPlayer();
|
||||
|
||||
MapleMap map = chr.getMap();
|
||||
MapleMonster attacker = map.getMonsterByOid(from);
|
||||
MapleMonster damaged = map.getMonsterByOid(to);
|
||||
Monster attacker = map.getMonsterByOid(from);
|
||||
Monster damaged = map.getMonsterByOid(to);
|
||||
|
||||
if (attacker != null && damaged != null) {
|
||||
int maxDmg = calcMaxDamage(attacker, damaged, magic); // thanks Darter (YungMoozi) for reporting unchecked dmg
|
||||
@@ -70,7 +70,7 @@ public final class MobDamageMobHandler extends AbstractPacketHandler {
|
||||
}
|
||||
}
|
||||
|
||||
private static int calcMaxDamage(MapleMonster attacker, MapleMonster damaged, boolean magic) {
|
||||
private static int calcMaxDamage(Monster attacker, Monster damaged, boolean magic) {
|
||||
int attackerAtk, damagedDef, attackerLevel = attacker.getLevel();
|
||||
double maxDamage;
|
||||
if (magic) {
|
||||
@@ -94,7 +94,7 @@ public final class MobDamageMobHandler extends AbstractPacketHandler {
|
||||
return (int) maxDamage;
|
||||
}
|
||||
|
||||
private static int calcModifier(MapleMonster monster, MonsterStatus buff, MonsterStatus nerf) {
|
||||
private static int calcModifier(Monster monster, MonsterStatus buff, MonsterStatus nerf) {
|
||||
int atkModifier;
|
||||
final Map<MonsterStatus, MonsterStatusEffect> monsterStati = monster.getStati();
|
||||
|
||||
|
||||
@@ -24,14 +24,14 @@ package net.server.channel.handlers;
|
||||
import client.Client;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import tools.PacketCreator;
|
||||
|
||||
public final class MonsterBombHandler extends AbstractPacketHandler {
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
int oid = p.readInt();
|
||||
MapleMonster monster = c.getPlayer().getMap().getMonsterByOid(oid);
|
||||
Monster monster = c.getPlayer().getMap().getMonsterByOid(oid);
|
||||
if (!c.getPlayer().isAlive() || monster == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ import net.packet.InPacket;
|
||||
import net.server.world.Party;
|
||||
import net.server.world.PartyCharacter;
|
||||
import server.life.LifeFactory;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.partyquest.MapleCarnivalFactory;
|
||||
import server.partyquest.MapleCarnivalFactory.MCSkill;
|
||||
import server.partyquest.MonsterCarnival;
|
||||
@@ -62,7 +62,7 @@ public final class MonsterCarnivalHandler extends AbstractPacketHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
final MapleMonster mob = LifeFactory.getMonster(mobs.get(num).left);
|
||||
final Monster mob = LifeFactory.getMonster(mobs.get(num).left);
|
||||
MonsterCarnival mcpq = c.getPlayer().getMonsterCarnival();
|
||||
if (mcpq != null) {
|
||||
if (!mcpq.canSummonR() && c.getPlayer().getTeam() == 0 || !mcpq.canSummonB() && c.getPlayer().getTeam() == 1) {
|
||||
|
||||
@@ -25,10 +25,10 @@ import client.Character;
|
||||
import client.Client;
|
||||
import config.YamlConfig;
|
||||
import net.packet.InPacket;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.MapleMonsterInformationProvider;
|
||||
import server.life.MobSkill;
|
||||
import server.life.MobSkillFactory;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
import server.maps.MapleMapObject;
|
||||
import server.maps.MapleMapObjectType;
|
||||
@@ -64,7 +64,7 @@ public final class MoveLifeHandler extends AbstractMovementPacketHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
MapleMonster monster = (MapleMonster) mmo;
|
||||
Monster monster = (Monster) mmo;
|
||||
List<Character> banishPlayers = null;
|
||||
|
||||
byte pNibbles = p.readByte();
|
||||
|
||||
@@ -25,7 +25,7 @@ import client.Character;
|
||||
import client.Client;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMapObject;
|
||||
import tools.PacketCreator;
|
||||
import tools.Pair;
|
||||
@@ -54,7 +54,7 @@ public final class PlayerMapTransitionHandler extends AbstractPacketHandler {
|
||||
|
||||
if (!chr.isHidden()) { // thanks Lame (Conrad) for noticing hidden characters controlling mobs
|
||||
for (MapleMapObject mo : chr.getMap().getMonsters()) { // thanks BHB, IxianMace, Jefe for noticing several issues regarding mob statuses (such as freeze)
|
||||
MapleMonster m = (MapleMonster) mo;
|
||||
Monster m = (Monster) mo;
|
||||
if (m.getSpawnEffect() == 0 || m.getHp() < m.getMaxHp()) { // avoid effect-spawning mobs
|
||||
if (m.getController() == chr) {
|
||||
c.sendPacket(PacketCreator.stopControllingMonster(m.getObjectId()));
|
||||
|
||||
@@ -31,7 +31,7 @@ import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.Server;
|
||||
import server.MapleStatEffect;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import tools.PacketCreator;
|
||||
|
||||
import java.awt.*;
|
||||
@@ -89,7 +89,7 @@ public final class SpecialMoveHandler extends AbstractPacketHandler {
|
||||
int mobOid = p.readInt();
|
||||
byte success = p.readByte();
|
||||
chr.getMap().broadcastMessage(chr, PacketCreator.catchMonster(mobOid, success), false);
|
||||
MapleMonster monster = chr.getMap().getMonsterByOid(mobOid);
|
||||
Monster monster = chr.getMap().getMonsterByOid(mobOid);
|
||||
if (monster != null) {
|
||||
if (!monster.isBoss()) {
|
||||
monster.aggroClearDamages();
|
||||
|
||||
@@ -34,8 +34,8 @@ import constants.skills.Outlaw;
|
||||
import net.packet.InPacket;
|
||||
import server.MapleItemInformationProvider;
|
||||
import server.MapleStatEffect;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.MapleMonsterInformationProvider;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleSummon;
|
||||
import tools.FilePrinter;
|
||||
import tools.PacketCreator;
|
||||
@@ -104,7 +104,7 @@ public final class SummonDamageHandler extends AbstractDealDamageHandler {
|
||||
int maxDmg = calcMaxDamage(summonEffect, player, magic); // thanks Darter (YungMoozi) for reporting unchecked max dmg
|
||||
for (SummonAttackEntry attackEntry : allDamage) {
|
||||
int damage = attackEntry.getDamage();
|
||||
MapleMonster target = player.getMap().getMonsterByOid(attackEntry.getMonsterOid());
|
||||
Monster target = player.getMap().getMonsterByOid(attackEntry.getMonsterOid());
|
||||
if (target != null) {
|
||||
if (damage > maxDmg) {
|
||||
AutobanFactory.DAMAGE_HACK.alert(c.getPlayer(), "Possible packet editing summon damage exploit.");
|
||||
|
||||
@@ -64,7 +64,7 @@ public final class TakeDamageHandler extends AbstractPacketHandler {
|
||||
int pos_x = 0, pos_y = 0, fake = 0;
|
||||
boolean is_pgmr = false, is_pg = true, is_deadly = false;
|
||||
int mpattack = 0;
|
||||
MapleMonster attacker = null;
|
||||
Monster attacker = null;
|
||||
final MapleMap map = chr.getMap();
|
||||
if (damagefrom != -3 && damagefrom != -4) {
|
||||
monsteridfrom = p.readInt();
|
||||
@@ -72,8 +72,8 @@ public final class TakeDamageHandler extends AbstractPacketHandler {
|
||||
|
||||
try {
|
||||
MapleMapObject mmo = map.getMapObject(oid);
|
||||
if(mmo instanceof MapleMonster) {
|
||||
attacker = (MapleMonster) mmo;
|
||||
if(mmo instanceof Monster) {
|
||||
attacker = (Monster) mmo;
|
||||
if(attacker.getId() != monsteridfrom) {
|
||||
attacker = null;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.Server;
|
||||
import server.MapleItemInformationProvider;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import tools.PacketCreator;
|
||||
|
||||
/**
|
||||
@@ -49,7 +49,7 @@ public final class UseCatchItemHandler extends AbstractPacketHandler {
|
||||
int itemId = p.readInt();
|
||||
int monsterid = p.readInt();
|
||||
|
||||
MapleMonster mob = chr.getMap().getMonsterByOid(monsterid);
|
||||
Monster mob = chr.getMap().getMonsterByOid(monsterid);
|
||||
if (chr.getInventory(ItemConstants.getInventoryType(itemId)).countById(itemId) <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ import net.server.audit.locks.MonitoredLockType;
|
||||
import net.server.audit.locks.MonitoredReentrantLock;
|
||||
import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
|
||||
import server.TimerManager;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
import tools.Pair;
|
||||
|
||||
@@ -46,8 +46,8 @@ public class MonsterAggroCoordinator {
|
||||
|
||||
private ScheduledFuture<?> aggroMonitor = null;
|
||||
|
||||
private final Map<MapleMonster, Map<Integer, PlayerAggroEntry>> mobAggroEntries = new HashMap<>();
|
||||
private final Map<MapleMonster, List<PlayerAggroEntry>> mobSortedAggros = new HashMap<>();
|
||||
private final Map<Monster, Map<Integer, PlayerAggroEntry>> mobAggroEntries = new HashMap<>();
|
||||
private final Map<Monster, List<PlayerAggroEntry>> mobSortedAggros = new HashMap<>();
|
||||
|
||||
private final Set<Integer> mapPuppetEntries = new HashSet<>();
|
||||
|
||||
@@ -144,7 +144,7 @@ public class MonsterAggroCoordinator {
|
||||
}
|
||||
}
|
||||
|
||||
public void addAggroDamage(MapleMonster mob, int cid, int damage) { // assumption: should not trigger after dispose()
|
||||
public void addAggroDamage(Monster mob, int cid, int damage) { // assumption: should not trigger after dispose()
|
||||
if (!mob.isAlive()) {
|
||||
return;
|
||||
}
|
||||
@@ -196,17 +196,17 @@ public class MonsterAggroCoordinator {
|
||||
}
|
||||
|
||||
private void runAggroUpdate(int deltaTime) {
|
||||
List<Pair<MapleMonster, Map<Integer, PlayerAggroEntry>>> aggroMobs = new LinkedList<>();
|
||||
List<Pair<Monster, Map<Integer, PlayerAggroEntry>>> aggroMobs = new LinkedList<>();
|
||||
lock.lock();
|
||||
try {
|
||||
for (Entry<MapleMonster, Map<Integer, PlayerAggroEntry>> e : mobAggroEntries.entrySet()) {
|
||||
for (Entry<Monster, Map<Integer, PlayerAggroEntry>> e : mobAggroEntries.entrySet()) {
|
||||
aggroMobs.add(new Pair<>(e.getKey(), e.getValue()));
|
||||
}
|
||||
} finally {
|
||||
lock.unlock();
|
||||
}
|
||||
|
||||
for (Pair<MapleMonster, Map<Integer, PlayerAggroEntry>> am : aggroMobs) {
|
||||
for (Pair<Monster, Map<Integer, PlayerAggroEntry>> am : aggroMobs) {
|
||||
Map<Integer, PlayerAggroEntry> mobAggro = am.getRight();
|
||||
List<PlayerAggroEntry> sortedAggro = mobSortedAggros.get(am.getLeft());
|
||||
|
||||
@@ -289,7 +289,7 @@ public class MonsterAggroCoordinator {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isLeadingCharacterAggro(MapleMonster mob, Character player) {
|
||||
public boolean isLeadingCharacterAggro(Monster mob, Character player) {
|
||||
if (mob.isLeadingPuppetInVicinity()) {
|
||||
return false;
|
||||
} else if (mob.isCharacterPuppetInVicinity(player)) {
|
||||
@@ -337,7 +337,7 @@ public class MonsterAggroCoordinator {
|
||||
}
|
||||
}
|
||||
|
||||
public void removeAggroEntries(MapleMonster mob) {
|
||||
public void removeAggroEntries(Monster mob) {
|
||||
lock.lock();
|
||||
try {
|
||||
mobAggroEntries.remove(mob);
|
||||
|
||||
@@ -961,12 +961,12 @@ public class AbstractPlayerInteraction {
|
||||
}
|
||||
|
||||
public void spawnMonster(int id, int x, int y) {
|
||||
MapleMonster monster = LifeFactory.getMonster(id);
|
||||
Monster monster = LifeFactory.getMonster(id);
|
||||
monster.setPosition(new Point(x, y));
|
||||
getPlayer().getMap().spawnMonster(monster);
|
||||
}
|
||||
|
||||
public MapleMonster getMonsterLifeFactory(int mid) {
|
||||
public Monster getMonsterLifeFactory(int mid) {
|
||||
return LifeFactory.getMonster(mid);
|
||||
}
|
||||
|
||||
|
||||
@@ -42,8 +42,8 @@ import server.ThreadManager;
|
||||
import server.TimerManager;
|
||||
import server.expeditions.Expedition;
|
||||
import server.life.LifeFactory;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.MapleNPC;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
import server.maps.MapleMapManager;
|
||||
import server.maps.MaplePortal;
|
||||
@@ -67,7 +67,7 @@ import java.util.logging.Logger;
|
||||
public class EventInstanceManager {
|
||||
private Map<Integer, Character> chars = new HashMap<>();
|
||||
private int leaderId = -1;
|
||||
private List<MapleMonster> mobs = new LinkedList<>();
|
||||
private List<Monster> mobs = new LinkedList<>();
|
||||
private Map<Character, Integer> killCount = new HashMap<>();
|
||||
private EventManager em;
|
||||
private EventScriptScheduler ess;
|
||||
@@ -431,7 +431,7 @@ public class EventInstanceManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void registerMonster(MapleMonster mob) {
|
||||
public void registerMonster(Monster mob) {
|
||||
if (!mob.getStats().isFriendly()) { //We cannot register moon bunny
|
||||
mobs.add(mob);
|
||||
}
|
||||
@@ -467,7 +467,7 @@ public class EventInstanceManager {
|
||||
leaderId = ldr.getId();
|
||||
}
|
||||
|
||||
public void monsterKilled(final MapleMonster mob, final boolean hasKiller) {
|
||||
public void monsterKilled(final Monster mob, final boolean hasKiller) {
|
||||
int scriptResult = 0;
|
||||
|
||||
sL.lock();
|
||||
@@ -502,19 +502,19 @@ public class EventInstanceManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void friendlyKilled(final MapleMonster mob, final boolean hasKiller) {
|
||||
public void friendlyKilled(final Monster mob, final boolean hasKiller) {
|
||||
try {
|
||||
invokeScriptFunction("friendlyKilled", mob, EventInstanceManager.this, hasKiller);
|
||||
} catch (ScriptException | NoSuchMethodException ex) {} //optional
|
||||
}
|
||||
|
||||
public void friendlyDamaged(final MapleMonster mob) {
|
||||
public void friendlyDamaged(final Monster mob) {
|
||||
try {
|
||||
invokeScriptFunction("friendlyDamaged", EventInstanceManager.this, mob);
|
||||
} catch (ScriptException | NoSuchMethodException ex) {} // optional
|
||||
}
|
||||
|
||||
public void friendlyItemDrop(final MapleMonster mob) {
|
||||
public void friendlyItemDrop(final Monster mob) {
|
||||
try {
|
||||
invokeScriptFunction("friendlyItemDrop", EventInstanceManager.this, mob);
|
||||
} catch (ScriptException | NoSuchMethodException ex) {} // optional
|
||||
@@ -528,7 +528,7 @@ public class EventInstanceManager {
|
||||
});
|
||||
}
|
||||
|
||||
public void reviveMonster(final MapleMonster mob) {
|
||||
public void reviveMonster(final Monster mob) {
|
||||
try {
|
||||
invokeScriptFunction("monsterRevive", EventInstanceManager.this, mob);
|
||||
} catch (ScriptException | NoSuchMethodException ex) {} // optional
|
||||
@@ -555,7 +555,7 @@ public class EventInstanceManager {
|
||||
EventRecallCoordinator.getInstance().storeEventInstance(chr.getId(), this);
|
||||
}
|
||||
|
||||
public void monsterKilled(Character chr, final MapleMonster mob) {
|
||||
public void monsterKilled(Character chr, final Monster mob) {
|
||||
try {
|
||||
final int inc = (int) invokeScriptFunction("monsterValue", EventInstanceManager.this, mob.getId());
|
||||
|
||||
@@ -876,7 +876,7 @@ public class EventInstanceManager {
|
||||
}
|
||||
}
|
||||
|
||||
public MapleMonster getMonster(int mid) {
|
||||
public Monster getMonster(int mid) {
|
||||
return(LifeFactory.getMonster(mid));
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ import server.MapleMarriage;
|
||||
import server.ThreadManager;
|
||||
import server.expeditions.Expedition;
|
||||
import server.life.LifeFactory;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
import server.quest.MapleQuest;
|
||||
import tools.exceptions.EventInstanceInProgressException;
|
||||
@@ -737,7 +737,7 @@ public class EventManager {
|
||||
}
|
||||
}
|
||||
|
||||
public MapleMonster getMonster(int mid) {
|
||||
public Monster getMonster(int mid) {
|
||||
return(LifeFactory.getMonster(mid));
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ import scripting.AbstractPlayerInteraction;
|
||||
import server.MapleItemInformationProvider;
|
||||
import server.TimerManager;
|
||||
import server.life.LifeFactory;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapMonitor;
|
||||
import server.maps.MapleMap;
|
||||
import server.maps.MapleReactor;
|
||||
@@ -287,7 +287,7 @@ public class ReactorActionManager extends AbstractPlayerInteraction {
|
||||
}
|
||||
|
||||
MapleMap map = reactor.getMap();
|
||||
MapleMonster mm = map.getMonsterById(id);
|
||||
Monster mm = map.getMonsterById(id);
|
||||
if(mm != null) {
|
||||
int damage = (int)Math.ceil(mm.getMaxHp() / hitsToKill);
|
||||
Character chr = this.getPlayer();
|
||||
@@ -326,7 +326,7 @@ public class ReactorActionManager extends AbstractPlayerInteraction {
|
||||
public void dispelAllMonsters(int num, int team) { //dispels all mobs, cpq
|
||||
final MCSkill skil = MapleCarnivalFactory.getInstance().getGuardian(num);
|
||||
if (skil != null) {
|
||||
for (MapleMonster mons : getMap().getAllMonsters()) {
|
||||
for (Monster mons : getMap().getAllMonsters()) {
|
||||
if(mons.getTeam() == team) {
|
||||
mons.dispelSkill(skil.getSkill());
|
||||
}
|
||||
|
||||
@@ -38,9 +38,9 @@ import net.server.world.Party;
|
||||
import net.server.world.PartyCharacter;
|
||||
import provider.Data;
|
||||
import provider.DataTool;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.MobSkill;
|
||||
import server.life.MobSkillFactory;
|
||||
import server.life.Monster;
|
||||
import server.maps.*;
|
||||
import server.partyquest.MapleCarnivalFactory;
|
||||
import server.partyquest.MapleCarnivalFactory.MCSkill;
|
||||
@@ -822,7 +822,7 @@ public class MapleStatEffect {
|
||||
if (obj == null || obj.getType() != MapleMapObjectType.MONSTER) {
|
||||
return;
|
||||
}
|
||||
MapleMonster mob = (MapleMonster) obj; // x is absorb percentage
|
||||
Monster mob = (Monster) obj; // x is absorb percentage
|
||||
if (!mob.isBoss()) {
|
||||
int absorbMp = Math.min((int) (mob.getMaxMp() * (getX() / 100.0)), mob.getMp());
|
||||
if (absorbMp > 0) {
|
||||
@@ -1124,7 +1124,7 @@ public class MapleStatEffect {
|
||||
Skill skill_ = SkillFactory.getSkill(sourceid);
|
||||
int i = 0;
|
||||
for (MapleMapObject mo : affected) {
|
||||
MapleMonster monster = (MapleMonster) mo;
|
||||
Monster monster = (Monster) mo;
|
||||
if (isDispel()) {
|
||||
monster.debuffMob(skill_.getId());
|
||||
} else if (isSeal() && monster.isBoss()) { // thanks IxianMace for noticing seal working on bosses
|
||||
|
||||
@@ -31,7 +31,7 @@ import net.server.audit.locks.MonitoredReentrantLock;
|
||||
import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
|
||||
import net.server.channel.Channel;
|
||||
import server.TimerManager;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.Monster;
|
||||
import server.maps.MapleMap;
|
||||
import tools.LogHelper;
|
||||
import tools.PacketCreator;
|
||||
@@ -259,7 +259,7 @@ public class Expedition {
|
||||
}
|
||||
}
|
||||
|
||||
public void monsterKilled(Character chr, MapleMonster mob) {
|
||||
public void monsterKilled(Character chr, Monster mob) {
|
||||
for (int expeditionBoss : EXPEDITION_BOSSES) {
|
||||
if (mob.getId() == expeditionBoss) { //If the monster killed was a boss
|
||||
String timeStamp = new SimpleDateFormat("HH:mm:ss").format(new Date());
|
||||
|
||||
@@ -237,7 +237,7 @@ public class LifeFactory {
|
||||
return new Pair<>(stats, attackInfos);
|
||||
}
|
||||
|
||||
public static MapleMonster getMonster(int mid) {
|
||||
public static Monster getMonster(int mid) {
|
||||
try {
|
||||
MapleMonsterStats stats = monsterStats.get(mid);
|
||||
if (stats == null) {
|
||||
@@ -247,7 +247,7 @@ public class LifeFactory {
|
||||
|
||||
monsterStats.put(mid, stats);
|
||||
}
|
||||
MapleMonster ret = new MapleMonster(mid, stats);
|
||||
Monster ret = new Monster(mid, stats);
|
||||
return ret;
|
||||
} catch (NullPointerException npe) {
|
||||
System.out.println("[SEVERE] MOB " + mid + " failed to load. Issue: " + npe.getMessage() + "\n\n");
|
||||
|
||||
@@ -39,7 +39,7 @@ public class MobAttackInfoFactory {
|
||||
private static Map<String, MobAttackInfo> mobAttacks = new HashMap<>();
|
||||
private static DataProvider dataSource = DataProviderFactory.getDataProvider(WZFiles.MOB);
|
||||
|
||||
public static MobAttackInfo getMobAttackInfo(MapleMonster mob, int attack) {
|
||||
public static MobAttackInfo getMobAttackInfo(Monster mob, int attack) {
|
||||
MobAttackInfo ret = mobAttacks.get(mob.getId() + "" + attack);
|
||||
if (ret != null) {
|
||||
return ret;
|
||||
|
||||
@@ -106,7 +106,7 @@ public class MobSkill {
|
||||
this.limit = limit;
|
||||
}
|
||||
|
||||
public void applyDelayedEffect(final Character player, final MapleMonster monster, final boolean skill, int animationTime) {
|
||||
public void applyDelayedEffect(final Character player, final Monster monster, final boolean skill, int animationTime) {
|
||||
Runnable toRun = () -> {
|
||||
if (monster.isAlive()) {
|
||||
applyEffect(player, monster, skill, null);
|
||||
@@ -117,7 +117,7 @@ public class MobSkill {
|
||||
service.registerOverallAction(monster.getMap().getId(), toRun, animationTime);
|
||||
}
|
||||
|
||||
public void applyEffect(Character player, MapleMonster monster, boolean skill, List<Character> banishPlayers) {
|
||||
public void applyEffect(Character player, Monster monster, boolean skill, List<Character> banishPlayers) {
|
||||
Disease disease = null;
|
||||
Map<MonsterStatus, Integer> stats = new ArrayMap<>();
|
||||
List<Integer> reflection = new LinkedList<>();
|
||||
@@ -147,7 +147,7 @@ public class MobSkill {
|
||||
List<MapleMapObject> objects = getObjectsInRange(monster, MapleMapObjectType.MONSTER);
|
||||
final int hps = (getX() / 1000) * (int) (950 + 1050 * Math.random());
|
||||
for (MapleMapObject mons : objects) {
|
||||
((MapleMonster) mons).heal(hps, getY());
|
||||
((Monster) mons).heal(hps, getY());
|
||||
}
|
||||
} else {
|
||||
monster.heal(getX(), getY());
|
||||
@@ -254,7 +254,7 @@ public class MobSkill {
|
||||
|
||||
Collections.shuffle(summons);
|
||||
for (Integer mobId : summons.subList(0, summonLimit)) {
|
||||
MapleMonster toSpawn = LifeFactory.getMonster(mobId);
|
||||
Monster toSpawn = LifeFactory.getMonster(mobId);
|
||||
if (toSpawn != null) {
|
||||
if (bossRushMap) {
|
||||
toSpawn.disableDrops(); // no littering on BRPQ pls
|
||||
@@ -318,7 +318,7 @@ public class MobSkill {
|
||||
if (stats.size() > 0) {
|
||||
if (lt != null && rb != null && skill) {
|
||||
for (MapleMapObject mons : getObjectsInRange(monster, MapleMapObjectType.MONSTER)) {
|
||||
((MapleMonster) mons).applyMonsterBuff(stats, getX(), getSkillId(), getDuration(), this, reflection);
|
||||
((Monster) mons).applyMonsterBuff(stats, getX(), getSkillId(), getDuration(), this, reflection);
|
||||
}
|
||||
} else {
|
||||
monster.applyMonsterBuff(stats, getX(), getSkillId(), getDuration(), this, reflection);
|
||||
@@ -345,7 +345,7 @@ public class MobSkill {
|
||||
}
|
||||
}
|
||||
|
||||
private List<Character> getPlayersInRange(MapleMonster monster) {
|
||||
private List<Character> getPlayersInRange(Monster monster) {
|
||||
return monster.getMap().getPlayersInRange(calculateBoundingBox(monster.getPosition()));
|
||||
}
|
||||
|
||||
@@ -412,7 +412,7 @@ public class MobSkill {
|
||||
return bounds;
|
||||
}
|
||||
|
||||
private List<MapleMapObject> getObjectsInRange(MapleMonster monster, MapleMapObjectType objectType) {
|
||||
private List<MapleMapObject> getObjectsInRange(Monster monster, MapleMapObjectType objectType) {
|
||||
return monster.getMap().getMapObjectsInBox(calculateBoundingBox(monster.getPosition()), Collections.singletonList(objectType));
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -35,7 +35,7 @@ public class SpawnPoint {
|
||||
private AtomicInteger spawnedMonsters = new AtomicInteger(0);
|
||||
private boolean immobile, denySpawn = false;
|
||||
|
||||
public SpawnPoint(final MapleMonster monster, Point pos, boolean immobile, int mobTime, int mobInterval, int team) {
|
||||
public SpawnPoint(final Monster monster, Point pos, boolean immobile, int mobTime, int mobInterval, int team) {
|
||||
this.monster = monster.getId();
|
||||
this.pos = new Point(pos);
|
||||
this.mobTime = mobTime;
|
||||
@@ -74,8 +74,8 @@ public class SpawnPoint {
|
||||
return true;
|
||||
}
|
||||
|
||||
public MapleMonster getMonster() {
|
||||
MapleMonster mob = new MapleMonster(LifeFactory.getMonster(monster));
|
||||
public Monster getMonster() {
|
||||
Monster mob = new Monster(LifeFactory.getMonster(monster));
|
||||
mob.setPosition(new Point(pos));
|
||||
mob.setTeam(team);
|
||||
mob.setFh(fh);
|
||||
|
||||
@@ -373,7 +373,7 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
public void addSelfDestructive(MapleMonster mob) {
|
||||
public void addSelfDestructive(Monster mob) {
|
||||
if (mob.getStats().selfDestruction() != null) {
|
||||
this.selfDestructives.add(mob.getObjectId());
|
||||
}
|
||||
@@ -624,7 +624,7 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
private byte dropItemsFromMonsterOnMap(List<MonsterDropEntry> dropEntry, Point pos, byte d, int chRate, byte droptype, int mobpos, Character chr, MapleMonster mob) {
|
||||
private byte dropItemsFromMonsterOnMap(List<MonsterDropEntry> dropEntry, Point pos, byte d, int chRate, byte droptype, int mobpos, Character chr, Monster mob) {
|
||||
if(dropEntry.isEmpty()) {
|
||||
return d;
|
||||
}
|
||||
@@ -673,7 +673,7 @@ public class MapleMap {
|
||||
return d;
|
||||
}
|
||||
|
||||
private byte dropGlobalItemsFromMonsterOnMap(List<MonsterGlobalDropEntry> globalEntry, Point pos, byte d, byte droptype, int mobpos, Character chr, MapleMonster mob) {
|
||||
private byte dropGlobalItemsFromMonsterOnMap(List<MonsterGlobalDropEntry> globalEntry, Point pos, byte d, byte droptype, int mobpos, Character chr, Monster mob) {
|
||||
Collections.shuffle(globalEntry);
|
||||
|
||||
Item idrop;
|
||||
@@ -701,7 +701,7 @@ public class MapleMap {
|
||||
return d;
|
||||
}
|
||||
|
||||
private void dropFromMonster(final Character chr, final MapleMonster mob, final boolean useBaseRate) {
|
||||
private void dropFromMonster(final Character chr, final Monster mob, final boolean useBaseRate) {
|
||||
if (mob.dropsDisabled() || !dropsOn) {
|
||||
return;
|
||||
}
|
||||
@@ -738,7 +738,7 @@ public class MapleMap {
|
||||
registerMobItemDrops(droptype, mobpos, chRate, pos, dropEntry, visibleQuestEntry, otherQuestEntry, globalEntry, chr, mob);
|
||||
}
|
||||
|
||||
public void dropItemsFromMonster(List<MonsterDropEntry> list, final Character chr, final MapleMonster mob) {
|
||||
public void dropItemsFromMonster(List<MonsterDropEntry> list, final Character chr, final Monster mob) {
|
||||
if (mob.dropsDisabled() || !dropsOn) {
|
||||
return;
|
||||
}
|
||||
@@ -752,7 +752,7 @@ public class MapleMap {
|
||||
dropItemsFromMonsterOnMap(list, pos, d, chRate, droptype, mobpos, chr, mob);
|
||||
}
|
||||
|
||||
public void dropFromFriendlyMonster(final Character chr, final MapleMonster mob) {
|
||||
public void dropFromFriendlyMonster(final Character chr, final Monster mob) {
|
||||
dropFromMonster(chr, mob, true);
|
||||
}
|
||||
|
||||
@@ -935,7 +935,7 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
private void registerMobItemDrops(byte droptype, int mobpos, int chRate, Point pos, List<MonsterDropEntry> dropEntry, List<MonsterDropEntry> visibleQuestEntry, List<MonsterDropEntry> otherQuestEntry, List<MonsterGlobalDropEntry> globalEntry, Character chr, MapleMonster mob) {
|
||||
private void registerMobItemDrops(byte droptype, int mobpos, int chRate, Point pos, List<MonsterDropEntry> dropEntry, List<MonsterDropEntry> visibleQuestEntry, List<MonsterDropEntry> otherQuestEntry, List<MonsterGlobalDropEntry> globalEntry, Character chr, Monster mob) {
|
||||
MobLootEntry mle = new MobLootEntry(droptype, mobpos, chRate, pos, dropEntry, visibleQuestEntry, otherQuestEntry, globalEntry, chr, mob);
|
||||
|
||||
if(YamlConfig.config.server.USE_SPAWN_LOOT_ON_ANIMATION) {
|
||||
@@ -1154,13 +1154,13 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
public MapleMonster getMonsterById(int id) {
|
||||
public Monster getMonsterById(int id) {
|
||||
objectRLock.lock();
|
||||
try {
|
||||
for (MapleMapObject obj : mapobjects.values()) {
|
||||
if (obj.getType() == MapleMapObjectType.MONSTER) {
|
||||
if (((MapleMonster) obj).getId() == id) {
|
||||
return (MapleMonster) obj;
|
||||
if (((Monster) obj).getId() == id) {
|
||||
return (Monster) obj;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1177,7 +1177,7 @@ public class MapleMap {
|
||||
public int countMonster(int minid, int maxid) {
|
||||
int count = 0;
|
||||
for (MapleMapObject m : getMapObjectsInRange(new Point(0, 0), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.MONSTER))) {
|
||||
MapleMonster mob = (MapleMonster) m;
|
||||
Monster mob = (Monster) m;
|
||||
if (mob.getId() >= minid && mob.getId() <= maxid) {
|
||||
count++;
|
||||
}
|
||||
@@ -1210,10 +1210,10 @@ public class MapleMap {
|
||||
return list;
|
||||
}
|
||||
|
||||
public final List<MapleMonster> getAllMonsters() {
|
||||
List<MapleMonster> list = new LinkedList<>();
|
||||
public final List<Monster> getAllMonsters() {
|
||||
List<Monster> list = new LinkedList<>();
|
||||
for (MapleMapObject mmo : getMonsters()) {
|
||||
list.add((MapleMonster) mmo);
|
||||
list.add((Monster) mmo);
|
||||
}
|
||||
|
||||
return list;
|
||||
@@ -1287,7 +1287,7 @@ public class MapleMap {
|
||||
public int countBosses() {
|
||||
int count = 0;
|
||||
|
||||
for(MapleMonster mob: getAllMonsters()) {
|
||||
for(Monster mob: getAllMonsters()) {
|
||||
if (mob.isBoss()) {
|
||||
count++;
|
||||
}
|
||||
@@ -1296,10 +1296,10 @@ public class MapleMap {
|
||||
return count;
|
||||
}
|
||||
|
||||
public boolean damageMonster(final Character chr, final MapleMonster monster, final int damage) {
|
||||
public boolean damageMonster(final Character chr, final Monster monster, final int damage) {
|
||||
if (monster.getId() == 8800000) {
|
||||
for (MapleMapObject object : chr.getMap().getMapObjects()) {
|
||||
MapleMonster mons = chr.getMap().getMonsterByOid(object.getObjectId());
|
||||
Monster mons = chr.getMap().getMonsterByOid(object.getObjectId());
|
||||
if (mons != null) {
|
||||
if (mons.getId() >= 8800003 && mons.getId() <= 8800010) {
|
||||
return true;
|
||||
@@ -1341,7 +1341,7 @@ public class MapleMap {
|
||||
getWorldServer().dropMessage(6, "[Victory] In a swift stroke of sorts, the crew that has attempted Pink Bean at channel " + channel + " has ultimately defeated it. The Temple of Time shines radiantly once again, the day finally coming back, as the crew that managed to finally conquer it returns victoriously from the battlefield!!");
|
||||
}
|
||||
|
||||
private boolean removeKilledMonsterObject(MapleMonster monster) {
|
||||
private boolean removeKilledMonsterObject(Monster monster) {
|
||||
monster.lockMonster();
|
||||
try {
|
||||
if(monster.getHp() < 0) {
|
||||
@@ -1361,11 +1361,11 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
public void killMonster(final MapleMonster monster, final Character chr, final boolean withDrops) {
|
||||
public void killMonster(final Monster monster, final Character chr, final boolean withDrops) {
|
||||
killMonster(monster, chr, withDrops, 1);
|
||||
}
|
||||
|
||||
public void killMonster(final MapleMonster monster, final Character chr, final boolean withDrops, int animation) {
|
||||
public void killMonster(final Monster monster, final Character chr, final boolean withDrops, int animation) {
|
||||
if (monster == null) {
|
||||
return;
|
||||
}
|
||||
@@ -1412,7 +1412,7 @@ public class MapleMap {
|
||||
boolean makeZakReal = true;
|
||||
Collection<MapleMapObject> objects = getMapObjects();
|
||||
for (MapleMapObject object : objects) {
|
||||
MapleMonster mons = getMonsterByOid(object.getObjectId());
|
||||
Monster mons = getMonsterByOid(object.getObjectId());
|
||||
if (mons != null) {
|
||||
if (mons.getId() >= 8800003 && mons.getId() <= 8800010) {
|
||||
makeZakReal = false;
|
||||
@@ -1424,7 +1424,7 @@ public class MapleMap {
|
||||
MapleMap map = chr.getMap();
|
||||
|
||||
for (MapleMapObject object : objects) {
|
||||
MapleMonster mons = map.getMonsterByOid(object.getObjectId());
|
||||
Monster mons = map.getMonsterByOid(object.getObjectId());
|
||||
if (mons != null) {
|
||||
if (mons.getId() == 8800000) {
|
||||
makeMonsterReal(mons);
|
||||
@@ -1460,15 +1460,15 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
public void killFriendlies(MapleMonster mob) {
|
||||
public void killFriendlies(Monster mob) {
|
||||
this.killMonster(mob, (Character) getPlayers().get(0), false);
|
||||
}
|
||||
|
||||
public void killMonster(int mobId) {
|
||||
Character chr = (Character) getPlayers().get(0);
|
||||
List<MapleMonster> mobList = getAllMonsters();
|
||||
List<Monster> mobList = getAllMonsters();
|
||||
|
||||
for (MapleMonster mob : mobList) {
|
||||
for (Monster mob : mobList) {
|
||||
if (mob.getId() == mobId) {
|
||||
this.killMonster(mob, chr, false);
|
||||
}
|
||||
@@ -1480,9 +1480,9 @@ public class MapleMap {
|
||||
|
||||
if(!mapChars.isEmpty()) {
|
||||
Character defaultChr = mapChars.entrySet().iterator().next().getValue();
|
||||
List<MapleMonster> mobList = getAllMonsters();
|
||||
List<Monster> mobList = getAllMonsters();
|
||||
|
||||
for (MapleMonster mob : mobList) {
|
||||
for (Monster mob : mobList) {
|
||||
if (mob.getId() == mobId) {
|
||||
Character chr = mapChars.get(mob.getHighestDamagerId());
|
||||
if (chr == null) {
|
||||
@@ -1499,7 +1499,7 @@ public class MapleMap {
|
||||
closeMapSpawnPoints();
|
||||
|
||||
for (MapleMapObject monstermo : getMapObjectsInRange(new Point(0, 0), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.MONSTER))) {
|
||||
MapleMonster monster = (MapleMonster) monstermo;
|
||||
Monster monster = (Monster) monstermo;
|
||||
if (monster.getStats().isFriendly()) {
|
||||
continue;
|
||||
}
|
||||
@@ -1514,7 +1514,7 @@ public class MapleMap {
|
||||
closeMapSpawnPoints();
|
||||
|
||||
for (MapleMapObject monstermo : getMapObjectsInRange(new Point(0, 0), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.MONSTER))) {
|
||||
MapleMonster monster = (MapleMonster) monstermo;
|
||||
Monster monster = (Monster) monstermo;
|
||||
if (monster.getStats().isFriendly()) {
|
||||
continue;
|
||||
}
|
||||
@@ -1527,7 +1527,7 @@ public class MapleMap {
|
||||
closeMapSpawnPoints();
|
||||
|
||||
for (MapleMapObject monstermo : getMapObjectsInRange(new Point(0, 0), Double.POSITIVE_INFINITY, Arrays.asList(MapleMapObjectType.MONSTER))) {
|
||||
MapleMonster monster = (MapleMonster) monstermo;
|
||||
Monster monster = (Monster) monstermo;
|
||||
|
||||
killMonster(monster, null, false, 1);
|
||||
}
|
||||
@@ -1749,9 +1749,9 @@ public class MapleMap {
|
||||
* @param oid
|
||||
* @return
|
||||
*/
|
||||
public MapleMonster getMonsterByOid(int oid) {
|
||||
public Monster getMonsterByOid(int oid) {
|
||||
MapleMapObject mmo = getMapObject(oid);
|
||||
return (mmo != null && mmo.getType() == MapleMapObjectType.MONSTER) ? (MapleMonster) mmo : null;
|
||||
return (mmo != null && mmo.getType() == MapleMapObjectType.MONSTER) ? (Monster) mmo : null;
|
||||
}
|
||||
|
||||
public MapleReactor getReactorByOid(int oid) {
|
||||
@@ -1813,11 +1813,11 @@ public class MapleMap {
|
||||
}
|
||||
|
||||
public void spawnMonsterOnGroundBelow(int id, int x, int y) {
|
||||
MapleMonster mob = LifeFactory.getMonster(id);
|
||||
Monster mob = LifeFactory.getMonster(id);
|
||||
spawnMonsterOnGroundBelow(mob, new Point(x, y));
|
||||
}
|
||||
|
||||
public void spawnMonsterOnGroundBelow(MapleMonster mob, Point pos) {
|
||||
public void spawnMonsterOnGroundBelow(Monster mob, Point pos) {
|
||||
Point spos = new Point(pos.x, pos.y - 1);
|
||||
spos = calcPointBelow(spos);
|
||||
spos.y--;
|
||||
@@ -1825,7 +1825,7 @@ public class MapleMap {
|
||||
spawnMonster(mob);
|
||||
}
|
||||
|
||||
public void spawnCPQMonster(MapleMonster mob, Point pos, int team) {
|
||||
public void spawnCPQMonster(Monster mob, Point pos, int team) {
|
||||
Point spos = new Point(pos.x, pos.y - 1);
|
||||
spos = calcPointBelow(spos);
|
||||
spos.y--;
|
||||
@@ -1834,11 +1834,11 @@ public class MapleMap {
|
||||
spawnMonster(mob);
|
||||
}
|
||||
|
||||
private void monsterItemDrop(final MapleMonster m, long delay) {
|
||||
private void monsterItemDrop(final Monster m, long delay) {
|
||||
m.dropFromFriendlyMonster(delay);
|
||||
}
|
||||
|
||||
public void spawnFakeMonsterOnGroundBelow(MapleMonster mob, Point pos) {
|
||||
public void spawnFakeMonsterOnGroundBelow(Monster mob, Point pos) {
|
||||
Point spos = getGroundBelow(pos);
|
||||
mob.setPosition(spos);
|
||||
spawnFakeMonster(mob);
|
||||
@@ -1855,7 +1855,7 @@ public class MapleMap {
|
||||
return calcPointBelow(pos);
|
||||
}
|
||||
|
||||
public void spawnRevives(final MapleMonster monster) {
|
||||
public void spawnRevives(final Monster monster) {
|
||||
monster.setMap(this);
|
||||
if (getEventInstance() != null) {
|
||||
getEventInstance().registerMonster(monster);
|
||||
@@ -1871,7 +1871,7 @@ public class MapleMap {
|
||||
applyRemoveAfter(monster);
|
||||
}
|
||||
|
||||
private void applyRemoveAfter(final MapleMonster monster) {
|
||||
private void applyRemoveAfter(final Monster monster) {
|
||||
final selfDestruction selfDestruction = monster.getStats().selfDestruction();
|
||||
if (monster.getStats().removeAfter() > 0 || selfDestruction != null && selfDestruction.getHp() < 0) {
|
||||
Runnable removeAfterAction;
|
||||
@@ -1890,7 +1890,7 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
public void dismissRemoveAfter(final MapleMonster monster) {
|
||||
public void dismissRemoveAfter(final Monster monster) {
|
||||
Runnable removeAfterAction = monster.popRemoveAfterAction();
|
||||
if (removeAfterAction != null) {
|
||||
OverallService service = (OverallService) this.getChannelServer().getServiceAccess(ChannelServices.OVERALL);
|
||||
@@ -1932,11 +1932,11 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
public void spawnMonster(final MapleMonster monster) {
|
||||
public void spawnMonster(final Monster monster) {
|
||||
spawnMonster(monster, 1, false);
|
||||
}
|
||||
|
||||
public void spawnMonster(final MapleMonster monster, int difficulty, boolean isPq) {
|
||||
public void spawnMonster(final Monster monster, int difficulty, boolean isPq) {
|
||||
if (mobCapacity != -1 && mobCapacity == spawnedMonstersOnMap.get()) {
|
||||
return;//PyPQ
|
||||
}
|
||||
@@ -1988,12 +1988,12 @@ public class MapleMap {
|
||||
applyRemoveAfter(monster); // thanks LightRyuzaki for pointing issues with spawned CWKPQ mobs not applying this
|
||||
}
|
||||
|
||||
public void spawnDojoMonster(final MapleMonster monster) {
|
||||
public void spawnDojoMonster(final Monster monster) {
|
||||
Point[] pts = {new Point(140, 0), new Point(190, 7), new Point(187, 7)};
|
||||
spawnMonsterWithEffect(monster, 15, pts[Randomizer.nextInt(3)]);
|
||||
}
|
||||
|
||||
public void spawnMonsterWithEffect(final MapleMonster monster, final int effect, Point pos) {
|
||||
public void spawnMonsterWithEffect(final Monster monster, final int effect, Point pos) {
|
||||
monster.setMap(this);
|
||||
Point spos = new Point(pos.x, pos.y - 1);
|
||||
spos = calcPointBelow(spos);
|
||||
@@ -2019,7 +2019,7 @@ public class MapleMap {
|
||||
applyRemoveAfter(monster);
|
||||
}
|
||||
|
||||
public void spawnFakeMonster(final MapleMonster monster) {
|
||||
public void spawnFakeMonster(final Monster monster) {
|
||||
monster.setMap(this);
|
||||
monster.setFake(true);
|
||||
spawnAndAddRangedMapObject(monster, c -> c.sendPacket(PacketCreator.spawnFakeMonster(monster, 0)));
|
||||
@@ -2028,7 +2028,7 @@ public class MapleMap {
|
||||
addSelfDestructive(monster);
|
||||
}
|
||||
|
||||
public void makeMonsterReal(final MapleMonster monster) {
|
||||
public void makeMonsterReal(final Monster monster) {
|
||||
monster.setFake(false);
|
||||
broadcastMessage(PacketCreator.makeMonsterReal(monster));
|
||||
monster.aggroUpdateController();
|
||||
@@ -2079,7 +2079,7 @@ public class MapleMap {
|
||||
for (MapleMapObject mo : affectedMonsters) {
|
||||
if (mist.makeChanceResult()) {
|
||||
MonsterStatusEffect poisonEffect = new MonsterStatusEffect(Collections.singletonMap(MonsterStatus.POISON, 1), mist.getSourceSkill(), null, false);
|
||||
((MapleMonster) mo).applyStatus(mist.getOwner(), poisonEffect, true, duration);
|
||||
((Monster) mo).applyStatus(mist.getOwner(), poisonEffect, true, duration);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -2650,13 +2650,13 @@ public class MapleMap {
|
||||
*/
|
||||
|
||||
public void addPlayerPuppet(Character player) {
|
||||
for (MapleMonster mm : this.getAllMonsters()) {
|
||||
for (Monster mm : this.getAllMonsters()) {
|
||||
mm.aggroAddPuppet(player);
|
||||
}
|
||||
}
|
||||
|
||||
public void removePlayerPuppet(Character player) {
|
||||
for (MapleMonster mm : this.getAllMonsters()) {
|
||||
for (Monster mm : this.getAllMonsters()) {
|
||||
mm.aggroRemovePuppet(player);
|
||||
}
|
||||
}
|
||||
@@ -2787,7 +2787,7 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateBossSpawn(MapleMonster monster) {
|
||||
private void updateBossSpawn(Monster monster) {
|
||||
if (monster.hasBossHPBar()) {
|
||||
broadcastBossHpMessage(monster, monster.hashCode(), monster.makeBossHPBarPacket(), monster.getPosition());
|
||||
}
|
||||
@@ -2802,15 +2802,15 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
public void broadcastBossHpMessage(MapleMonster mm, int bossHash, Packet packet) {
|
||||
public void broadcastBossHpMessage(Monster mm, int bossHash, Packet packet) {
|
||||
broadcastBossHpMessage(mm, bossHash, null, packet, Double.POSITIVE_INFINITY, null);
|
||||
}
|
||||
|
||||
public void broadcastBossHpMessage(MapleMonster mm, int bossHash, Packet packet, Point rangedFrom) {
|
||||
public void broadcastBossHpMessage(Monster mm, int bossHash, Packet packet, Point rangedFrom) {
|
||||
broadcastBossHpMessage(mm, bossHash, null, packet, getRangedDistance(), rangedFrom);
|
||||
}
|
||||
|
||||
private void broadcastBossHpMessage(MapleMonster mm, int bossHash, Character source, Packet packet, double rangeSq, Point rangedFrom) {
|
||||
private void broadcastBossHpMessage(Monster mm, int bossHash, Character source, Packet packet, double rangeSq, Point rangedFrom) {
|
||||
chrRLock.lock();
|
||||
try {
|
||||
for (Character chr : characters) {
|
||||
@@ -2966,7 +2966,7 @@ public class MapleMap {
|
||||
chr.addVisibleMapObject(o);
|
||||
|
||||
if (o.getType() == MapleMapObjectType.MONSTER) {
|
||||
((MapleMonster) o).aggroUpdateController();
|
||||
((Monster) o).aggroUpdateController();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3062,7 +3062,7 @@ public class MapleMap {
|
||||
* @param monster
|
||||
* @param mobTime
|
||||
*/
|
||||
public void addMonsterSpawn(MapleMonster monster, int mobTime, int team) {
|
||||
public void addMonsterSpawn(Monster monster, int mobTime, int team) {
|
||||
Point newpos = calcPointBelow(monster.getPosition());
|
||||
newpos.y -= 1;
|
||||
SpawnPoint sp = new SpawnPoint(monster, newpos, !monster.isMobile(), mobTime, mobInterval, team);
|
||||
@@ -3072,7 +3072,7 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
public void addAllMonsterSpawn(MapleMonster monster, int mobTime, int team) {
|
||||
public void addAllMonsterSpawn(Monster monster, int mobTime, int team) {
|
||||
Point newpos = calcPointBelow(monster.getPosition());
|
||||
newpos.y -= 1;
|
||||
SpawnPoint sp = new SpawnPoint(monster, newpos, !monster.isMobile(), mobTime, mobInterval, team);
|
||||
@@ -3182,7 +3182,7 @@ public class MapleMap {
|
||||
}
|
||||
}
|
||||
|
||||
public void moveMonster(MapleMonster monster, Point reportedPos) {
|
||||
public void moveMonster(Monster monster, Point reportedPos) {
|
||||
monster.setPosition(reportedPos);
|
||||
for (Character chr : getAllPlayers()) {
|
||||
updateMapObjectVisibility(chr, monster);
|
||||
@@ -3378,9 +3378,9 @@ public class MapleMap {
|
||||
private List<MonsterDropEntry> otherQuestEntry;
|
||||
private List<MonsterGlobalDropEntry> globalEntry;
|
||||
private Character chr;
|
||||
private MapleMonster mob;
|
||||
private Monster mob;
|
||||
|
||||
protected MobLootEntry(byte droptype, int mobpos, int chRate, Point pos, List<MonsterDropEntry> dropEntry, List<MonsterDropEntry> visibleQuestEntry, List<MonsterDropEntry> otherQuestEntry, List<MonsterGlobalDropEntry> globalEntry, Character chr, MapleMonster mob) {
|
||||
protected MobLootEntry(byte droptype, int mobpos, int chRate, Point pos, List<MonsterDropEntry> dropEntry, List<MonsterDropEntry> visibleQuestEntry, List<MonsterDropEntry> otherQuestEntry, List<MonsterGlobalDropEntry> globalEntry, Character chr, Monster mob) {
|
||||
this.droptype = droptype;
|
||||
this.mobpos = mobpos;
|
||||
this.chRate = chRate;
|
||||
@@ -3620,7 +3620,7 @@ public class MapleMap {
|
||||
}
|
||||
|
||||
public void mobMpRecovery() {
|
||||
for (MapleMonster mob : this.getAllMonsters()) {
|
||||
for (Monster mob : this.getAllMonsters()) {
|
||||
if (mob.isAlive()) {
|
||||
mob.heal(0, mob.getLevel());
|
||||
}
|
||||
@@ -4039,10 +4039,10 @@ public class MapleMap {
|
||||
}
|
||||
|
||||
public void spawnHorntailOnGroundBelow(final Point targetPoint) { // ayy lmao
|
||||
MapleMonster htIntro = LifeFactory.getMonster(8810026);
|
||||
Monster htIntro = LifeFactory.getMonster(8810026);
|
||||
spawnMonsterOnGroundBelow(htIntro, targetPoint); // htintro spawn animation converting into horntail detected thanks to Arnah
|
||||
|
||||
final MapleMonster ht = LifeFactory.getMonster(8810018);
|
||||
final Monster ht = LifeFactory.getMonster(8810018);
|
||||
ht.setParentMobOid(htIntro.getObjectId());
|
||||
ht.addListener(new MonsterListener() {
|
||||
@Override
|
||||
@@ -4061,7 +4061,7 @@ public class MapleMap {
|
||||
spawnMonsterOnGroundBelow(ht, targetPoint);
|
||||
|
||||
for (int x = 8810002; x <= 8810009; x++) {
|
||||
MapleMonster m = LifeFactory.getMonster(x);
|
||||
Monster m = LifeFactory.getMonster(x);
|
||||
m.setParentMobOid(htIntro.getObjectId());
|
||||
|
||||
m.addListener(new MonsterListener() {
|
||||
@@ -4323,7 +4323,7 @@ public class MapleMap {
|
||||
}
|
||||
for (MapleMapObject mmo : this.mapobjects.values()) {
|
||||
if (mmo.getType() == MapleMapObjectType.MONSTER) {
|
||||
MapleMonster mob = (MapleMonster) mmo;
|
||||
Monster mob = (Monster) mmo;
|
||||
if (mob.getTeam() == team) {
|
||||
skill.getSkill().applyEffect(null, mob, false, null);
|
||||
}
|
||||
@@ -4395,7 +4395,7 @@ public class MapleMap {
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
for(MapleMonster mm : this.getAllMonsters()) {
|
||||
for(Monster mm : this.getAllMonsters()) {
|
||||
mm.dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -110,8 +110,8 @@ public class MapleMapFactory {
|
||||
|
||||
private static void loadLifeRaw(MapleMap map, int id, String type, int cy, int f, int fh, int rx0, int rx1, int x, int y, int hide, int mobTime, int team) {
|
||||
AbstractLoadedLife myLife = loadLife(id, type, cy, f, fh, rx0, rx1, x, y, hide);
|
||||
if (myLife instanceof MapleMonster) {
|
||||
MapleMonster monster = (MapleMonster) myLife;
|
||||
if (myLife instanceof Monster) {
|
||||
Monster monster = (Monster) myLife;
|
||||
|
||||
if (mobTime == -1) { //does not respawn, force spawn once
|
||||
map.spawnMonster(monster);
|
||||
|
||||
@@ -28,8 +28,8 @@ import client.SkillFactory;
|
||||
import constants.skills.*;
|
||||
import net.packet.Packet;
|
||||
import server.MapleStatEffect;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.MobSkill;
|
||||
import server.life.Monster;
|
||||
import tools.PacketCreator;
|
||||
|
||||
import java.awt.*;
|
||||
@@ -41,13 +41,13 @@ import java.awt.*;
|
||||
public class MapleMist extends AbstractMapleMapObject {
|
||||
private Rectangle mistPosition;
|
||||
private Character owner = null;
|
||||
private MapleMonster mob = null;
|
||||
private Monster mob = null;
|
||||
private MapleStatEffect source;
|
||||
private MobSkill skill;
|
||||
private boolean isMobMist, isPoisonMist, isRecoveryMist;
|
||||
private int skillDelay;
|
||||
|
||||
public MapleMist(Rectangle mistPosition, MapleMonster mob, MobSkill skill) {
|
||||
public MapleMist(Rectangle mistPosition, Monster mob, MobSkill skill) {
|
||||
this.mistPosition = mistPosition;
|
||||
this.mob = mob;
|
||||
this.skill = skill;
|
||||
@@ -112,7 +112,7 @@ public class MapleMist extends AbstractMapleMapObject {
|
||||
return skillDelay;
|
||||
}
|
||||
|
||||
public MapleMonster getMobOwner() {
|
||||
public Monster getMobOwner() {
|
||||
return mob;
|
||||
}
|
||||
|
||||
|
||||
@@ -61,10 +61,10 @@ import server.CashShop.CashItemFactory;
|
||||
import server.CashShop.SpecialCashItem;
|
||||
import server.*;
|
||||
import server.events.gm.Snowball;
|
||||
import server.life.MapleMonster;
|
||||
import server.life.MapleNPC;
|
||||
import server.life.MaplePlayerNPC;
|
||||
import server.life.MobSkill;
|
||||
import server.life.Monster;
|
||||
import server.maps.*;
|
||||
import server.maps.MapleMiniGame.MiniGameResult;
|
||||
import server.movement.LifeMovementFragment;
|
||||
@@ -1327,7 +1327,7 @@ public class PacketCreator {
|
||||
* @param newSpawn Is it a new spawn?
|
||||
* @return The spawn monster packet.
|
||||
*/
|
||||
public static Packet spawnMonster(MapleMonster life, boolean newSpawn) {
|
||||
public static Packet spawnMonster(Monster life, boolean newSpawn) {
|
||||
return spawnMonsterInternal(life, false, newSpawn, false, 0, false);
|
||||
}
|
||||
|
||||
@@ -1339,7 +1339,7 @@ public class PacketCreator {
|
||||
* @param effect The spawn effect.
|
||||
* @return The spawn monster packet.
|
||||
*/
|
||||
public static Packet spawnMonster(MapleMonster life, boolean newSpawn, int effect) {
|
||||
public static Packet spawnMonster(Monster life, boolean newSpawn, int effect) {
|
||||
return spawnMonsterInternal(life, false, newSpawn, false, effect, false);
|
||||
}
|
||||
|
||||
@@ -1351,7 +1351,7 @@ public class PacketCreator {
|
||||
* @param aggro Aggressive monster?
|
||||
* @return The monster control packet.
|
||||
*/
|
||||
public static Packet controlMonster(MapleMonster life, boolean newSpawn, boolean aggro) {
|
||||
public static Packet controlMonster(Monster life, boolean newSpawn, boolean aggro) {
|
||||
return spawnMonsterInternal(life, true, newSpawn, aggro, 0, false);
|
||||
}
|
||||
|
||||
@@ -1361,7 +1361,7 @@ public class PacketCreator {
|
||||
* @param life
|
||||
* @return
|
||||
*/
|
||||
public static Packet removeMonsterInvisibility(MapleMonster life) {
|
||||
public static Packet removeMonsterInvisibility(Monster life) {
|
||||
final OutPacket p = OutPacket.create(SendOpcode.SPAWN_MONSTER_CONTROL);
|
||||
p.writeByte(1);
|
||||
p.writeInt(life.getObjectId());
|
||||
@@ -1374,7 +1374,7 @@ public class PacketCreator {
|
||||
* @param life
|
||||
* @return
|
||||
*/
|
||||
public static Packet makeMonsterInvisible(MapleMonster life) {
|
||||
public static Packet makeMonsterInvisible(Monster life) {
|
||||
return spawnMonsterInternal(life, true, false, false, 0, true);
|
||||
}
|
||||
|
||||
@@ -1444,7 +1444,7 @@ public class PacketCreator {
|
||||
* @param effect The spawn effect to use.
|
||||
* @return The spawn/control packet.
|
||||
*/
|
||||
private static Packet spawnMonsterInternal(MapleMonster life, boolean requestController, boolean newSpawn, boolean aggro, int effect, boolean makeInvis) {
|
||||
private static Packet spawnMonsterInternal(Monster life, boolean requestController, boolean newSpawn, boolean aggro, int effect, boolean makeInvis) {
|
||||
if (makeInvis) {
|
||||
OutPacket p = OutPacket.create(SendOpcode.SPAWN_MONSTER_CONTROL);
|
||||
p.writeByte(0);
|
||||
@@ -1485,7 +1485,7 @@ public class PacketCreator {
|
||||
*/
|
||||
|
||||
if (life.getParentMobOid() != 0) {
|
||||
MapleMonster parentMob = life.getMap().getMonsterByOid(life.getParentMobOid());
|
||||
Monster parentMob = life.getMap().getMonsterByOid(life.getParentMobOid());
|
||||
if (parentMob != null && parentMob.isAlive()) {
|
||||
p.writeByte(effect != 0 ? effect : -3);
|
||||
p.writeInt(life.getParentMobOid());
|
||||
@@ -1508,7 +1508,7 @@ public class PacketCreator {
|
||||
* @param effect The effect to show when spawning.
|
||||
* @return The packet to spawn the mob as non-targettable.
|
||||
*/
|
||||
public static Packet spawnFakeMonster(MapleMonster life, int effect) {
|
||||
public static Packet spawnFakeMonster(Monster life, int effect) {
|
||||
OutPacket p = OutPacket.create(SendOpcode.SPAWN_MONSTER_CONTROL);
|
||||
p.writeByte(1);
|
||||
p.writeInt(life.getObjectId());
|
||||
@@ -1536,7 +1536,7 @@ public class PacketCreator {
|
||||
* @param life The mob to make targettable.
|
||||
* @return The packet to make the mob targettable.
|
||||
*/
|
||||
public static Packet makeMonsterReal(MapleMonster life) {
|
||||
public static Packet makeMonsterReal(Monster life) {
|
||||
OutPacket p = OutPacket.create(SendOpcode.SPAWN_MONSTER);
|
||||
p.writeInt(life.getObjectId());
|
||||
p.writeByte(5);
|
||||
@@ -6692,7 +6692,7 @@ public class PacketCreator {
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
public static Packet MobDamageMobFriendly(MapleMonster mob, int damage, int remainingHp) {
|
||||
public static Packet MobDamageMobFriendly(Monster mob, int damage, int remainingHp) {
|
||||
final OutPacket p = OutPacket.create(SendOpcode.DAMAGE_MONSTER);
|
||||
p.writeInt(mob.getObjectId());
|
||||
p.writeByte(1); // direction ?
|
||||
|
||||
Reference in New Issue
Block a user