public void insertOrderDeathInOrder(DVector DV, long lastStart, String msg, Tick tock) { if (DV.size() > 0) for (int i = 0; i < DV.size(); i++) { if (((Long) DV.elementAt(i, 1)).longValue() > lastStart) { DV.insertElementAt(i, Long.valueOf(lastStart), msg, tock); return; } } DV.addElement(Long.valueOf(lastStart), msg, tock); }
private void addSortedRoom(Room R, int x, int y) { if ((x < 0) || (y < 0) || (y >= yGridSize()) || (x >= xGridSize()) || (R == null)) return; synchronized (rooms) { long total = ((long) x << 31) + y; int pos = properRoomIndex(x, y); if (pos >= rooms.size()) { rooms.addElement(R, Integer.valueOf(x), Integer.valueOf(y)); return; } long comptotal = (((Integer) rooms.elementAt(pos, 2)).longValue() << 31) + ((Integer) rooms.elementAt(pos, 3)).longValue(); int comp = comptotal > total ? 1 : (comptotal == total) ? 0 : -1; if (comp == 0) return; if (comp > 0) rooms.insertElementAt(pos, R, Integer.valueOf(x), Integer.valueOf(y)); else if (pos == rooms.size() - 1) rooms.addElement(R, Integer.valueOf(x), Integer.valueOf(y)); else rooms.insertElementAt(pos + 1, R, Integer.valueOf(x), Integer.valueOf(y)); } }
public void confirmWearability(MOB mob) { if (mob == null) return; Race R = mob.charStats().getMyRace(); DVector reWearSet = new DVector(2); Item item = null; for (int i = 0; i < mob.inventorySize(); i++) { item = mob.fetchInventory(i); if ((item != null) && (!item.amWearingAt(Wearable.IN_INVENTORY))) { Long oldCode = Long.valueOf(item.rawWornCode()); item.unWear(); if (reWearSet.size() == 0) reWearSet.addElement(item, oldCode); else { short layer = (item instanceof Armor) ? ((Armor) item).getClothingLayer() : 0; int d = 0; for (; d < reWearSet.size(); d++) if (reWearSet.elementAt(d, 1) instanceof Armor) { if (((Armor) reWearSet.elementAt(d, 1)).getClothingLayer() > layer) break; } else if (0 > layer) break; if (d >= reWearSet.size()) reWearSet.addElement(item, oldCode); else reWearSet.insertElementAt(d, item, oldCode); } } } for (int r = 0; r < reWearSet.size(); r++) { item = (Item) reWearSet.elementAt(r, 1); long oldCode = ((Long) reWearSet.elementAt(r, 2)).longValue(); int msgCode = CMMsg.MSG_WEAR; if ((oldCode & Wearable.WORN_WIELD) > 0) msgCode = CMMsg.MSG_WIELD; else if ((oldCode & Wearable.WORN_HELD) > 0) msgCode = CMMsg.MSG_HOLD; CMMsg msg = CMClass.getMsg( mob, item, null, CMMsg.NO_EFFECT, null, msgCode, null, CMMsg.NO_EFFECT, null); if ((R.okMessage(mob, msg)) && (item.okMessage(item, msg)) && ((mob.charStats().getWearableRestrictionsBitmap() & oldCode) == 0) && (item.canWear(mob, oldCode))) item.wearAt(oldCode); } // why wasn't that here before? mob.recoverEnvStats(); mob.recoverCharStats(); mob.recoverMaxState(); }