Class MapleMonster


public class MapleMonster extends AbstractLoadedMapleLife
地圖上「活的」怪物實體,封裝其執行期狀態、傷害結算與死亡處理。

承襲 AbstractLoadedMapleLife,以唯讀的 MapleMonsterStats 為模板,另持有可變執行期狀態: 現時 hpmp、所屬 MapleMap、控制者 MapleCharactercontroller,弱參照)、攻擊者帳本(attackers)、異常狀態(stati)與中毒 (poisons,受 poisonsLock 保護)等。

關鍵職責:

  • Constructor Details

  • Method Details

    • changeLevelmod

      public final void changeLevelmod(int newLevel)
    • getAttackers

      public final ArrayList<server.life.MapleMonster.AttackerEntry> getAttackers()
    • getStats

      public final MapleMonsterStats getStats()
    • disableDrops

      public final void disableDrops()
    • dropsDisabled

      public final boolean dropsDisabled()
    • setSponge

      public final void setSponge(MapleMonster mob)
    • setMap

      public final void setMap(MapleMap map)
    • getHp

      public final long getHp()
    • setHp

      public final void setHp(long hp)
    • getChangedStats

      public final ChangeableStats getChangedStats()
    • getMobMaxHp

      public final long getMobMaxHp()
    • getMp

      public final int getMp()
    • setMp

      public final void setMp(int mp)
    • getMobMaxMp

      public final int getMobMaxMp()
    • getMobExp

      public final int getMobExp()
    • setOverrideStats

      public final void setOverrideStats(OverrideMonsterStats ostats)
    • changeLevel

      public final void changeLevel(int newLevel)
    • changeLevel

      public final void changeLevel(int newLevel, boolean pqMob)
    • getSponge

      public final MapleMonster getSponge()
    • damage

      public final void damage(MapleCharacter from, long damage, boolean updateAttackTime)
    • damage

      public final void damage(MapleCharacter from, long damage, boolean updateAttackTime, int lastSkill)
    • getHPPercent

      public int getHPPercent()
    • heal

      public final void heal(int hp, int mp, boolean broadcast)
    • killed

      public final void killed()
    • killBy

      public final int killBy(MapleCharacter killer, int lastSkill)
    • spawnRevives

      public final void spawnRevives(MapleMap map)
    • isAlive

      public final boolean isAlive()
    • setCarnivalTeam

      public final void setCarnivalTeam(byte team)
    • getCarnivalTeam

      public final byte getCarnivalTeam()
    • getController

      public final MapleCharacter getController()
    • setController

      public final void setController(MapleCharacter controller)
    • switchController

      public final void switchController(MapleCharacter newController, boolean immediateAggro)
    • addListener

      public final void addListener(MonsterListener listener)
    • isControllerHasAggro

      public final boolean isControllerHasAggro()
    • setControllerHasAggro

      public final void setControllerHasAggro(boolean controllerHasAggro)
    • sendStatus

      public final void sendStatus(MapleClient client)
    • sendSpawnData

      public final void sendSpawnData(MapleClient client)
      Specified by:
      sendSpawnData in class MapleMapObject
    • sendDestroyData

      public final void sendDestroyData(MapleClient client)
      Specified by:
      sendDestroyData in class MapleMapObject
    • toString

      public final String toString()
      Overrides:
      toString in class Object
    • getType

      public final MapleMapObjectType getType()
      Specified by:
      getType in class MapleMapObject
    • getEventInstance

      public final EventInstanceManager getEventInstance()
    • setEventInstance

      public final void setEventInstance(EventInstanceManager eventInstance)
    • getStatusSourceID

      public final int getStatusSourceID(MonsterStatus status)
    • getEffectiveness

      public final ElementalEffectiveness getEffectiveness(Element e)
    • applyStatus

      public final void applyStatus(MapleCharacter from, MonsterStatusEffect status, boolean poison, long duration, boolean checkboss, MapleStatEffect eff)
    • applyStatus

      public void applyStatus(MonsterStatusEffect status)
    • dispelSkill

      public final void dispelSkill(MobSkill skillId)
    • applyMonsterBuff

      public final void applyMonsterBuff(Map<MonsterStatus, Integer> effect, int skillId, long duration, MobSkill skill, List<Integer> reflection)
    • setTempEffectiveness

      public final void setTempEffectiveness(Element e, long milli)
    • isBuffed

      public final boolean isBuffed(MonsterStatus status)
    • getBuff

      public final MonsterStatusEffect getBuff(MonsterStatus status)
    • getStatiSize

      public final int getStatiSize()
    • getAllBuffs

      public final ArrayList<MonsterStatusEffect> getAllBuffs()
    • setFake

      public final void setFake(boolean fake)
    • isFake

      public final boolean isFake()
    • getMap

      public final MapleMap getMap()
    • getSkills

      public final List<Pair<Integer,Integer>> getSkills()
    • hasSkill

      public final boolean hasSkill(int skillId, int level)
    • getLastSkillUsed

      public final long getLastSkillUsed(int skillId)
    • setLastSkillUsed

      public final void setLastSkillUsed(int skillId, long now, long cooltime)
    • getNoSkills

      public final byte getNoSkills()
    • isFirstAttack

      public final boolean isFirstAttack()
    • getBuffToGive

      public final int getBuffToGive()
    • doPoison

      public final void doPoison(MonsterStatusEffect status, WeakReference<MapleCharacter> weakChr)
    • getLinkOid

      public int getLinkOid()
    • setLinkOid

      public void setLinkOid(int lo)
    • getStati

    • addEmpty

      public void addEmpty()
    • getStolen

      public final int getStolen()
    • setStolen

      public final void setStolen(int s)
    • handleSteal

      public final void handleSteal(MapleCharacter chr)
    • setLastNode

      public final void setLastNode(int lastNode)
    • getLastNode

      public final int getLastNode()
    • cancelStatus

      public final void cancelStatus(MonsterStatus stat)
    • cancelSingleStatus

      public final void cancelSingleStatus(MonsterStatusEffect stat)
    • cancelDropItem

      public final void cancelDropItem()
    • startDropItemSchedule

      public final void startDropItemSchedule()
    • shouldDrop

      public boolean shouldDrop(long now)
    • doDropItem

      public void doDropItem(long now)
    • getNodePacket

      public byte[] getNodePacket()
    • setNodePacket

      public void setNodePacket(byte[] np)
    • registerKill

      public void registerKill(long next)
    • shouldKill

      public boolean shouldKill(long now)
    • getLinkCID

      public int getLinkCID()
    • setLinkCID

      public void setLinkCID(int lc)