- import java.io.*;
- import sign.signlink;
- public class ItemDef {
- public static void nullLoader() {
- mruNodes2 = null;
- mruNodes1 = null;
- streamIndices = null;
- cache = null;
- stream = null;
- }
- public boolean method192(int j) {
- int k = anInt175;
- int l = anInt166;
- if (j == 1) {
- k = anInt197;
- l = anInt173;
- }
- if (k == -1)
- return true;
- boolean flag = true;
- if (!Model.method463(k))
- flag = false;
- if (l != -1 && !Model.method463(l))
- flag = false;
- return flag;
- }
- public Model method194(int j) {
- int k = anInt175;
- int l = anInt166;
- if (j == 1) {
- k = anInt197;
- l = anInt173;
- }
- if (k == -1)
- return null;
- Model model = Model.method462(k);
- if (l != -1) {
- Model model_1 = Model.method462(l);
- Model models[] = { model, model_1 };
- model = new Model(2, models);
- }
- if (editedModelColor != null) {
- for (int i1 = 0; i1 < editedModelColor.length; i1++)
- model.method476(editedModelColor[i1], newModelColor[i1]);
- }
- return model;
- }
- public boolean method195(int j) {
- int k = maleEquip1;
- int l = maleEquip2;
- int i1 = anInt185;
- if (j == 1) {
- k = femaleEquip1;
- l = femaleEquip2;
- i1 = anInt162;
- }
- if (k == -1)
- return true;
- boolean flag = true;
- if (!Model.method463(k))
- flag = false;
- if (l != -1 && !Model.method463(l))
- flag = false;
- if (i1 != -1 && !Model.method463(i1))
- flag = false;
- return flag;
- }
- public Model method196(int i) {
- int j = maleEquip1;
- int k = maleEquip2;
- int l = anInt185;
- if (i == 1) {
- j = femaleEquip1;
- k = femaleEquip2;
- l = anInt162;
- }
- if (j == -1)
- return null;
- Model model = Model.method462(j);
- if (k != -1)
- if (l != -1) {
- Model model_1 = Model.method462(k);
- Model model_3 = Model.method462(l);
- Model model_1s[] = { model, model_1, model_3 };
- model = new Model(3, model_1s);
- } else {
- Model model_2 = Model.method462(k);
- Model models[] = { model, model_2 };
- model = new Model(2, models);
- }
- if (i == 0 && aByte205 != 0)
- model.method475(0, aByte205, 0);
- if (i == 1 && aByte154 != 0)
- model.method475(0, aByte154, 0);
- if (editedModelColor != null) {
- for (int i1 = 0; i1 < editedModelColor.length; i1++)
- model.method476(editedModelColor[i1], newModelColor[i1]);
- }
- return model;
- }
- public void setDefaults() {
- modelID = 0;
- name = null;
- description = null;
- editedModelColor = null;
- newModelColor = null;
- modelZoom = 2000;
- modelRotation1 = 0;
- modelRotation2 = 0;
- anInt204 = 0;
- modelOffset1 = 0;
- modelOffset2 = 0;
- stackable = false;
- value = 1;
- membersObject = false;
- groundActions = null;
- actions = null;
- maleEquip1 = -1;
- maleEquip2 = -1;
- aByte205 = 0;
- femaleEquip1 = -1;
- femaleEquip2 = -1;
- aByte154 = 0;
- anInt185 = -1;
- anInt162 = -1;
- anInt175 = -1;
- anInt166 = -1;
- anInt197 = -1;
- anInt173 = -1;
- stackIDs = null;
- stackAmounts = null;
- certID = -1;
- certTemplateID = -1;
- anInt167 = 128;
- anInt192 = 128;
- anInt191 = 128;
- anInt196 = 0;
- anInt184 = 0;
- team = 0;
- lendID = -1;
- lentItemID = -1;
- }
- public static void unpackConfig(StreamLoader streamLoader) {
- stream = new Stream(streamLoader.getDataForName("obj.dat"));
- Stream stream = new Stream(streamLoader.getDataForName("obj.idx"));
- totalItems = stream.readUnsignedWord();
- streamIndices = new int[totalItems];
- int i = 2;
- for (int j = 0; j < totalItems; j++) {
- streamIndices[j] = i;
- i += stream.readUnsignedWord();
- }
- cache = new ItemDef[10];
- for (int k = 0; k < 10; k++)
- cache[k] = new ItemDef();
- }
- public static ItemDef forID(int i) {
- for (int j = 0; j < 10; j++)
- if (cache[j].id == i)
- return cache[j];
- cacheIndex = (cacheIndex + 1) % 10;
- ItemDef itemDef = cache[cacheIndex];
- stream.currentOffset = streamIndices[i];
- itemDef.id = i;
- itemDef.setDefaults();
- itemDef.readValues(stream);
- if (itemDef.certTemplateID != -1)
- itemDef.toNote();
- if (itemDef.lentItemID != -1)
- itemDef.toLend();
- if (!isMembers && itemDef.membersObject) {
- itemDef.name = "Members Object";
- itemDef.description = "Login to a members' server to use this object.";
- itemDef.groundActions = null;
- itemDef.actions = null;
- itemDef.team = 0;
- }
- switch (itemDef.id) {
- case 1079:
- itemDef.modelZoom = 1842;
- itemDef.modelRotation1 = 485;
- itemDef.modelRotation2 = 0;
- itemDef.modelOffset1 = 1;
- itemDef.modelOffset2 = -5;
- itemDef.modelID = 67394;
- itemDef.maleEquip1 = 66587;
- itemDef.femaleEquip1 = 66970;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 1127:
- itemDef.modelZoom = 1250;
- itemDef.modelRotation1 = 488;
- itemDef.modelRotation2 = 0;
- itemDef.modelOffset1 = -1;
- itemDef.modelOffset2 = 1;
- itemDef.modelID = 67405;
- itemDef.maleEquip1 = 66670;
- itemDef.femaleEquip1 = 67063;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 1149:
- itemDef.name = "Dragon helm";
- itemDef.modelZoom = 800;
- itemDef.modelRotation1 = 57;
- itemDef.modelRotation2 = 0;
- itemDef.modelOffset1 = 2;
- itemDef.modelOffset2 = -13;
- itemDef.modelID = 67241;
- itemDef.maleEquip1 = 66421;
- itemDef.femaleEquip1 = 66800;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 1163:
- itemDef.name = "Rune helm";
- itemDef.modelZoom = 658;
- itemDef.modelRotation1 = 67;
- itemDef.modelRotation2 = 94;
- itemDef.modelOffset1 = 0;
- itemDef.modelOffset2 = 0;
- itemDef.modelID = 67387;
- itemDef.maleEquip1 = 66462;
- itemDef.femaleEquip1 = 66848;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 1189:
- itemDef.modelZoom = 1360;
- itemDef.modelRotation1 = 295;
- itemDef.modelRotation2 = 106;
- itemDef.modelOffset1 = 3;
- itemDef.modelOffset2 = 47;
- itemDef.modelID = 67555;
- itemDef.maleEquip1 = 67814;
- itemDef.femaleEquip1 = 67816;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 1201:
- itemDef.modelZoom = 1872;
- itemDef.modelRotation1 = 512;
- itemDef.modelRotation2 = 162;
- itemDef.modelOffset1 = 1;
- itemDef.modelOffset2 = 3;
- itemDef.modelID = 67568;
- itemDef.maleEquip1 = 67854;
- itemDef.femaleEquip1 = 67830;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 3105:
- itemDef.modelZoom = 770;
- itemDef.modelRotation1 = 239;
- itemDef.modelRotation2 = 166;
- itemDef.modelOffset1 = -1;
- itemDef.modelOffset2 = -6;
- itemDef.modelID = 51532;
- itemDef.maleEquip1 = 3704;
- itemDef.femaleEquip1 = 3708;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 3140:
- itemDef.modelZoom = 1486;
- itemDef.modelRotation1 = 559;
- itemDef.modelRotation2 = 2042;
- itemDef.modelOffset1 = 1;
- itemDef.modelOffset2 = -1;
- itemDef.modelID = 67218;
- itemDef.maleEquip1 = 66632;
- itemDef.femaleEquip1 = 67023;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 4087:
- itemDef.modelZoom = 1689;
- itemDef.modelRotation1 = 387;
- itemDef.modelRotation2 = 234;
- itemDef.modelOffset1 = 3;
- itemDef.modelOffset2 = 7;
- itemDef.modelID = 67243;
- itemDef.maleEquip1 = 66529;
- itemDef.femaleEquip1 = 66916;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 4585:
- itemDef.modelZoom = 1689;
- itemDef.modelRotation1 = 447;
- itemDef.modelRotation2 = 231;
- itemDef.modelOffset1 = 0;
- itemDef.modelOffset2 = -1;
- itemDef.modelID = 67217;
- itemDef.maleEquip1 = 66527;
- itemDef.femaleEquip1 = 66911;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 11335:
- itemDef.modelZoom = 871;
- itemDef.modelRotation1 = 90;
- itemDef.modelRotation2 = 291;
- itemDef.modelOffset1 = -4;
- itemDef.modelOffset2 = -1;
- itemDef.modelID = 67228;
- itemDef.maleEquip1 = 66425;
- itemDef.femaleEquip1 = 66805;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 11732:
- itemDef.modelZoom = 871;
- itemDef.modelRotation1 = 152;
- itemDef.modelRotation2 = 1673;
- itemDef.modelOffset1 = -5;
- itemDef.modelOffset2 = -7;
- itemDef.modelID = 61393;
- itemDef.maleEquip1 = 61333;
- itemDef.femaleEquip1 = 66705;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 10828:
- itemDef.modelZoom = 848;
- itemDef.modelRotation1 = 120;
- itemDef.modelRotation2 = 30;
- itemDef.modelOffset1 = 0;
- itemDef.modelOffset2 = 0;
- itemDef.modelID = 67321;
- itemDef.maleEquip1 = 66440;
- itemDef.femaleEquip1 = 66820;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 10551:
- itemDef.modelZoom = 1316;
- itemDef.modelRotation1 = 512;
- itemDef.modelRotation2 = 0;
- itemDef.modelOffset1 = 1;
- itemDef.modelOffset2 = -1;
- itemDef.modelID = 67134;
- itemDef.maleEquip1 = 66620;
- itemDef.femaleEquip1 = 67006;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 11724:
- itemDef.modelZoom = 1486;
- itemDef.modelRotation1 = 553;
- itemDef.modelRotation2 = 0;
- itemDef.modelOffset1 = 0;
- itemDef.modelOffset2 = 0;
- itemDef.modelID = 66227;
- itemDef.maleEquip1 = 66258;
- itemDef.femaleEquip1 = 67879;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 11726:
- itemDef.modelZoom = 1616;
- itemDef.modelRotation1 = 303;
- itemDef.modelRotation2 = 144;
- itemDef.modelOffset1 = 0;
- itemDef.modelOffset2 = 15;
- itemDef.modelID = 66224;
- itemDef.maleEquip1 = 66253;
- itemDef.femaleEquip1 = 67876;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 11728:
- itemDef.modelZoom = 743;
- itemDef.modelRotation1 = 158;
- itemDef.modelRotation2 = 159;
- itemDef.modelOffset1 = 5;
- itemDef.modelOffset2 = -7;
- itemDef.modelID = 66223;
- itemDef.maleEquip1 = 66236;
- itemDef.femaleEquip1 = 66281;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 13858:
- itemDef.modelZoom = 1486;
- itemDef.modelRotation1 = 553;
- itemDef.modelRotation2 = 0;
- itemDef.modelOffset1 = 0;
- itemDef.modelOffset2 = 0;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- itemDef.actions[4] = "Drop";
- itemDef.modelID = 67488;
- itemDef.maleEquip1 = 66693;
- itemDef.femaleEquip1 = 67085;
- break;
- case 13861:
- itemDef.modelZoom = 1616;
- itemDef.modelRotation1 = 303;
- itemDef.modelRotation2 = 144;
- itemDef.modelOffset1 = 0;
- itemDef.modelOffset2 = 15;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- itemDef.actions[4] = "Drop";
- itemDef.modelID = 67486;
- itemDef.maleEquip1 = 66604;
- itemDef.femaleEquip1 = 66994;
- break;
- case 13864:
- itemDef.modelZoom = 720;
- itemDef.modelRotation2 = 176;
- itemDef.modelRotation1 = 207;
- itemDef.modelOffset1 = -1;
- itemDef.modelOffset2 = 5;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- itemDef.actions[4] = "Drop";
- itemDef.modelID = 67487;
- itemDef.maleEquip1 = 66486;
- itemDef.femaleEquip1 = 66869;
- break;
- case 14479:
- itemDef.modelZoom = 1486;
- itemDef.modelRotation1 = 526;
- itemDef.modelRotation2 = 0;
- itemDef.modelOffset1 = 1;
- itemDef.modelOffset2 = 0;
- itemDef.modelID = 67237;
- itemDef.maleEquip1 = 66631;
- itemDef.femaleEquip1 = 67020;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- break;
- case 15492:
- itemDef.modelZoom = 789;
- itemDef.modelRotation1 = 103;
- itemDef.modelRotation2 = 247;
- itemDef.modelOffset1 = -3;
- itemDef.modelOffset2 = -7;
- itemDef.modelID = 67432;
- itemDef.maleEquip1 = 66471;
- itemDef.femaleEquip1 = 66851;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- itemDef.actions[2] = "Disassemble";
- break;
- case 20035:
- itemDef.name = "Torva full helm";
- itemDef.modelZoom = 724;
- itemDef.modelRotation1 = 81;
- itemDef.modelRotation2 = 1670;
- itemDef.modelOffset1 = 0;
- itemDef.modelOffset2 = -24;
- itemDef.modelID = 67442;
- itemDef.maleEquip1 = 66475;
- itemDef.femaleEquip1 = 66858;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- itemDef.actions[2] = "Check-charges";
- break;
- case 20039:
- itemDef.name = "Torva platebody";
- itemDef.modelZoom = 1513;
- itemDef.modelRotation1 = 473;
- itemDef.modelRotation2 = 2042;
- itemDef.modelOffset1 = 1;
- itemDef.modelOffset2 = -8;
- itemDef.modelID = 67440;
- itemDef.maleEquip1 = 66680;
- itemDef.femaleEquip1 = 67072;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- itemDef.actions[2] = "Check-charges";
- break;
- case 20043:
- itemDef.name = "Torva platelegs";
- itemDef.modelZoom = 1550;
- itemDef.modelRotation1 = 344;
- itemDef.modelRotation2 = 186;
- itemDef.modelOffset1 = 5;
- itemDef.modelOffset2 = 11;
- itemDef.modelID = 67437;
- itemDef.maleEquip1 = 66593;
- itemDef.femaleEquip1 = 66983;
- itemDef.groundActions = new String[5];
- itemDef.groundActions[2] = "Take";
- itemDef.actions = new String[5];
- itemDef.actions[1] = "Wear";
- itemDef.actions[2] = "Check-charges";
- break;
- }
- itemDef = ItemDef_2.itemDef(i,itemDef);
- if (itemDef.editedModelColor != null) {
- for (int i2 = 0; i2 < itemDef.editedModelColor.length; i2++) {
- if (itemDef.newModelColor[i2] == 0) {
- itemDef.newModelColor[i2] = 1;
- }
- }
- }
- ItemFix.loadFixes(i);
- return itemDef;
- }
- private void readValues(Stream stream) {
- do {
- int i = stream.readUnsignedByte();
- if (i == 0)
- return;
- if (i == 1) {
- modelID = stream.readUnsignedWord();
- } else if (i == 2)
- name = stream.readString();
- else if (i == 3)
- description = stream.readString();
- else if (i == 4)
- modelZoom = stream.readUnsignedWord();
- else if (i == 5)
- modelRotation1 = stream.readUnsignedWord();
- else if (i == 6)
- modelRotation2 = stream.readUnsignedWord();
- else if (i == 7) {
- modelOffset1 = stream.readUnsignedWord();
- if (modelOffset1 > 32767)
- modelOffset1 -= 0x10000;
- } else if (i == 8) {
- modelOffset2 = stream.readUnsignedWord();
- if (modelOffset2 > 32767)
- modelOffset2 -= 0x10000;
- } else if (i == 10)
- stream.readUnsignedWord();
- else if (i == 11)
- stackable = true;
- else if (i == 12)
- value = stream.readUnsignedWord();
- else if (i == 16)
- membersObject = true;
- else if (i == 23) {
- maleEquip1 = stream.readUnsignedWord();
- aByte205 = stream.readSignedByte();
- } else if (i == 24)
- maleEquip2 = stream.readUnsignedWord();
- else if (i == 25) {
- femaleEquip1 = stream.readUnsignedWord();
- aByte154 = stream.readSignedByte();
- } else if (i == 26)
- femaleEquip2 = stream.readUnsignedWord();
- else if (i >= 30 && i < 35) {
- if (groundActions == null)
- groundActions = new String[5];
- groundActions[i - 30] = stream.readString();
- if (groundActions[i - 30].equalsIgnoreCase("hidden"))
- groundActions[i - 30] = null;
- } else if (i >= 35 && i < 40) {
- if (actions == null)
- actions = new String[5];
- actions[i - 35] = stream.readString();
- if (actions[i - 35].equalsIgnoreCase("null"))
- actions[i - 35] = null;
- } else if (i == 40) {
- int j = stream.readUnsignedByte();
- editedModelColor = new int[j];
- newModelColor = new int[j];
- for (int k = 0; k < j; k++) {
- editedModelColor[k] = stream.readUnsignedWord();
- newModelColor[k] = stream.readUnsignedWord();
- }
- } else if (i == 78)
- anInt185 = stream.readUnsignedWord();
- else if (i == 79)
- anInt162 = stream.readUnsignedWord();
- else if (i == 90)
- anInt175 = stream.readUnsignedWord();
- else if (i == 91)
- anInt197 = stream.readUnsignedWord();
- else if (i == 92)
- anInt166 = stream.readUnsignedWord();
- else if (i == 93)
- anInt173 = stream.readUnsignedWord();
- else if (i == 95)
- anInt204 = stream.readUnsignedWord();
- else if (i == 97)
- certID = stream.readUnsignedWord();
- else if (i == 98)
- certTemplateID = stream.readUnsignedWord();
- else if (i >= 100 && i < 110) {
- if (stackIDs == null) {
- stackIDs = new int[10];
- stackAmounts = new int[10];
- }
- stackIDs[i - 100] = stream.readUnsignedWord();
- stackAmounts[i - 100] = stream.readUnsignedWord();
- } else if (i == 110)
- anInt167 = stream.readUnsignedWord();
- else if (i == 111)
- anInt192 = stream.readUnsignedWord();
- else if (i == 112)
- anInt191 = stream.readUnsignedWord();
- else if (i == 113)
- anInt196 = stream.readSignedByte();
- else if (i == 114)
- anInt184 = stream.readSignedByte() * 5;
- else if (i == 115)
- team = stream.readUnsignedByte();
- else if (i == 116)
- lendID = stream.readUnsignedWord();
- else if (i == 117)
- lentItemID = stream.readUnsignedWord();
- } while (true);
- }
- public void toNote() {
- ItemDef itemDef = forID(certTemplateID);
- modelID = itemDef.modelID;
- modelZoom = itemDef.modelZoom;
- modelRotation1 = itemDef.modelRotation1;
- modelRotation2 = itemDef.modelRotation2;
- anInt204 = itemDef.anInt204;
- modelOffset1 = itemDef.modelOffset1;
- modelOffset2 = itemDef.modelOffset2;
- editedModelColor = itemDef.editedModelColor;
- newModelColor = itemDef.newModelColor;
- ItemDef itemDef_1 = forID(certID);
- name = itemDef_1.name;
- membersObject = itemDef_1.membersObject;
- value = itemDef_1.value;
- String s = "a";
- char c = itemDef_1.name.charAt(0);
- if (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U')
- s = "an";
- description = ("Swap this note at any bank for " + s + " " + itemDef_1.name + ".");
- stackable = true;
- }
- private void toLend() {
- ItemDef itemDef = forID(lentItemID);
- actions = new String[5];
- modelID = itemDef.modelID;
- modelOffset1 = itemDef.modelOffset1;
- modelRotation2 = itemDef.modelRotation2;
- modelOffset2 = itemDef.modelOffset2;
- modelZoom = itemDef.modelZoom;
- modelRotation1 = itemDef.modelRotation1;
- anInt204 = itemDef.anInt204;
- value = 0;
- ItemDef itemDef_1 = forID(lendID);
- anInt166 = itemDef_1.anInt166;
- editedModelColor = itemDef_1.editedModelColor;
- anInt185 = itemDef_1.anInt185;
- maleEquip2 = itemDef_1.maleEquip2;
- anInt173 = itemDef_1.anInt173;
- anInt175 = itemDef_1.anInt175;
- groundActions = itemDef_1.groundActions;
- maleEquip1 = itemDef_1.maleEquip1;
- name = itemDef_1.name;
- femaleEquip1 = itemDef_1.femaleEquip1;
- membersObject = itemDef_1.membersObject;
- anInt197 = itemDef_1.anInt197;
- femaleEquip2 = itemDef_1.femaleEquip2;
- anInt162 = itemDef_1.anInt162;
- newModelColor = itemDef_1.newModelColor;
- team = itemDef_1.team;
- if (itemDef_1.actions != null) {
- for (int i_33_ = 0; i_33_ < 4; i_33_++)
- actions[i_33_] = itemDef_1.actions[i_33_];
- }
- actions[4] = "Discard";
- }
- public static Sprite getSprite(int i, int j, int k) {
- if (k == 0) {
- Sprite sprite = (Sprite) mruNodes1.insertFromCache(i);
- if (sprite != null && sprite.anInt1445 != j && sprite.anInt1445 != -1) {
- sprite.unlink();
- sprite = null;
- }
- if (sprite != null)
- return sprite;
- }
- ItemDef itemDef = forID(i);
- if (itemDef.stackIDs == null)
- j = -1;
- if (j > 1) {
- int i1 = -1;
- for (int j1 = 0; j1 < 10; j1++)
- if (j >= itemDef.stackAmounts[j1] && itemDef.stackAmounts[j1] != 0)
- i1 = itemDef.stackIDs[j1];
- if (i1 != -1)
- itemDef = forID(i1);
- }
- Model model = itemDef.method201(1);
- if (model == null)
- return null;
- Sprite sprite = null;
- if (itemDef.certTemplateID != -1) {
- sprite = getSprite(itemDef.certID, 10, -1);
- if (sprite == null)
- return null;
- }
- if (itemDef.lentItemID != -1) {
- sprite = getSprite(itemDef.lendID, 50, 0);
- if (sprite == null)
- return null;
- }
- Sprite sprite2 = new Sprite(32, 32);
- int k1 = Texture.textureInt1;
- int l1 = Texture.textureInt2;
- int ai[] = Texture.anIntArray1472;
- int ai1[] = DrawingArea.pixels;
- int i2 = DrawingArea.width;
- int j2 = DrawingArea.height;
- int k2 = DrawingArea.topX;
- int l2 = DrawingArea.bottomX;
- int i3 = DrawingArea.topY;
- int j3 = DrawingArea.bottomY;
- Texture.aBoolean1464 = false;
- DrawingArea.initDrawingArea(32, 32, sprite2.myPixels);
- DrawingArea.drawPixels(32, 0, 0, 0, 32);
- Texture.method364();
- int k3 = itemDef.modelZoom;
- if (k == -1)
- k3 = (int) ((double) k3 * 1.5D);
- if (k > 0)
- k3 = (int) ((double) k3 * 1.04D);
- int l3 = Texture.anIntArray1470[itemDef.modelRotation1] * k3 >> 16;
- int i4 = Texture.anIntArray1471[itemDef.modelRotation1] * k3 >> 16;
- model.method482(itemDef.modelRotation2, itemDef.anInt204, itemDef.modelRotation1, itemDef.modelOffset1, l3 + model.modelHeight / 2 + itemDef.modelOffset2, i4 + itemDef.modelOffset2);
- for (int i5 = 31; i5 >= 0; i5--) {
- for (int j4 = 31; j4 >= 0; j4--)
- if (sprite2.myPixels[i5 + j4 * 32] == 0)
- if (i5 > 0 && sprite2.myPixels[(i5 - 1) + j4 * 32] > 1)
- sprite2.myPixels[i5 + j4 * 32] = 1;
- else if (j4 > 0 && sprite2.myPixels[i5 + (j4 - 1) * 32] > 1)
- sprite2.myPixels[i5 + j4 * 32] = 1;
- else if (i5 < 31 && sprite2.myPixels[i5 + 1 + j4 * 32] > 1)
- sprite2.myPixels[i5 + j4 * 32] = 1;
- else if (j4 < 31 && sprite2.myPixels[i5 + (j4 + 1) * 32] > 1)
- sprite2.myPixels[i5 + j4 * 32] = 1;
- }
- if (k > 0) {
- for (int j5 = 31; j5 >= 0; j5--) {
- for (int k4 = 31; k4 >= 0; k4--)
- if (sprite2.myPixels[j5 + k4 * 32] == 0)
- if (j5 > 0 && sprite2.myPixels[(j5 - 1) + k4 * 32] == 1)
- sprite2.myPixels[j5 + k4 * 32] = k;
- else if (k4 > 0 && sprite2.myPixels[j5 + (k4 - 1) * 32] == 1)
- sprite2.myPixels[j5 + k4 * 32] = k;
- else if (j5 < 31 && sprite2.myPixels[j5 + 1 + k4 * 32] == 1)
- sprite2.myPixels[j5 + k4 * 32] = k;
- else if (k4 < 31 && sprite2.myPixels[j5 + (k4 + 1) * 32] == 1)
- sprite2.myPixels[j5 + k4 * 32] = k;
- }
- } else if (k == 0) {
- for (int k5 = 31; k5 >= 0; k5--) {
- for (int l4 = 31; l4 >= 0; l4--)
- if (sprite2.myPixels[k5 + l4 * 32] == 0 && k5 > 0 && l4 > 0 && sprite2.myPixels[(k5 - 1) + (l4 - 1) * 32] > 0)
- sprite2.myPixels[k5 + l4 * 32] = 0x302020;
- }
- }
- if (itemDef.certTemplateID != -1) {
- int l5 = sprite.anInt1444;
- int j6 = sprite.anInt1445;
- sprite.anInt1444 = 32;
- sprite.anInt1445 = 32;
- sprite.drawSprite(0, 0);
- sprite.anInt1444 = l5;
- sprite.anInt1445 = j6;
- }
- if (itemDef.lentItemID != -1) {
- int l5 = sprite.anInt1444;
- int j6 = sprite.anInt1445;
- sprite.anInt1444 = 32;
- sprite.anInt1445 = 32;
- sprite.drawSprite(0, 0);
- sprite.anInt1444 = l5;
- sprite.anInt1445 = j6;
- }
- if (k == 0)
- mruNodes1.removeFromCache(sprite2, i);
- DrawingArea.initDrawingArea(j2, i2, ai1);
- DrawingArea.setDrawingArea(j3, k2, l2, i3);
- Texture.textureInt1 = k1;
- Texture.textureInt2 = l1;
- Texture.anIntArray1472 = ai;
- Texture.aBoolean1464 = true;
- if (itemDef.stackable)
- sprite2.anInt1444 = 33;
- else
- sprite2.anInt1444 = 32;
- sprite2.anInt1445 = j;
- return sprite2;
- }
- public Model method201(int i) {
- if (stackIDs != null && i > 1) {
- int j = -1;
- for (int k = 0; k < 10; k++)
- if (i >= stackAmounts[k] && stackAmounts[k] != 0)
- j = stackIDs[k];
- if (j != -1)
- return forID(j).method201(1);
- }
- Model model = (Model) mruNodes2.insertFromCache(id);
- if (model != null)
- return model;
- model = Model.method462(modelID);
- if (model == null)
- return null;
- if (anInt167 != 128 || anInt192 != 128 || anInt191 != 128)
- model.method478(anInt167, anInt191, anInt192);
- if (editedModelColor != null) {
- for (int l = 0; l < editedModelColor.length; l++)
- model.method476(editedModelColor[l], newModelColor[l]);
- }
- model.method479(64 + anInt196, 768 + anInt184, -50, -10, -50, true);
- model.aBoolean1659 = true;
- mruNodes2.removeFromCache(model, id);
- return model;
- }
- public Model method202(int i) {
- if (stackIDs != null && i > 1) {
- int j = -1;
- for (int k = 0; k < 10; k++)
- if (i >= stackAmounts[k] && stackAmounts[k] != 0)
- j = stackIDs[k];
- if (j != -1)
- return forID(j).method202(1);
- }
- Model model = Model.method462(modelID);
- if (model == null)
- return null;
- if (editedModelColor != null) {
- for (int l = 0; l < editedModelColor.length; l++)
- model.method476(editedModelColor[l], newModelColor[l]);
- }
- return model;
- }
- public ItemDef() {
- id = -1;
- }
- public byte aByte154;
- public int value;
- public int[] editedModelColor;
- public int id;
- static MRUNodes mruNodes1 = new MRUNodes(100);
- public static MRUNodes mruNodes2 = new MRUNodes(50);
- public int[] newModelColor;
- public boolean membersObject;
- public int anInt162;
- public int certTemplateID;
- public int femaleEquip2;
- public int maleEquip1;
- public int anInt166;
- public int anInt167;
- public String groundActions[];
- public int modelOffset1;
- public String name;
- public static ItemDef[] cache;
- public int anInt173;
- public int modelID;
- public int anInt175;
- public boolean stackable;
- public String description;
- public int certID;
- public static int cacheIndex;
- public int modelZoom;
- public static boolean isMembers = true;
- public static Stream stream;
- public int anInt184;
- public int anInt185;
- public int maleEquip2;
- public String actions[];
- public int modelRotation1;
- public int anInt191;
- public int anInt192;
- public int[] stackIDs;
- public int modelOffset2;
- public static int[] streamIndices;
- public int anInt196;
- public int anInt197;
- public int modelRotation2;
- public int femaleEquip1;
- public int[] stackAmounts;
- public int team;
- public static int totalItems;
- public int anInt204;
- public byte aByte205;
- public int lendID;
- public int lentItemID;
- }