Class MobSkill
java.lang.Object
server.life.MobSkill
怪物技能的執行時期資料模型,持有技能屬性並負責效果套用。
每個 MobSkill 實例以 (skillId, level) 組合識別,封裝從
wz_mobskilldata 讀取的冷卻時間、持續時間、消耗 MP、召喚清單、
攻擊矩形(lt/rb)、觸發機率(prop)等屬性。
主要職責:
checkCurrentBuff— 判斷怪物目前 buff 狀態是否應阻止重複施放。applyEffect— 依skillId分派,對MapleMonster套用MonsterStatus增益/傳送異常狀態至MapleCharacter, 或生成MapleMist迷霧效果。- 召喚系技能(
skillId=200)在地圖上限(limit)內召喚子怪物。
由 MobSkillFactory 於啟動時建構並快取;
使用端為 MapleMonster 的 AI 邏輯與 server.maps.MapReactorManager。
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSummons(List<Integer> toSummon) voidapplyEffect(MapleCharacter player, MapleMonster monster, boolean skill) booleancheckCurrentBuff(MapleCharacter player, MapleMonster monster) longlongintgetHP()intgetLimit()getLt()intgetMpCon()getRb()intintintintgetX()intgetY()booleanbooleanonlyOnce()voidsetCoolTime(long cooltime) voidsetDuration(long duration) voidsetHp(int hp) voidsetLimit(short limit) voidvoidsetMpCon(int mpCon) voidsetOnce(boolean o) voidsetProp(float prop) voidsetSpawnEffect(int spawnEffect) voidsetX(int x) voidsetY(int y)
-
Constructor Details
-
MobSkill
public MobSkill(int skillId, int level)
-
-
Method Details
-
setOnce
public void setOnce(boolean o) -
onlyOnce
public boolean onlyOnce() -
setMpCon
public void setMpCon(int mpCon) -
addSummons
-
setSpawnEffect
public void setSpawnEffect(int spawnEffect) -
setHp
public void setHp(int hp) -
setX
public void setX(int x) -
setY
public void setY(int y) -
setDuration
public void setDuration(long duration) -
setCoolTime
public void setCoolTime(long cooltime) -
setProp
public void setProp(float prop) -
setLtRb
-
setLimit
public void setLimit(short limit) -
checkCurrentBuff
-
applyEffect
-
getSkillId
public int getSkillId() -
getSkillLevel
public int getSkillLevel() -
getMpCon
public int getMpCon() -
getSummons
-
getSpawnEffect
public int getSpawnEffect() -
getHP
public int getHP() -
getX
public int getX() -
getY
public int getY() -
getDuration
public long getDuration() -
getCoolTime
public long getCoolTime() -
getLt
-
getRb
-
getLimit
public int getLimit() -
makeChanceResult
public boolean makeChanceResult()
-