Class JobPacket.PhantomPacket
java.lang.Object
tools.packet.JobPacket.PhantomPacket
- Enclosing class:
JobPacket
幻影 (Phantom) 職業專屬封包建構器。
負責建構幻影竊取技能 (Stolen Skill) 與卡牌堆疊 (Card Stack) 相關的客戶端封包, 為 149.1 版本特定內容。
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]addStolenSkill(int jobNum, int index, int skill, int level) 建構新增竊取技能的封包。static byte[]gainCardStack(int oid, int runningId, int color, int skillid, int damage, int times) 建構幻影獲得卡牌堆疊 (Card Stack) 的封包。static byte[]removeStolenSkill(int jobNum, int index) 建構移除竊取技能的封包。static byte[]replaceStolenSkill(int base, int skill) 建構替換竊取技能的封包。static byte[]updateCardStack(int total) 建構更新幻影卡牌堆疊數量的封包。
-
Constructor Details
-
PhantomPacket
public PhantomPacket()
-
-
Method Details
-
addStolenSkill
public static byte[] addStolenSkill(int jobNum, int index, int skill, int level) 建構新增竊取技能的封包。對應送出 opcode
SendPacketOpcode.UPDATE_STOLEN_SKILLS,操作碼為新增 (1/0), 序列化目標職業、技能槽索引、技能編號與技能等級。- Parameters:
jobNum- 來源職業編號index- 竊取技能槽位索引skill- 被竊取的技能編號level- 該技能等級- Returns:
- 封包位元組陣列
-
removeStolenSkill
public static byte[] removeStolenSkill(int jobNum, int index) 建構移除竊取技能的封包。對應送出 opcode
SendPacketOpcode.UPDATE_STOLEN_SKILLS,操作碼為移除 (1/3), 序列化要移除的來源職業與技能槽位索引。- Parameters:
jobNum- 來源職業編號index- 欲移除的竊取技能槽位索引- Returns:
- 封包位元組陣列
-
replaceStolenSkill
public static byte[] replaceStolenSkill(int base, int skill) 建構替換竊取技能的封包。對應送出 opcode
SendPacketOpcode.REPLACE_SKILLS,將既有技能base替換為新技能skill;當skill > 0時旗標寫入 1,否則寫入 0。- Parameters:
base- 欲被替換的原技能編號skill- 替換後的新技能編號- Returns:
- 封包位元組陣列
-
gainCardStack
public static byte[] gainCardStack(int oid, int runningId, int color, int skillid, int damage, int times) 建構幻影獲得卡牌堆疊 (Card Stack) 的封包。對應送出 opcode
SendPacketOpcode.GAIN_FORCE,序列化施法者物件 ID、傷害值、 技能編號,並依times次數逐張寫入卡牌資料 (顏色與位置)。注意:每張卡牌的部分欄位使用
Randomizer隨機產生 (rand(15,29)、rand(7,11)、rand(0,9)),因此輸出為非確定性 (non-deterministic),不適用於黃金位元組快照測試。- Parameters:
oid- 施法者 (角色) 的物件 IDrunningId- 卡牌起始編號 (damage == 0時逐張遞增)color- 卡牌顏色skillid- 觸發此卡牌堆疊的技能編號damage- 傷害值 (為 0 時改採遞增編號模式)times- 產生的卡牌張數- Returns:
- 封包位元組陣列
-
updateCardStack
public static byte[] updateCardStack(int total) 建構更新幻影卡牌堆疊數量的封包。對應送出 opcode
SendPacketOpcode.PHANTOM_CARD,僅寫入目前的卡牌堆疊總數total。- Parameters:
total- 目前的卡牌堆疊總數- Returns:
- 封包位元組陣列
-