Class Equip
java.lang.Object
client.inventory.Item
client.inventory.Equip
- All Implemented Interfaces:
Serializable, Comparable<Item>
可裝備道具的資料模型,繼承自
Item 並附帶全套裝備屬性。
封裝裝備格專屬的所有數值,包含:
- 基本能力加成(STR/DEX/INT/LUK/HP/MP/攻擊/防禦/命中/迴避/速度/跳躍)
- 強化資訊:升級槽(
upgradeSlots)、強化次數(enhance)、Vicious Hammer 次數 - 潛在能力(
potential1~potential5)與插槽(socket1~socket3) - 道具經驗值(
itemEXP)、耐久度(durability)、魅力經驗(charmExp) - 關聯的
MapleRing(配對戒指)與MapleAndroid(安卓)
由 ItemLoader 自資料庫讀取還原,並透過 server.MapleInventoryManipulator
進行背包操作;卷軸強化結果以內部列舉 ScrollResult 表示。
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()shortgetAcc()shortgetAvoid()intshort取得一筆自訂屬性。取得自訂屬性的 JSON 字串表示(供資料庫custom欄位保存)。取得所有自訂屬性的唯讀快照(不暴露內部Map,外部無法藉此繞過 API 改動)。shortgetDex()intbyteintintintintshortgetHands()shortgetHp()intshortgetInt()intshortgetJump()bytegetLevel()intgetLine()longintshortgetLuk()shortgetMatk()shortgetMdef()shortgetMp()取得原始素值的唯讀快照(不暴露內部Map,外部無法藉此繞過 API 改動)。取得原始素值的 JSON 字串(供資料庫originStats欄位保存)。intintintintintshortgetRing()intintintshortshortgetSpeed()bytegetState()shortgetStr()bytegetType()bytebyteshortgetWatk()shortgetWdef()boolean是否已記錄原始素值。void記錄裝備「誕生之初」的原始素值快照(冪等)。void重新記錄原始素值(覆寫先前快照)。voidrenewPotential(int type) voidvoidresetPotential_Fuse(boolean half, int potentialState) void回到「誕生之初」的能力(需求 0605-4.txt 的equip.回到原始狀態())。voidsetAcc(short acc) voidsetAndroid(MapleAndroid ring) voidsetAvoid(short avoid) voidsetCharmEXP(short s) void設定一筆自訂屬性。voidsetCustomJson(String json) 由 JSON 字串還原自訂屬性(供資料庫載入)。voidsetDex(short dex) voidsetDurability(int dur) voidsetEnhance(byte en) voidsetHands(short hands) voidsetHp(short hp) voidsetIncSkill(int inc) voidsetInt(short _int) voidsetItemEXP(int itemEXP) voidsetJump(short jump) voidsetLevel(byte level) voidsetLine(int line) voidsetlockid(long lockid) voidsetLockPot(int LockPot) voidsetLuk(short luk) voidsetMatk(short matk) voidsetMdef(short mdef) voidsetMp(short mp) voidsetOriginStatsJson(String json) 由 JSON 字串還原原始素值(供資料庫載入)。voidsetPotential1(int en) voidsetPotential2(int en) voidsetPotential3(int en) voidsetPotential4(int en) voidsetPotential5(int en) voidsetPVPDamage(short p) voidsetQuantity(short quantity) voidvoidsetSocket1(int socket1) voidsetSocket2(int socket2) voidsetSocket3(int socket3) voidsetSpeed(short speed) voidsetStr(short str) voidsetUpgradeSlots(byte upgradeSlots) voidsetViciousHammer(byte ham) voidsetWatk(short watk) voidsetWdef(short wdef) void回到原始狀態()restoreOriginStats()的中文別名,對應需求所述的equip.回到原始狀態()。Methods inherited from class Item
compareTo, copyWithQuantity, equals, getEquipOnlyId, getExpiration, getFlag, getGiftFrom, getGMLog, getInventoryId, getInventoryitemId, getItemId, getItemName, getOwner, getPet, getPosition, getQuantity, getUniqueId, hasSetOnlyId, setEquipOnlyId, setExpiration, setFlag, setGiftFrom, setGMLog, setInventoryId, setInventoryitemId, setOwner, setPet, setPosition, setUniqueId, toString
-
Field Details
-
ARMOR_RATIO
public static final int ARMOR_RATIO- See Also:
-
WEAPON_RATIO
public static final int WEAPON_RATIO- See Also:
-
-
Constructor Details
-
Equip
public Equip(int id, short position, byte flag) -
Equip
public Equip(int id, short position, int uniqueid, short flag)
-
-
Method Details
-
copy
-
getType
-
getUpgradeSlots
public byte getUpgradeSlots() -
getStr
public short getStr() -
getDex
public short getDex() -
getInt
public short getInt() -
getLuk
public short getLuk() -
getHp
public short getHp() -
getMp
public short getMp() -
getWatk
public short getWatk() -
getMatk
public short getMatk() -
getWdef
public short getWdef() -
getMdef
public short getMdef() -
getAcc
public short getAcc() -
getAvoid
public short getAvoid() -
getHands
public short getHands() -
getSpeed
public short getSpeed() -
getJump
public short getJump() -
setStr
public void setStr(short str) -
setDex
public void setDex(short dex) -
setInt
public void setInt(short _int) -
setLuk
public void setLuk(short luk) -
setHp
public void setHp(short hp) -
setMp
public void setMp(short mp) -
setWatk
public void setWatk(short watk) -
setMatk
public void setMatk(short matk) -
setWdef
public void setWdef(short wdef) -
setMdef
public void setMdef(short mdef) -
setAcc
public void setAcc(short acc) -
setAvoid
public void setAvoid(short avoid) -
setHands
public void setHands(short hands) -
setSpeed
public void setSpeed(short speed) -
setJump
public void setJump(short jump) -
setUpgradeSlots
public void setUpgradeSlots(byte upgradeSlots) -
getLevel
public byte getLevel() -
setLevel
public void setLevel(byte level) -
getViciousHammer
public byte getViciousHammer() -
setViciousHammer
public void setViciousHammer(byte ham) -
getItemEXP
public int getItemEXP() -
setItemEXP
public void setItemEXP(int itemEXP) -
getEquipExp
public int getEquipExp() -
getEquipExpForLevel
public int getEquipExpForLevel() -
getExpPercentage
public int getExpPercentage() -
getEquipLevel
public int getEquipLevel() -
getBaseLevel
public int getBaseLevel() -
setQuantity
public void setQuantity(short quantity) - Overrides:
setQuantityin classItem
-
getDurability
public int getDurability() -
setDurability
public void setDurability(int dur) -
getEnhance
public byte getEnhance() -
setEnhance
public void setEnhance(byte en) -
getPotential1
public int getPotential1() -
setPotential1
public void setPotential1(int en) -
getPotential2
public int getPotential2() -
setPotential2
public void setPotential2(int en) -
getPotential3
public int getPotential3() -
setPotential3
public void setPotential3(int en) -
getPotential4
public int getPotential4() -
setPotential4
public void setPotential4(int en) -
getPotential5
public int getPotential5() -
setPotential5
public void setPotential5(int en) -
getState
public byte getState() -
resetPotential_Fuse
public void resetPotential_Fuse(boolean half, int potentialState) -
resetPotential
public void resetPotential() -
renewPotential
public void renewPotential(int type) -
getIncSkill
public int getIncSkill() -
setIncSkill
public void setIncSkill(int inc) -
getCharmEXP
public short getCharmEXP() -
getPVPDamage
public short getPVPDamage() -
setCharmEXP
public void setCharmEXP(short s) -
setPVPDamage
public void setPVPDamage(short p) -
getRing
-
setRing
-
getAndroid
-
setAndroid
-
getSocketState
public short getSocketState() -
getSocket1
public int getSocket1() -
setSocket1
public void setSocket1(int socket1) -
getSocket2
public int getSocket2() -
setSocket2
public void setSocket2(int socket2) -
getSocket3
public int getSocket3() -
setSocket3
public void setSocket3(int socket3) -
getLine
public int getLine() -
setLine
public void setLine(int line) -
getLockPot
public int getLockPot() -
setLockPot
public void setLockPot(int LockPot) -
getlockid
public long getlockid() -
setlockid
public void setlockid(long lockid) -
setCustom
-
getCustom
-
getCustomMap
-
getCustomJson
取得自訂屬性的 JSON 字串表示(供資料庫custom欄位保存)。 空Map回傳null(資料庫存NULL)。- Returns:
- JSON 字串,或
null
-
setCustomJson
由 JSON 字串還原自訂屬性(供資料庫載入)。會先清空既有內容;null/ 空白 → 清空。JSON 格式錯誤時記錄警告並保持為空, 絕不讓單一裝備的壞資料中斷整批背包載入。- Parameters:
json- JSON 字串(允許null)
-
markOriginStats
public void markOriginStats()記錄裝備「誕生之初」的原始素值快照(冪等)。已記錄過則「不再變動」—— 確保原始素值之完整性, 之後一般遊戲流程(卷軸強化等)無法藉此覆寫。由裝備創建流程 (server.MapleItemInformationProvider.getEquipById)自動呼叫,腳本通常無需手動使用。 -
recaptureOriginStats
public void recaptureOriginStats()重新記錄原始素值(覆寫先前快照)。裝備創建流程專用:屬性隨機浮動 (randomizeStats)/融合(fuse)會在getEquipById取得基礎值「之後」 才改動能力值,故創建管線於浮動/融合完成後呼叫此法,把原始素值同步為「玩家實際拿到」的浮動後數值 (對應需求範例:基礎 力+1 攻擊+10、浮動後 力+2 攻擊+13 → 原始素值記為後者)。一般遊戲流程請勿呼叫。 -
restoreOriginStats
public void restoreOriginStats()回到「誕生之初」的能力(需求 0605-4.txt 的equip.回到原始狀態())。把卷軸/浮動會動到的 戰鬥能力、升級次數(upgradeSlots)、卷軸成功數(level)與強化次數(enhance) 還原為記錄的原始素值;刻意不動潛能(potential1~5)、插槽(socket1~3)、 裝備等級經驗(itemEXP)、魅力經驗(charmEXP)、強化鎚(vicioushammer)等另行養成/付費屬性。 若從未記錄原始素值(originStats為空,例如本功能上線前的舊裝備)則不做任何事。注意:序列化時值為 0 的欄位刻意不存(見
getOriginStatsJson()),故此處缺鍵即代表 誕生之初為 0,一律以0還原(不可只還原存在的鍵,否則被卷軸從 0 衝上去的能力無法歸 0)。 -
回到原始狀態
public void 回到原始狀態()restoreOriginStats()的中文別名,對應需求所述的equip.回到原始狀態()。 -
hasOriginStats
public boolean hasOriginStats()是否已記錄原始素值。- Returns:
- 已記錄回傳
true(本功能上線前的舊裝備為false)
-
getOriginStats
-
getOriginStatsJson
取得原始素值的 JSON 字串(供資料庫originStats欄位保存)。空則回傳null(存NULL)。只序列化有數值的欄位:值為
0的能力刻意省略,以縮短 DB 字串 (多數裝備十八個欄位僅少數非 0)。還原時缺鍵即視為誕生之初為 0(見restoreOriginStats()), 故省略 0 不損失任何資訊。全為 0(或未記錄)時回傳null。- Returns:
- JSON 字串,或
null
-
setOriginStatsJson
由 JSON 字串還原原始素值(供資料庫載入)。會先清空既有內容;null/空白 → 清空。 格式錯誤時記錄警告並保持為空,絕不讓單一裝備的壞資料中斷整批背包載入。- Parameters:
json- JSON 字串(允許null)
-