Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if(Config.itemRequirements) {
- if(targetSlot == 10 || targetSlot == 7 || targetSlot == 5 || targetSlot == 4 || targetSlot == 0 || targetSlot == 9 || targetSlot == 10) {
- if(c.defenceLevelReq > 0) {
- if(c.getPA().getLevelForXP(c.playerXP[1]) < c.defenceLevelReq) {
- c.sendMessage("You need a defence level of "+c.defenceLevelReq+" to wear this item.");
- canWearItem = false;
- }
- }
- if(c.rangeLevelReq > 0) {
- if(c.getPA().getLevelForXP(c.playerXP[4]) < c.rangeLevelReq) {
- c.sendMessage("You need a range level of "+c.rangeLevelReq+" to wear this item.");
- canWearItem = false;
- }
- }
- if(c.magicLevelReq > 0) {
- if(c.getPA().getLevelForXP(c.playerXP[6]) < c.magicLevelReq) {
- c.sendMessage("You need a magic level of "+c.magicLevelReq+" to wear this item.");
- canWearItem = false;
- }
- }
- }
- if(targetSlot == 3) {
- if(c.attackLevelReq > 0) {
- if(c.getPA().getLevelForXP(c.playerXP[0]) < c.attackLevelReq) {
- c.sendMessage("You need an attack level of "+c.attackLevelReq+" to wield this weapon.");
- canWearItem = false;
- }
- }
- if(c.rangeLevelReq > 0) {
- if(c.getPA().getLevelForXP(c.playerXP[4]) < c.rangeLevelReq) {
- c.sendMessage("You need a range level of "+c.rangeLevelReq+" to wield this weapon.");
- canWearItem = false;
- }
- }
- if(c.magicLevelReq > 0) {
- if(c.getPA().getLevelForXP(c.playerXP[6]) < c.magicLevelReq) {
- c.sendMessage("You need a magic level of "+c.magicLevelReq+" to wield this weapon.");
- canWearItem = false;
- }
- }
- }
- }
- if(!canWearItem) {
- return true;
- }
- int wearAmount = c.playerItemsN[slot];
- if (wearAmount < 1) {
- return false;
- }
- if (targetSlot == c.playerWeapon) {
- c.getPA().resetAutocast();
- }
- if(slot >= 0 && wearID >= 0) {
- int toEquip = c.playerItems[slot];
- int toEquipN = c.playerItemsN[slot];
- int toRemove = c.playerEquipment[targetSlot];
- int toRemoveN = c.playerEquipmentN[targetSlot];
- if (toEquip == toRemove + 1 && Item.itemStackable[toRemove]) {
- deleteItem(toRemove, getItemSlot(toRemove), toEquipN);
- c.playerEquipmentN[targetSlot] += toEquipN;
- } else if (targetSlot != 5 && targetSlot != 3) {
- c.playerItems[slot] = toRemove + 1;
- c.playerItemsN[slot] = toRemoveN;
- c.playerEquipment[targetSlot] = toEquip - 1;
- c.playerEquipmentN[targetSlot] = toEquipN;
- } else if (targetSlot == 5) {
- boolean wearing2h = is2handed(getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase(), c.playerEquipment[c.playerWeapon]);
- boolean wearingShield = c.playerEquipment[c.playerShield] > 0;
- if (wearing2h) {
- toRemove = c.playerEquipment[c.playerWeapon];
- toRemoveN = c.playerEquipmentN[c.playerWeapon];
- c.playerEquipment[c.playerWeapon] = -1;
- c.playerEquipmentN[c.playerWeapon] = 0;
- updateSlot(c.playerWeapon);
- }
- c.playerItems[slot] = toRemove + 1;
- c.playerItemsN[slot] = toRemoveN;
- c.playerEquipment[targetSlot] = toEquip - 1;
- c.playerEquipmentN[targetSlot] = toEquipN;
- } else if (targetSlot == 3) {
- boolean is2h = is2handed(getItemName(wearID).toLowerCase(), wearID);
- boolean wearingShield = c.playerEquipment[c.playerShield] > 0;
- boolean wearingWeapon = c.playerEquipment[c.playerWeapon] > 0;
- if (is2h) {
- if (wearingShield && wearingWeapon) {
- if (freeSlots() > 0) {
- c.playerItems[slot] = toRemove + 1;
- c.playerItemsN[slot] = toRemoveN;
- c.playerEquipment[targetSlot] = toEquip - 1;
- c.playerEquipmentN[targetSlot] = toEquipN;
- removeItem(c.playerEquipment[c.playerShield], c.playerShield);
- } else {
- c.sendMessage("You do not have enough inventory space to do this.");
- return false;
- }
- } else if (wearingShield && !wearingWeapon) {
- c.playerItems[slot] = c.playerEquipment[c.playerShield] + 1;
- c.playerItemsN[slot] = c.playerEquipmentN[c.playerShield];
- c.playerEquipment[targetSlot] = toEquip - 1;
- c.playerEquipmentN[targetSlot] = toEquipN;
- c.playerEquipment[c.playerShield] = -1;
- c.playerEquipmentN[c.playerShield] = 0;
- updateSlot(c.playerShield);
- } else {
- c.playerItems[slot] = toRemove + 1;
- c.playerItemsN[slot] = toRemoveN;
- c.playerEquipment[targetSlot] = toEquip - 1;
- c.playerEquipmentN[targetSlot] = toEquipN;
- }
- } else {
- c.playerItems[slot] = toRemove + 1;
- c.playerItemsN[slot] = toRemoveN;
- c.playerEquipment[targetSlot] = toEquip - 1;
- c.playerEquipmentN[targetSlot] = toEquipN;
- }
- }
- resetItems(3214);
- }
- if(targetSlot == 3) {
- c.usingSpecial = false;
- addSpecialBar(wearID);
- }
- if(c.getOutStream() != null && c != null ) {
- c.getOutStream().createFrameVarSizeWord(34);
- c.getOutStream().writeWord(1688);
- c.getOutStream().writeByte(targetSlot);
- c.getOutStream().writeWord(wearID+1);
- if (c.playerEquipmentN[targetSlot] > 254) {
- c.getOutStream().writeByte(255);
- c.getOutStream().writeDWord(c.playerEquipmentN[targetSlot]);
- } else {
- c.getOutStream().writeByte(c.playerEquipmentN[targetSlot]);
- }
- c.getOutStream().endFrameVarSizeWord();
- c.flushOutStream();
- }
- sendWeapon(c.playerEquipment[c.playerWeapon], getItemName(c.playerEquipment[c.playerWeapon]));
- resetBonus();
- getBonus();
- writeBonus();
- c.getCombat().getPlayerAnimIndex(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
- c.getPA().requestUpdates();
- return true;
- } else {
- return false;
- }
- }
- }
- public void wearItem(int wearID, int wearAmount, int targetSlot) {
- synchronized(c) {
- if(c.getOutStream() != null && c != null ) {
- c.getOutStream().createFrameVarSizeWord(34);
- c.getOutStream().writeWord(1688);
- c.getOutStream().writeByte(targetSlot);
- c.getOutStream().writeWord(wearID+1);
- if (wearAmount > 254) {
- c.getOutStream().writeByte(255);
- c.getOutStream().writeDWord(wearAmount);
- } else {
- c.getOutStream().writeByte(wearAmount);
- }
- c.getOutStream().endFrameVarSizeWord();
- c.flushOutStream();
- c.playerEquipment[targetSlot]=wearID;
- c.playerEquipmentN[targetSlot]=wearAmount;
- c.getItems().sendWeapon(c.playerEquipment[c.playerWeapon], c.getItems().getItemName(c.playerEquipment[c.playerWeapon]));
- c.getItems().resetBonus();
- c.getItems().getBonus();
- c.getItems().writeBonus();
- c.getCombat().getPlayerAnimIndex(c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
- c.updateRequired = true;
- c.setAppearanceUpdateRequired(true);
- }
- }
- }
- public void updateSlot(int slot) {
- synchronized(c) {
- if(c.getOutStream() != null && c != null ) {
- c.getOutStream().createFrameVarSizeWord(34);
- c.getOutStream().writeWord(1688);
- c.getOutStream().writeByte(slot);
- c.getOutStream().writeWord(c.playerEquipment[slot] + 1);
- if (c.playerEquipmentN[slot] > 254) {
- c.getOutStream().writeByte(255);
- c.getOutStream().writeDWord(c.playerEquipmentN[slot]);
- } else {
- c.getOutStream().writeByte(c.playerEquipmentN[slot]);
- }
- c.getOutStream().endFrameVarSizeWord();
- c.flushOutStream();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement