變身限定使用 武器、裝備 解說
DB中的 polymorphs 這個資料庫是管變身限制及對話檔變身對應的。
變身所需等級(minlevel)
限定使用武器(weaponequip)
限定使用裝備(armorequip)
能否使用技能(isSkillUse)
變身原因(cause)
大致上大家都了解這些功能如何應用。
唯一比較不熟悉的是,限定使用武器(weaponequip)、限定使用裝備(armorequip)這兩個。
到底上面的數字是怎麼算出來的?又代表什麼?在此小弟為你一一介紹。
首先必須了解
各武器所代表的編號:(weaponequip)
匕首 = 1
單手劍 = 2
雙手劍 = 4
斧頭 = 8
矛 = 16
棍棒 = 32
雙刀 = 64
雙爪 = 128
弓 = 256
奇古獸 = 512
鎖鏈劍 = 1024
--------------------------------------------------------
當我要限制這個變身只能使用 鎖鏈劍 其他的都不能使用
數值該是多少呢!? 從上表找出代碼
鎖鏈劍 = 1024
限制武器數值就填上: 1024
如果要 鎖鏈劍 + 雙手劍 那就是 1024 + 4 = 1028
如果要全部的武器都能夠使用的話呢? 那就把全部數值相加
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 + 512 + 1024 = 2047
這樣這個變身就能夠使用所有的武器了。
---------------------------------------------------------
各防具所代表的編號:(armorequip)
頭盔 = 1
項鍊 = 2
耳環 = 4
內衣 = 8
盔甲 = 16
斗篷 = 32
皮帶 = 64
盾牌 = 128
手套 = 256
戒指 = 512
鞋子 = 1024
臂甲 = 2048 (不確定)
--------------------------------相關原始資料:
// weapon equip bit
private static final int DAGGER_EQUIP = 1;//匕首
private static final int SWORD_EQUIP = 2;//單手劍
private static final int TWOHANDSWORD_EQUIP = 4; //雙手劍
private static final int AXE_EQUIP = 8; //斧頭
private static final int SPEAR_EQUIP = 16; //矛
private static final int STAFF_EQUIP = 32; //棍棒
private static final int EDORYU_EQUIP = 64;//雙刀
private static final int CLAW_EQUIP = 128;//雙爪
private static final int BOW_EQUIP = 256; // 弓
private static final int KIRINGKU_EQUIP = 512;//奇古獸
private static final int CHAINSWORD_EQUIP = 1024;//鎖鏈劍
// armor equip bit
private static final int HELM_EQUIP = 1; //頭盔
private static final int AMULET_EQUIP = 2; //項鍊
private static final int EARRING_EQUIP = 4;//耳環
private static final int TSHIRT_EQUIP = 8; //內衣
private static final int ARMOR_EQUIP = 16;//盔甲
private static final int CLOAK_EQUIP = 32;//斗篷
private static final int BELT_EQUIP = 64;//皮帶
private static final int SHIELD_EQUIP = 128;//盾牌
private static final int GLOVE_EQUIP = 256;//手套
private static final int RING_EQUIP = 512;//戒指
private static final int BOOTS_EQUIP = 1024;//鞋子
private static final int GUARDER_EQUIP = 2048;//臂甲
// 変身の原因を示すbit
public static final int MORPH_BY_ITEMMAGIC = 1;
public static final int MORPH_BY_GM = 2;
public static final int MORPH_BY_NPC = 4; // 占星術師ケプリシャ以外のNPC
public static final int MORPH_BY_KEPLISHA = 8;
public static final int MORPH_BY_LOGIN = 0;
|