📄 l1equipmentslot.java
字号:
int addMr = 0;
addMr += equipment.getMr();
if (item.getItemId() == 20236 && _owner.isElf()) {
addMr += 5;
}
if (addMr != 0) {
_owner.addMr(addMr);
_owner.sendPackets(new S_SPMR(_owner));
}
//飾品強化卷軸
if (item.get_addsp() != 0 || equipment.getaddSp() !=0) {
_owner.addSp(item.get_addsp() + equipment.getaddSp());
_owner.sendPackets(new S_SPMR(_owner));
}
//飾品強化卷軸
if (item.isHasteItem()) {
_owner.addHasteItemEquipped(1);
_owner.removeHasteSkillEffect();
if (_owner.getMoveSpeed() != 1) {
_owner.setMoveSpeed(1);
_owner.sendPackets(new S_SkillHaste(_owner.getId(), 1, -1));
_owner.broadcastPacket(new S_SkillHaste(_owner.getId(), 1, 0));
}
}
if (item.getItemId() == 20383) { // 騎馬用ヘルム
if (_owner.hasSkillEffect(STATUS_BRAVE)) {
_owner.killSkillEffectTimer(STATUS_BRAVE);
_owner.sendPackets(new S_SkillBrave(_owner.getId(), 0, 0));
_owner.broadcastPacket(new S_SkillBrave(_owner.getId(), 0, 0));
_owner.setBraveSpeed(0);
}
}
_owner.getEquipSlot().setMagicHelm(equipment);
if (item.getType2() == 1) {
setWeapon(equipment);
} else if (item.getType2() == 2) {
setArmor(equipment);
_owner.sendPackets(new S_SPMR(_owner));
}
}
public void remove(L1ItemInstance equipment) {
L1Item item = equipment.getItem();
if (item.getType2() == 0) {
return;
}
//飾品強化卷軸
_owner.addMaxHp( - (item.get_addhp() + equipment.getaddHp()));
_owner.addMaxMp( - (item.get_addmp() + equipment.getaddMp()));
//飾品強化卷軸
_owner.addStr((byte) -item.get_addstr());
_owner.addCon((byte) -item.get_addcon());
_owner.addDex((byte) -item.get_adddex());
_owner.addInt((byte) -item.get_addint());
_owner.addWis((byte) -item.get_addwis());
if (item.get_addwis() != 0) {
_owner.resetBaseMr();
}
_owner.addCha((byte) -item.get_addcha());
int addMr = 0;
addMr -= equipment.getMr();
if (item.getItemId() == 20236 && _owner.isElf()) {
addMr -= 5;
}
if (addMr != 0) {
_owner.addMr(addMr);
_owner.sendPackets(new S_SPMR(_owner));
}
//飾品強化卷軸
if (item.get_addsp() != 0 || equipment.getaddSp() != 0) {
_owner.addSp( - (item.get_addsp() + equipment.getaddSp()));
_owner.sendPackets(new S_SPMR(_owner));
}
//飾品強化卷軸
if (item.isHasteItem()) {
_owner.addHasteItemEquipped(-1);
if (_owner.getHasteItemEquipped() == 0) {
_owner.setMoveSpeed(0);
_owner.sendPackets(new S_SkillHaste(_owner.getId(), 0, 0));
_owner.broadcastPacket(new S_SkillHaste(_owner.getId(), 0, 0));
}
}
_owner.getEquipSlot().removeMagicHelm(_owner.getId(), equipment);
if (item.getType2() == 1) {
removeWeapon(equipment);
} else if (item.getType2() == 2) {
removeArmor(equipment);
}
}
public void setMagicHelm(L1ItemInstance item) {
//施法前判斷有無學過法術 by 0936690278
//XXX 智力敏大小風盔
switch(item.getItemId()){
case 20013:
_owner.sendPackets(new S_AddSkill(0, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.setSkillMastery(26);
_owner.setSkillMastery(43);
break;
case 20014:
_owner.sendPackets(new S_AddSkill(1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.setSkillMastery(1);
_owner.setSkillMastery(19);
break;
case 20015:
_owner.sendPackets(new S_AddSkill(0, 24, 0, 0, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.setSkillMastery(12);
_owner.setSkillMastery(13);
_owner.setSkillMastery(42);
break;
case 20008:
_owner.sendPackets(new S_AddSkill(0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.setSkillMastery(43);
break;
case 20023:
_owner.sendPackets(new S_AddSkill(0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.setSkillMastery(54);
break;
}
//~智力敏大小風盔
//~施法前判斷有無學過法術 by 0936690278
/*
if (item.getItemId() == 20013) {
_owner.sendPackets(new S_AddSkill(0, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
}
if (item.getItemId() == 20014) {
_owner.sendPackets(new S_AddSkill(1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
}
if (item.getItemId() == 20015) {
_owner.sendPackets(new S_AddSkill(0, 24, 0, 0, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
}
if (item.getItemId() == 20008) {
_owner.sendPackets(new S_AddSkill(0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
}
if (item.getItemId() == 20023) {
_owner.sendPackets(new S_AddSkill(0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
}
*/
}
public void removeMagicHelm(int objectId, L1ItemInstance item) {
//施法前判斷有無學過法術 by 0936690278
if (item.getItemId() == 20013) { // 魔法のヘルム:迅速
if (!SkillsTable.getInstance().spellCheck(objectId, 26)) { // フィジカルエンチャント:DEX
_owner.sendPackets(new S_DelSkill(0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.removeSkillMastery(26);
}
if (!SkillsTable.getInstance().spellCheck(objectId, 43)) { // ヘイスト
_owner.sendPackets(new S_DelSkill(0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.removeSkillMastery(43);
}
}
if (item.getItemId() == 20014) { // 魔法のヘルム:治癒
if (!SkillsTable.getInstance().spellCheck(objectId, 1)) { // ヒール
_owner.sendPackets(new S_DelSkill(1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.removeSkillMastery(1);
}
if (!SkillsTable.getInstance().spellCheck(objectId, 19)) { // エキストラヒール
_owner.sendPackets(new S_DelSkill(0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.removeSkillMastery(19);
}
}
if (item.getItemId() == 20015) { // 魔法のヘルム:力
if (!SkillsTable.getInstance().spellCheck(objectId, 12)) { // エンチャントウェポン
_owner.sendPackets(new S_DelSkill(0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.removeSkillMastery(12);
}
if (!SkillsTable.getInstance().spellCheck(objectId, 13)) { // ディテクション
_owner.sendPackets(new S_DelSkill(0, 16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0));
_owner.removeSkillMastery(13);
}
if (!SkillsTable.getInstance().spellCheck(objectId, 42)) { // フィジカルエンチャント:STR
_owner.sendPackets(new S_DelSkill(0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.removeSkillMastery(42);
}
}
if (item.getItemId() == 20008) { // マイナーウィンドヘルム
if (!SkillsTable.getInstance().spellCheck(objectId, 43)) { // ヘイスト
_owner.sendPackets(new S_DelSkill(0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
_owner.removeSkillMastery(43);
}
}
if (item.getItemId() == 20023) { // ウィンドヘルム
if (!SkillsTable.getInstance().spellCheck(objectId, 54)) { // グレーターヘイスト
_owner.sendPackets(new S_DelSkill(0, 0, 0, 0, 0, 0, 32, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0));
_owner.removeSkillMastery(54);
}
}
//~施法前判斷有無學過法術 by 0936690278
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -