Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 30th, 2012  |  syntax: None  |  size: 27.41 KB  |  hits: 21  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. import java.io.*;
  2. import sign.signlink;
  3.  
  4. public class ItemDef {
  5.  
  6.         public static void nullLoader() {
  7.                 mruNodes2 = null;
  8.                 mruNodes1 = null;
  9.                 streamIndices = null;
  10.                 cache = null;
  11.                 stream = null;
  12.         }
  13.  
  14.         public boolean method192(int j) {
  15.                 int k = anInt175;
  16.                 int l = anInt166;
  17.                 if (j == 1) {
  18.                         k = anInt197;
  19.                         l = anInt173;
  20.                 }
  21.                 if (k == -1)
  22.                         return true;
  23.                 boolean flag = true;
  24.                 if (!Model.method463(k))
  25.                         flag = false;
  26.                 if (l != -1 && !Model.method463(l))
  27.                         flag = false;
  28.                 return flag;
  29.         }
  30.  
  31.         public Model method194(int j) {
  32.                 int k = anInt175;
  33.                 int l = anInt166;
  34.                 if (j == 1) {
  35.                         k = anInt197;
  36.                         l = anInt173;
  37.                 }
  38.                 if (k == -1)
  39.                         return null;
  40.                 Model model = Model.method462(k);
  41.                 if (l != -1) {
  42.                         Model model_1 = Model.method462(l);
  43.                         Model models[] = { model, model_1 };
  44.                         model = new Model(2, models);
  45.                 }
  46.                 if (editedModelColor != null) {
  47.                         for (int i1 = 0; i1 < editedModelColor.length; i1++)
  48.                                 model.method476(editedModelColor[i1], newModelColor[i1]);
  49.                 }
  50.                 return model;
  51.         }
  52.  
  53.         public boolean method195(int j) {
  54.                 int k = maleEquip1;
  55.                 int l = maleEquip2;
  56.                 int i1 = anInt185;
  57.                 if (j == 1) {
  58.                         k = femaleEquip1;
  59.                         l = femaleEquip2;
  60.                         i1 = anInt162;
  61.                 }
  62.                 if (k == -1)
  63.                         return true;
  64.                 boolean flag = true;
  65.                 if (!Model.method463(k))
  66.                         flag = false;
  67.                 if (l != -1 && !Model.method463(l))
  68.                         flag = false;
  69.                 if (i1 != -1 && !Model.method463(i1))
  70.                         flag = false;
  71.                 return flag;
  72.         }
  73.  
  74.         public Model method196(int i) {
  75.                 int j = maleEquip1;
  76.                 int k = maleEquip2;
  77.                 int l = anInt185;
  78.                 if (i == 1) {
  79.                         j = femaleEquip1;
  80.                         k = femaleEquip2;
  81.                         l = anInt162;
  82.                 }
  83.                 if (j == -1)
  84.                         return null;
  85.                 Model model = Model.method462(j);
  86.                 if (k != -1)
  87.                         if (l != -1) {
  88.                                 Model model_1 = Model.method462(k);
  89.                                 Model model_3 = Model.method462(l);
  90.                                 Model model_1s[] = { model, model_1, model_3 };
  91.                                 model = new Model(3, model_1s);
  92.                         } else {
  93.                                 Model model_2 = Model.method462(k);
  94.                                 Model models[] = { model, model_2 };
  95.                                 model = new Model(2, models);
  96.                         }
  97.                 if (i == 0 && aByte205 != 0)
  98.                         model.method475(0, aByte205, 0);
  99.                 if (i == 1 && aByte154 != 0)
  100.                         model.method475(0, aByte154, 0);
  101.                 if (editedModelColor != null) {
  102.                         for (int i1 = 0; i1 < editedModelColor.length; i1++)
  103.                                 model.method476(editedModelColor[i1], newModelColor[i1]);
  104.                 }
  105.                 return model;
  106.         }
  107.  
  108.         public void setDefaults() {
  109.                 modelID = 0;
  110.                 name = null;
  111.                 description = null;
  112.                 editedModelColor = null;
  113.                 newModelColor = null;
  114.                 modelZoom = 2000;
  115.                 modelRotation1 = 0;
  116.                 modelRotation2 = 0;
  117.                 anInt204 = 0;
  118.                 modelOffset1 = 0;
  119.                 modelOffset2 = 0;
  120.                 stackable = false;
  121.                 value = 1;
  122.                 membersObject = false;
  123.                 groundActions = null;
  124.                 actions = null;
  125.                 maleEquip1 = -1;
  126.                 maleEquip2 = -1;
  127.                 aByte205 = 0;
  128.                 femaleEquip1 = -1;
  129.                 femaleEquip2 = -1;
  130.                 aByte154 = 0;
  131.                 anInt185 = -1;
  132.                 anInt162 = -1;
  133.                 anInt175 = -1;
  134.                 anInt166 = -1;
  135.                 anInt197 = -1;
  136.                 anInt173 = -1;
  137.                 stackIDs = null;
  138.                 stackAmounts = null;
  139.                 certID = -1;
  140.                 certTemplateID = -1;
  141.                 anInt167 = 128;
  142.                 anInt192 = 128;
  143.                 anInt191 = 128;
  144.                 anInt196 = 0;
  145.                 anInt184 = 0;
  146.                 team = 0;
  147.                 lendID = -1;
  148.                 lentItemID = -1;
  149.         }
  150.  
  151.  
  152.         public static void unpackConfig(StreamLoader streamLoader) {
  153.                 stream = new Stream(streamLoader.getDataForName("obj.dat"));
  154.                 Stream stream = new Stream(streamLoader.getDataForName("obj.idx"));
  155.                 totalItems = stream.readUnsignedWord();
  156.                 streamIndices = new int[totalItems];
  157.                 int i = 2;
  158.                 for (int j = 0; j < totalItems; j++) {
  159.                         streamIndices[j] = i;
  160.                         i += stream.readUnsignedWord();
  161.                 }
  162.                 cache = new ItemDef[10];
  163.                 for (int k = 0; k < 10; k++)
  164.                         cache[k] = new ItemDef();
  165.         }
  166.  
  167.         public static ItemDef forID(int i) {
  168.                 for (int j = 0; j < 10; j++)
  169.                         if (cache[j].id == i)
  170.                                 return cache[j];
  171.                 cacheIndex = (cacheIndex + 1) % 10;
  172.                 ItemDef itemDef = cache[cacheIndex];
  173.                 stream.currentOffset = streamIndices[i];
  174.                 itemDef.id = i;
  175.                 itemDef.setDefaults();
  176.                 itemDef.readValues(stream);
  177.                 if (itemDef.certTemplateID != -1)
  178.                         itemDef.toNote();
  179.                 if (itemDef.lentItemID != -1)
  180.                         itemDef.toLend();
  181.                 if (!isMembers && itemDef.membersObject) {
  182.                         itemDef.name = "Members Object";
  183.                         itemDef.description = "Login to a members' server to use this object.";
  184.                         itemDef.groundActions = null;
  185.                         itemDef.actions = null;
  186.                         itemDef.team = 0;
  187.                 }
  188.                 switch (itemDef.id) {
  189.         case 1079:
  190.                 itemDef.modelZoom = 1842;
  191.                 itemDef.modelRotation1 = 485;
  192.                 itemDef.modelRotation2 = 0;
  193.                 itemDef.modelOffset1 = 1;
  194.                 itemDef.modelOffset2 = -5;
  195.                 itemDef.modelID = 67394;
  196.                 itemDef.maleEquip1 = 66587;
  197.                 itemDef.femaleEquip1 = 66970;
  198.                 itemDef.groundActions = new String[5];
  199.                 itemDef.groundActions[2] = "Take";
  200.                 itemDef.actions = new String[5];
  201.                 itemDef.actions[1] = "Wear";
  202.         break;
  203.         case 1127:
  204.                 itemDef.modelZoom = 1250;
  205.                 itemDef.modelRotation1 = 488;
  206.                 itemDef.modelRotation2 = 0;
  207.                 itemDef.modelOffset1 = -1;
  208.                 itemDef.modelOffset2 = 1;
  209.                 itemDef.modelID = 67405;
  210.                 itemDef.maleEquip1 = 66670;
  211.                 itemDef.femaleEquip1 = 67063;
  212.                 itemDef.groundActions = new String[5];
  213.                 itemDef.groundActions[2] = "Take";
  214.                 itemDef.actions = new String[5];
  215.                 itemDef.actions[1] = "Wear";
  216.         break;
  217.         case 1149:
  218.                 itemDef.name = "Dragon helm";
  219.                 itemDef.modelZoom = 800;
  220.                 itemDef.modelRotation1 = 57;
  221.                 itemDef.modelRotation2 = 0;
  222.                 itemDef.modelOffset1 = 2;
  223.                 itemDef.modelOffset2 = -13;
  224.                 itemDef.modelID = 67241;
  225.                 itemDef.maleEquip1 = 66421;
  226.                 itemDef.femaleEquip1 = 66800;
  227.                 itemDef.groundActions = new String[5];
  228.                 itemDef.groundActions[2] = "Take";
  229.                 itemDef.actions = new String[5];
  230.                 itemDef.actions[1] = "Wear";
  231.         break;
  232.         case 1163:
  233.                 itemDef.name = "Rune helm";
  234.                 itemDef.modelZoom = 658;
  235.                 itemDef.modelRotation1 = 67;
  236.                 itemDef.modelRotation2 = 94;
  237.                 itemDef.modelOffset1 = 0;
  238.                 itemDef.modelOffset2 = 0;
  239.                 itemDef.modelID = 67387;
  240.                 itemDef.maleEquip1 = 66462;
  241.                 itemDef.femaleEquip1 = 66848;
  242.                 itemDef.groundActions = new String[5];
  243.                 itemDef.groundActions[2] = "Take";
  244.                 itemDef.actions = new String[5];
  245.                 itemDef.actions[1] = "Wear";
  246.         break;
  247.         case 1189:
  248.                 itemDef.modelZoom = 1360;
  249.                 itemDef.modelRotation1 = 295;
  250.                 itemDef.modelRotation2 = 106;
  251.                 itemDef.modelOffset1 = 3;
  252.                 itemDef.modelOffset2 = 47;
  253.                 itemDef.modelID = 67555;
  254.                 itemDef.maleEquip1 = 67814;
  255.                 itemDef.femaleEquip1 = 67816;
  256.                 itemDef.groundActions = new String[5];
  257.                 itemDef.groundActions[2] = "Take";
  258.                 itemDef.actions = new String[5];
  259.                 itemDef.actions[1] = "Wear";
  260.         break;
  261.         case 1201:
  262.                 itemDef.modelZoom = 1872;
  263.                 itemDef.modelRotation1 = 512;
  264.                 itemDef.modelRotation2 = 162;
  265.                 itemDef.modelOffset1 = 1;
  266.                 itemDef.modelOffset2 = 3;
  267.                 itemDef.modelID = 67568;
  268.                 itemDef.maleEquip1 = 67854;
  269.                 itemDef.femaleEquip1 = 67830;
  270.                 itemDef.groundActions = new String[5];
  271.                 itemDef.groundActions[2] = "Take";
  272.                 itemDef.actions = new String[5];
  273.                 itemDef.actions[1] = "Wear";
  274.         break;
  275.         case 3105:
  276.                 itemDef.modelZoom = 770;
  277.                 itemDef.modelRotation1 = 239;
  278.                 itemDef.modelRotation2 = 166;
  279.                 itemDef.modelOffset1 = -1;
  280.                 itemDef.modelOffset2 = -6;
  281.                 itemDef.modelID = 51532;
  282.                 itemDef.maleEquip1 = 3704;
  283.                 itemDef.femaleEquip1 = 3708;
  284.                 itemDef.groundActions = new String[5];
  285.                 itemDef.groundActions[2] = "Take";
  286.                 itemDef.actions = new String[5];
  287.                 itemDef.actions[1] = "Wear";
  288.         break;
  289.         case 3140:
  290.                 itemDef.modelZoom = 1486;
  291.                 itemDef.modelRotation1 = 559;
  292.                 itemDef.modelRotation2 = 2042;
  293.                 itemDef.modelOffset1 = 1;
  294.                 itemDef.modelOffset2 = -1;
  295.                 itemDef.modelID = 67218;
  296.                 itemDef.maleEquip1 = 66632;
  297.                 itemDef.femaleEquip1 = 67023;
  298.                 itemDef.groundActions = new String[5];
  299.                 itemDef.groundActions[2] = "Take";
  300.                 itemDef.actions = new String[5];
  301.                 itemDef.actions[1] = "Wear";
  302.         break;
  303.         case 4087:
  304.                 itemDef.modelZoom = 1689;
  305.                 itemDef.modelRotation1 = 387;
  306.                 itemDef.modelRotation2 = 234;
  307.                 itemDef.modelOffset1 = 3;
  308.                 itemDef.modelOffset2 = 7;
  309.                 itemDef.modelID = 67243;
  310.                 itemDef.maleEquip1 = 66529;
  311.                 itemDef.femaleEquip1 = 66916;
  312.                 itemDef.groundActions = new String[5];
  313.                 itemDef.groundActions[2] = "Take";
  314.                 itemDef.actions = new String[5];
  315.                 itemDef.actions[1] = "Wear";
  316.         break;
  317.         case 4585:
  318.                 itemDef.modelZoom = 1689;
  319.                 itemDef.modelRotation1 = 447;
  320.                 itemDef.modelRotation2 = 231;
  321.                 itemDef.modelOffset1 = 0;
  322.                 itemDef.modelOffset2 = -1;
  323.                 itemDef.modelID = 67217;
  324.                 itemDef.maleEquip1 = 66527;
  325.                 itemDef.femaleEquip1 = 66911;
  326.                 itemDef.groundActions = new String[5];
  327.                 itemDef.groundActions[2] = "Take";
  328.                 itemDef.actions = new String[5];
  329.                 itemDef.actions[1] = "Wear";
  330.         break;
  331.         case 11335:
  332.                 itemDef.modelZoom = 871;
  333.                 itemDef.modelRotation1 = 90;
  334.                 itemDef.modelRotation2 = 291;
  335.                 itemDef.modelOffset1 = -4;
  336.                 itemDef.modelOffset2 = -1;
  337.                 itemDef.modelID = 67228;
  338.                 itemDef.maleEquip1 = 66425;
  339.                 itemDef.femaleEquip1 = 66805;
  340.                 itemDef.groundActions = new String[5];
  341.                 itemDef.groundActions[2] = "Take";
  342.                 itemDef.actions = new String[5];
  343.                 itemDef.actions[1] = "Wear";
  344.         break;
  345.         case 11732:
  346.                 itemDef.modelZoom = 871;
  347.                 itemDef.modelRotation1 = 152;
  348.                 itemDef.modelRotation2 = 1673;
  349.                 itemDef.modelOffset1 = -5;
  350.                 itemDef.modelOffset2 = -7;
  351.                 itemDef.modelID = 61393;
  352.                 itemDef.maleEquip1 = 61333;
  353.                 itemDef.femaleEquip1 = 66705;
  354.                 itemDef.groundActions = new String[5];
  355.                 itemDef.groundActions[2] = "Take";
  356.                 itemDef.actions = new String[5];
  357.                 itemDef.actions[1] = "Wear";
  358.         break;
  359.         case 10828:
  360.                 itemDef.modelZoom = 848;
  361.                 itemDef.modelRotation1 = 120;
  362.                 itemDef.modelRotation2 = 30;
  363.                 itemDef.modelOffset1 = 0;
  364.                 itemDef.modelOffset2 = 0;
  365.                 itemDef.modelID = 67321;
  366.                 itemDef.maleEquip1 = 66440;
  367.                 itemDef.femaleEquip1 = 66820;
  368.                 itemDef.groundActions = new String[5];
  369.                 itemDef.groundActions[2] = "Take";
  370.                 itemDef.actions = new String[5];
  371.                 itemDef.actions[1] = "Wear";
  372.         break;
  373.         case 10551:
  374.                 itemDef.modelZoom = 1316;
  375.                 itemDef.modelRotation1 = 512;
  376.                 itemDef.modelRotation2 = 0;
  377.                 itemDef.modelOffset1 = 1;
  378.                 itemDef.modelOffset2 = -1;
  379.                 itemDef.modelID = 67134;
  380.                 itemDef.maleEquip1 = 66620;
  381.                 itemDef.femaleEquip1 = 67006;
  382.                 itemDef.groundActions = new String[5];
  383.                 itemDef.groundActions[2] = "Take";
  384.                 itemDef.actions = new String[5];
  385.                 itemDef.actions[1] = "Wear";
  386.         break;
  387.         case 11724:
  388.                 itemDef.modelZoom = 1486;
  389.                 itemDef.modelRotation1 = 553;
  390.                 itemDef.modelRotation2 = 0;
  391.                 itemDef.modelOffset1 = 0;
  392.                 itemDef.modelOffset2 = 0;
  393.                 itemDef.modelID = 66227;
  394.                 itemDef.maleEquip1 = 66258;
  395.                 itemDef.femaleEquip1 = 67879;
  396.                 itemDef.groundActions = new String[5];
  397.                 itemDef.groundActions[2] = "Take";
  398.                 itemDef.actions = new String[5];
  399.                 itemDef.actions[1] = "Wear";
  400.         break;
  401.         case 11726:
  402.                 itemDef.modelZoom = 1616;
  403.                 itemDef.modelRotation1 = 303;
  404.                 itemDef.modelRotation2 = 144;
  405.                 itemDef.modelOffset1 = 0;
  406.                 itemDef.modelOffset2 = 15;
  407.                 itemDef.modelID = 66224;
  408.                 itemDef.maleEquip1 = 66253;
  409.                 itemDef.femaleEquip1 = 67876;
  410.                 itemDef.groundActions = new String[5];
  411.                 itemDef.groundActions[2] = "Take";
  412.                 itemDef.actions = new String[5];
  413.                 itemDef.actions[1] = "Wear";
  414.         break;
  415.         case 11728:
  416.                 itemDef.modelZoom = 743;
  417.                 itemDef.modelRotation1 = 158;
  418.                 itemDef.modelRotation2 = 159;
  419.                 itemDef.modelOffset1 = 5;
  420.                 itemDef.modelOffset2 = -7;
  421.                 itemDef.modelID = 66223;
  422.                 itemDef.maleEquip1 = 66236;
  423.                 itemDef.femaleEquip1 = 66281;
  424.                 itemDef.groundActions = new String[5];
  425.                 itemDef.groundActions[2] = "Take";
  426.                 itemDef.actions = new String[5];
  427.                 itemDef.actions[1] = "Wear";
  428.         break;
  429.         case 13858:
  430.                 itemDef.modelZoom = 1486;
  431.                 itemDef.modelRotation1 = 553;
  432.                 itemDef.modelRotation2 = 0;
  433.                 itemDef.modelOffset1 = 0;
  434.                 itemDef.modelOffset2 = 0;
  435.                 itemDef.groundActions = new String[5];
  436.                 itemDef.groundActions[2] = "Take";
  437.                 itemDef.actions = new String[5];
  438.                 itemDef.actions[1] = "Wear";
  439.                 itemDef.actions[4] = "Drop";
  440.                 itemDef.modelID = 67488;
  441.                 itemDef.maleEquip1 = 66693;
  442.                 itemDef.femaleEquip1 = 67085;
  443.         break;
  444.         case 13861:
  445.                 itemDef.modelZoom = 1616;
  446.                 itemDef.modelRotation1 = 303;
  447.                 itemDef.modelRotation2 = 144;
  448.                 itemDef.modelOffset1 = 0;
  449.                 itemDef.modelOffset2 = 15;
  450.                 itemDef.groundActions = new String[5];
  451.                 itemDef.groundActions[2] = "Take";
  452.                 itemDef.actions = new String[5];
  453.                 itemDef.actions[1] = "Wear";
  454.                 itemDef.actions[4] = "Drop";
  455.                 itemDef.modelID = 67486;
  456.                 itemDef.maleEquip1 = 66604;
  457.                 itemDef.femaleEquip1 = 66994;
  458.         break;
  459.         case 13864:
  460.                 itemDef.modelZoom = 720;
  461.                 itemDef.modelRotation2 = 176;
  462.                 itemDef.modelRotation1 = 207;
  463.                 itemDef.modelOffset1 = -1;
  464.                 itemDef.modelOffset2 = 5;
  465.                 itemDef.groundActions = new String[5];
  466.                 itemDef.groundActions[2] = "Take";
  467.                 itemDef.actions = new String[5];
  468.                 itemDef.actions[1] = "Wear";
  469.                 itemDef.actions[4] = "Drop";
  470.                 itemDef.modelID = 67487;
  471.                 itemDef.maleEquip1 = 66486;
  472.                 itemDef.femaleEquip1 = 66869;
  473.         break;
  474.         case 14479:
  475.                 itemDef.modelZoom = 1486;
  476.                 itemDef.modelRotation1 = 526;
  477.                 itemDef.modelRotation2 = 0;
  478.                 itemDef.modelOffset1 = 1;
  479.                 itemDef.modelOffset2 = 0;
  480.                 itemDef.modelID = 67237;
  481.                 itemDef.maleEquip1 = 66631;
  482.                 itemDef.femaleEquip1 = 67020;
  483.                 itemDef.groundActions = new String[5];
  484.                 itemDef.groundActions[2] = "Take";
  485.                 itemDef.actions = new String[5];
  486.                 itemDef.actions[1] = "Wear";
  487.         break;
  488.         case 15492:
  489.                 itemDef.modelZoom = 789;
  490.                 itemDef.modelRotation1 = 103;
  491.                 itemDef.modelRotation2 = 247;
  492.                 itemDef.modelOffset1 = -3;
  493.                 itemDef.modelOffset2 = -7;
  494.                 itemDef.modelID = 67432;
  495.                 itemDef.maleEquip1 = 66471;
  496.                 itemDef.femaleEquip1 = 66851;
  497.                 itemDef.groundActions = new String[5];
  498.                 itemDef.groundActions[2] = "Take";
  499.                 itemDef.actions = new String[5];
  500.                 itemDef.actions[1] = "Wear";
  501.                 itemDef.actions[2] = "Disassemble";
  502.         break;
  503.         case 20035:
  504.                 itemDef.name = "Torva full helm";
  505.                 itemDef.modelZoom = 724;
  506.                 itemDef.modelRotation1 = 81;
  507.                 itemDef.modelRotation2 = 1670;
  508.                 itemDef.modelOffset1 = 0;
  509.                 itemDef.modelOffset2 = -24;
  510.                 itemDef.modelID = 67442;
  511.                 itemDef.maleEquip1 = 66475;
  512.                 itemDef.femaleEquip1 = 66858;
  513.                 itemDef.groundActions = new String[5];
  514.                 itemDef.groundActions[2] = "Take";
  515.                 itemDef.actions = new String[5];
  516.                 itemDef.actions[1] = "Wear";
  517.                 itemDef.actions[2] = "Check-charges";
  518.         break;
  519.         case 20039:
  520.                 itemDef.name = "Torva platebody";
  521.                 itemDef.modelZoom = 1513;
  522.                 itemDef.modelRotation1 = 473;
  523.                 itemDef.modelRotation2 = 2042;
  524.                 itemDef.modelOffset1 = 1;
  525.                 itemDef.modelOffset2 = -8;
  526.                 itemDef.modelID = 67440;
  527.                 itemDef.maleEquip1 = 66680;
  528.                 itemDef.femaleEquip1 = 67072;
  529.                 itemDef.groundActions = new String[5];
  530.                 itemDef.groundActions[2] = "Take";
  531.                 itemDef.actions = new String[5];
  532.                 itemDef.actions[1] = "Wear";
  533.                 itemDef.actions[2] = "Check-charges";
  534.         break;
  535.         case 20043:
  536.                 itemDef.name = "Torva platelegs";
  537.                 itemDef.modelZoom = 1550;
  538.                 itemDef.modelRotation1 = 344;
  539.                 itemDef.modelRotation2 = 186;
  540.                 itemDef.modelOffset1 = 5;
  541.                 itemDef.modelOffset2 = 11;
  542.                 itemDef.modelID = 67437;
  543.                 itemDef.maleEquip1 = 66593;
  544.                 itemDef.femaleEquip1 = 66983;
  545.                 itemDef.groundActions = new String[5];
  546.                 itemDef.groundActions[2] = "Take";
  547.                 itemDef.actions = new String[5];
  548.                 itemDef.actions[1] = "Wear";
  549.                 itemDef.actions[2] = "Check-charges";
  550.         break;
  551.                 }
  552.                 itemDef = ItemDef_2.itemDef(i,itemDef);
  553.                 if (itemDef.editedModelColor != null) {
  554.                         for (int i2 = 0; i2 < itemDef.editedModelColor.length; i2++) {
  555.                                 if (itemDef.newModelColor[i2] == 0) {
  556.                                         itemDef.newModelColor[i2] = 1;
  557.                                 }
  558.                         }
  559.                 }
  560.                 ItemFix.loadFixes(i);
  561.         return itemDef;
  562.         }
  563.        
  564.         private void readValues(Stream stream) {
  565.                 do {
  566.                         int i = stream.readUnsignedByte();
  567.                         if (i == 0)
  568.                                 return;
  569.                         if (i == 1) {
  570.                                 modelID = stream.readUnsignedWord();
  571.                         } else if (i == 2)
  572.                                 name = stream.readString();
  573.                         else if (i == 3)
  574.                                 description = stream.readString();
  575.                         else if (i == 4)
  576.                                 modelZoom = stream.readUnsignedWord();
  577.                         else if (i == 5)
  578.                                 modelRotation1 = stream.readUnsignedWord();
  579.                         else if (i == 6)
  580.                                 modelRotation2 = stream.readUnsignedWord();
  581.                         else if (i == 7) {
  582.                                 modelOffset1 = stream.readUnsignedWord();
  583.                                 if (modelOffset1 > 32767)
  584.                                         modelOffset1 -= 0x10000;
  585.                         } else if (i == 8) {
  586.                                 modelOffset2 = stream.readUnsignedWord();
  587.                                 if (modelOffset2 > 32767)
  588.                                         modelOffset2 -= 0x10000;
  589.                         } else if (i == 10)
  590.                                 stream.readUnsignedWord();
  591.                         else if (i == 11)
  592.                                 stackable = true;
  593.                         else if (i == 12)
  594.                                 value = stream.readUnsignedWord();
  595.                         else if (i == 16)
  596.                                 membersObject = true;
  597.                         else if (i == 23) {
  598.                                 maleEquip1 = stream.readUnsignedWord();
  599.                                 aByte205 = stream.readSignedByte();
  600.                         } else if (i == 24)
  601.                                 maleEquip2 = stream.readUnsignedWord();
  602.                         else if (i == 25) {
  603.                                 femaleEquip1 = stream.readUnsignedWord();
  604.                                 aByte154 = stream.readSignedByte();
  605.                         } else if (i == 26)
  606.                                 femaleEquip2 = stream.readUnsignedWord();
  607.                         else if (i >= 30 && i < 35) {
  608.                                 if (groundActions == null)
  609.                                         groundActions = new String[5];
  610.                                 groundActions[i - 30] = stream.readString();
  611.                                 if (groundActions[i - 30].equalsIgnoreCase("hidden"))
  612.                                         groundActions[i - 30] = null;
  613.                         } else if (i >= 35 && i < 40) {
  614.                                 if (actions == null)
  615.                                         actions = new String[5];
  616.                                 actions[i - 35] = stream.readString();
  617.                                 if (actions[i - 35].equalsIgnoreCase("null"))
  618.                                         actions[i - 35] = null;
  619.                         } else if (i == 40) {
  620.                                 int j = stream.readUnsignedByte();
  621.                                 editedModelColor = new int[j];
  622.                                 newModelColor = new int[j];
  623.                                 for (int k = 0; k < j; k++) {
  624.                                         editedModelColor[k] = stream.readUnsignedWord();
  625.                                         newModelColor[k] = stream.readUnsignedWord();
  626.                                 }
  627.                         } else if (i == 78)
  628.                                 anInt185 = stream.readUnsignedWord();
  629.                         else if (i == 79)
  630.                                 anInt162 = stream.readUnsignedWord();
  631.                         else if (i == 90)
  632.                                 anInt175 = stream.readUnsignedWord();
  633.                         else if (i == 91)
  634.                                 anInt197 = stream.readUnsignedWord();
  635.                         else if (i == 92)
  636.                                 anInt166 = stream.readUnsignedWord();
  637.                         else if (i == 93)
  638.                                 anInt173 = stream.readUnsignedWord();
  639.                         else if (i == 95)
  640.                                 anInt204 = stream.readUnsignedWord();
  641.                         else if (i == 97)
  642.                                 certID = stream.readUnsignedWord();
  643.                         else if (i == 98)
  644.                                 certTemplateID = stream.readUnsignedWord();
  645.                         else if (i >= 100 && i < 110) {
  646.                                 if (stackIDs == null) {
  647.                                         stackIDs = new int[10];
  648.                                         stackAmounts = new int[10];
  649.                                 }
  650.                                 stackIDs[i - 100] = stream.readUnsignedWord();
  651.                                 stackAmounts[i - 100] = stream.readUnsignedWord();
  652.                         } else if (i == 110)
  653.                                 anInt167 = stream.readUnsignedWord();
  654.                         else if (i == 111)
  655.                                 anInt192 = stream.readUnsignedWord();
  656.                         else if (i == 112)
  657.                                 anInt191 = stream.readUnsignedWord();
  658.                         else if (i == 113)
  659.                                 anInt196 = stream.readSignedByte();
  660.                         else if (i == 114)
  661.                                 anInt184 = stream.readSignedByte() * 5;
  662.                         else if (i == 115)
  663.                                 team = stream.readUnsignedByte();
  664.                         else if (i == 116)
  665.                                 lendID = stream.readUnsignedWord();
  666.                         else if (i == 117)
  667.                                 lentItemID = stream.readUnsignedWord();
  668.                 } while (true);
  669.         }
  670.        
  671.         public void toNote() {
  672.                 ItemDef itemDef = forID(certTemplateID);
  673.                 modelID = itemDef.modelID;
  674.                 modelZoom = itemDef.modelZoom;
  675.                 modelRotation1 = itemDef.modelRotation1;
  676.                 modelRotation2 = itemDef.modelRotation2;
  677.                 anInt204 = itemDef.anInt204;
  678.                 modelOffset1 = itemDef.modelOffset1;
  679.                 modelOffset2 = itemDef.modelOffset2;
  680.                 editedModelColor = itemDef.editedModelColor;
  681.                 newModelColor = itemDef.newModelColor;
  682.                 ItemDef itemDef_1 = forID(certID);
  683.                 name = itemDef_1.name;
  684.                 membersObject = itemDef_1.membersObject;
  685.                 value = itemDef_1.value;
  686.                 String s = "a";
  687.                 char c = itemDef_1.name.charAt(0);
  688.                 if (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U')
  689.                         s = "an";
  690.                 description = ("Swap this note at any bank for " + s + " " + itemDef_1.name + ".");
  691.                 stackable = true;
  692.         }
  693.        
  694.         private void toLend() {
  695.                 ItemDef itemDef = forID(lentItemID);
  696.                 actions = new String[5];
  697.                 modelID = itemDef.modelID;
  698.                 modelOffset1 = itemDef.modelOffset1;
  699.                 modelRotation2 = itemDef.modelRotation2;
  700.                 modelOffset2 = itemDef.modelOffset2;
  701.                 modelZoom = itemDef.modelZoom;
  702.                 modelRotation1 = itemDef.modelRotation1;
  703.                 anInt204 = itemDef.anInt204;
  704.                 value = 0;
  705.                 ItemDef itemDef_1 = forID(lendID);
  706.                 anInt166 = itemDef_1.anInt166;
  707.                 editedModelColor = itemDef_1.editedModelColor;
  708.                 anInt185 = itemDef_1.anInt185;
  709.                 maleEquip2 = itemDef_1.maleEquip2;
  710.                 anInt173 = itemDef_1.anInt173;
  711.                 anInt175 = itemDef_1.anInt175;
  712.                 groundActions = itemDef_1.groundActions;
  713.                 maleEquip1 = itemDef_1.maleEquip1;
  714.                 name = itemDef_1.name;
  715.                 femaleEquip1 = itemDef_1.femaleEquip1;
  716.                 membersObject = itemDef_1.membersObject;
  717.                 anInt197 = itemDef_1.anInt197;
  718.                 femaleEquip2 = itemDef_1.femaleEquip2;
  719.                 anInt162 = itemDef_1.anInt162;
  720.                 newModelColor = itemDef_1.newModelColor;
  721.                 team = itemDef_1.team;
  722.                 if (itemDef_1.actions != null) {
  723.                         for (int i_33_ = 0; i_33_ < 4; i_33_++)
  724.                                 actions[i_33_] = itemDef_1.actions[i_33_];
  725.                 }
  726.                 actions[4] = "Discard";
  727.         }
  728.  
  729.         public static Sprite getSprite(int i, int j, int k) {
  730.                 if (k == 0) {
  731.                         Sprite sprite = (Sprite) mruNodes1.insertFromCache(i);
  732.                         if (sprite != null && sprite.anInt1445 != j && sprite.anInt1445 != -1) {
  733.                                 sprite.unlink();
  734.                                 sprite = null;
  735.                         }
  736.                         if (sprite != null)
  737.                                 return sprite;
  738.                 }
  739.                 ItemDef itemDef = forID(i);
  740.                 if (itemDef.stackIDs == null)
  741.                         j = -1;
  742.                 if (j > 1) {
  743.                         int i1 = -1;
  744.                         for (int j1 = 0; j1 < 10; j1++)
  745.                                 if (j >= itemDef.stackAmounts[j1] && itemDef.stackAmounts[j1] != 0)
  746.                                         i1 = itemDef.stackIDs[j1];
  747.                         if (i1 != -1)
  748.                                 itemDef = forID(i1);
  749.                 }
  750.                 Model model = itemDef.method201(1);
  751.                 if (model == null)
  752.                         return null;
  753.                 Sprite sprite = null;
  754.                 if (itemDef.certTemplateID != -1) {
  755.                         sprite = getSprite(itemDef.certID, 10, -1);
  756.                         if (sprite == null)
  757.                                 return null;
  758.                 }
  759.                 if (itemDef.lentItemID != -1) {
  760.                         sprite = getSprite(itemDef.lendID, 50, 0);
  761.                         if (sprite == null)
  762.                                 return null;
  763.                 }
  764.                 Sprite sprite2 = new Sprite(32, 32);
  765.                 int k1 = Texture.textureInt1;
  766.                 int l1 = Texture.textureInt2;
  767.                 int ai[] = Texture.anIntArray1472;
  768.                 int ai1[] = DrawingArea.pixels;
  769.                 int i2 = DrawingArea.width;
  770.                 int j2 = DrawingArea.height;
  771.                 int k2 = DrawingArea.topX;
  772.                 int l2 = DrawingArea.bottomX;
  773.                 int i3 = DrawingArea.topY;
  774.                 int j3 = DrawingArea.bottomY;
  775.                 Texture.aBoolean1464 = false;
  776.                 DrawingArea.initDrawingArea(32, 32, sprite2.myPixels);
  777.                 DrawingArea.drawPixels(32, 0, 0, 0, 32);
  778.                 Texture.method364();
  779.                 int k3 = itemDef.modelZoom;
  780.                 if (k == -1)
  781.                         k3 = (int) ((double) k3 * 1.5D);
  782.                 if (k > 0)
  783.                         k3 = (int) ((double) k3 * 1.04D);
  784.                 int l3 = Texture.anIntArray1470[itemDef.modelRotation1] * k3 >> 16;
  785.                 int i4 = Texture.anIntArray1471[itemDef.modelRotation1] * k3 >> 16;
  786.                 model.method482(itemDef.modelRotation2, itemDef.anInt204, itemDef.modelRotation1, itemDef.modelOffset1, l3 + model.modelHeight / 2 + itemDef.modelOffset2, i4 + itemDef.modelOffset2);
  787.                 for (int i5 = 31; i5 >= 0; i5--) {
  788.                         for (int j4 = 31; j4 >= 0; j4--)
  789.                                 if (sprite2.myPixels[i5 + j4 * 32] == 0)
  790.                                         if (i5 > 0 && sprite2.myPixels[(i5 - 1) + j4 * 32] > 1)
  791.                                                 sprite2.myPixels[i5 + j4 * 32] = 1;
  792.                                         else if (j4 > 0 && sprite2.myPixels[i5 + (j4 - 1) * 32] > 1)
  793.                                                 sprite2.myPixels[i5 + j4 * 32] = 1;
  794.                                         else if (i5 < 31 && sprite2.myPixels[i5 + 1 + j4 * 32] > 1)
  795.                                                 sprite2.myPixels[i5 + j4 * 32] = 1;
  796.                                         else if (j4 < 31 && sprite2.myPixels[i5 + (j4 + 1) * 32] > 1)
  797.                                                 sprite2.myPixels[i5 + j4 * 32] = 1;
  798.                 }
  799.                 if (k > 0) {
  800.                         for (int j5 = 31; j5 >= 0; j5--) {
  801.                                 for (int k4 = 31; k4 >= 0; k4--)
  802.                                         if (sprite2.myPixels[j5 + k4 * 32] == 0)
  803.                                                 if (j5 > 0 && sprite2.myPixels[(j5 - 1) + k4 * 32] == 1)
  804.                                                         sprite2.myPixels[j5 + k4 * 32] = k;
  805.                                                 else if (k4 > 0 && sprite2.myPixels[j5 + (k4 - 1) * 32] == 1)
  806.                                                         sprite2.myPixels[j5 + k4 * 32] = k;
  807.                                                 else if (j5 < 31 && sprite2.myPixels[j5 + 1 + k4 * 32] == 1)
  808.                                                         sprite2.myPixels[j5 + k4 * 32] = k;
  809.                                                 else if (k4 < 31 && sprite2.myPixels[j5 + (k4 + 1) * 32] == 1)
  810.                                                         sprite2.myPixels[j5 + k4 * 32] = k;
  811.                         }
  812.                 } else if (k == 0) {
  813.                         for (int k5 = 31; k5 >= 0; k5--) {
  814.                                 for (int l4 = 31; l4 >= 0; l4--)
  815.                                         if (sprite2.myPixels[k5 + l4 * 32] == 0 && k5 > 0 && l4 > 0 && sprite2.myPixels[(k5 - 1) + (l4 - 1) * 32] > 0)
  816.                                                 sprite2.myPixels[k5 + l4 * 32] = 0x302020;
  817.                         }
  818.                 }
  819.                 if (itemDef.certTemplateID != -1) {
  820.                         int l5 = sprite.anInt1444;
  821.                         int j6 = sprite.anInt1445;
  822.                         sprite.anInt1444 = 32;
  823.                         sprite.anInt1445 = 32;
  824.                         sprite.drawSprite(0, 0);
  825.                         sprite.anInt1444 = l5;
  826.                         sprite.anInt1445 = j6;
  827.                 }
  828.                 if (itemDef.lentItemID != -1) {
  829.                         int l5 = sprite.anInt1444;
  830.                         int j6 = sprite.anInt1445;
  831.                         sprite.anInt1444 = 32;
  832.                         sprite.anInt1445 = 32;
  833.                         sprite.drawSprite(0, 0);
  834.                         sprite.anInt1444 = l5;
  835.                         sprite.anInt1445 = j6;
  836.                 }
  837.                 if (k == 0)
  838.                         mruNodes1.removeFromCache(sprite2, i);
  839.                 DrawingArea.initDrawingArea(j2, i2, ai1);
  840.                 DrawingArea.setDrawingArea(j3, k2, l2, i3);
  841.                 Texture.textureInt1 = k1;
  842.                 Texture.textureInt2 = l1;
  843.                 Texture.anIntArray1472 = ai;
  844.                 Texture.aBoolean1464 = true;
  845.                 if (itemDef.stackable)
  846.                         sprite2.anInt1444 = 33;
  847.                 else
  848.                         sprite2.anInt1444 = 32;
  849.                 sprite2.anInt1445 = j;
  850.                 return sprite2;
  851.         }
  852.  
  853.         public Model method201(int i) {
  854.                 if (stackIDs != null && i > 1) {
  855.                         int j = -1;
  856.                         for (int k = 0; k < 10; k++)
  857.                                 if (i >= stackAmounts[k] && stackAmounts[k] != 0)
  858.                                         j = stackIDs[k];
  859.                         if (j != -1)
  860.                                 return forID(j).method201(1);
  861.                 }
  862.                 Model model = (Model) mruNodes2.insertFromCache(id);
  863.                 if (model != null)
  864.                         return model;
  865.                 model = Model.method462(modelID);
  866.                 if (model == null)
  867.                         return null;
  868.                 if (anInt167 != 128 || anInt192 != 128 || anInt191 != 128)
  869.                         model.method478(anInt167, anInt191, anInt192);
  870.                 if (editedModelColor != null) {
  871.                         for (int l = 0; l < editedModelColor.length; l++)
  872.                                 model.method476(editedModelColor[l], newModelColor[l]);
  873.                 }
  874.                 model.method479(64 + anInt196, 768 + anInt184, -50, -10, -50, true);
  875.                 model.aBoolean1659 = true;
  876.                 mruNodes2.removeFromCache(model, id);
  877.                 return model;
  878.         }
  879.  
  880.         public Model method202(int i) {
  881.                 if (stackIDs != null && i > 1) {
  882.                         int j = -1;
  883.                         for (int k = 0; k < 10; k++)
  884.                                 if (i >= stackAmounts[k] && stackAmounts[k] != 0)
  885.                                         j = stackIDs[k];
  886.                         if (j != -1)
  887.                                 return forID(j).method202(1);
  888.                 }
  889.                 Model model = Model.method462(modelID);
  890.                 if (model == null)
  891.                         return null;
  892.                 if (editedModelColor != null) {
  893.                         for (int l = 0; l < editedModelColor.length; l++)
  894.                                 model.method476(editedModelColor[l], newModelColor[l]);
  895.                 }
  896.                 return model;
  897.         }
  898.  
  899.         public ItemDef() {
  900.                 id = -1;
  901.         }
  902.  
  903.         public byte aByte154;
  904.         public int value;
  905.         public int[] editedModelColor;
  906.         public int id;
  907.         static MRUNodes mruNodes1 = new MRUNodes(100);
  908.         public static MRUNodes mruNodes2 = new MRUNodes(50);
  909.         public int[] newModelColor;
  910.         public boolean membersObject;
  911.         public int anInt162;
  912.         public int certTemplateID;
  913.         public int femaleEquip2;
  914.         public int maleEquip1;
  915.         public int anInt166;
  916.         public int anInt167;
  917.         public String groundActions[];
  918.         public int modelOffset1;
  919.         public String name;
  920.         public static ItemDef[] cache;
  921.         public int anInt173;
  922.         public int modelID;
  923.         public int anInt175;
  924.         public boolean stackable;
  925.         public String description;
  926.         public int certID;
  927.         public static int cacheIndex;
  928.         public int modelZoom;
  929.         public static boolean isMembers = true;
  930.         public static Stream stream;
  931.         public int anInt184;
  932.         public int anInt185;
  933.         public int maleEquip2;
  934.         public String actions[];
  935.         public int modelRotation1;
  936.         public int anInt191;
  937.         public int anInt192;
  938.         public int[] stackIDs;
  939.         public int modelOffset2;
  940.         public static int[] streamIndices;
  941.         public int anInt196;
  942.         public int anInt197;
  943.         public int modelRotation2;
  944.         public int femaleEquip1;
  945.         public int[] stackAmounts;
  946.         public int team;
  947.         public static int totalItems;
  948.         public int anInt204;
  949.         public byte aByte205;
  950.         public int lendID;
  951.         public int lentItemID;
  952. }