1246 lines
60 KiB
C#
1246 lines
60 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using static System.Diagnostics.DebuggableAttribute;
|
|
|
|
namespace app
|
|
{
|
|
public class ObjectsStruc
|
|
{
|
|
|
|
Form1 Form1_0;
|
|
|
|
public long ObjectPointerLocation = 0;
|
|
public byte[] objectdatastruc = new byte[144];
|
|
public uint txtFileNo = 0;
|
|
public uint ObjectUnitID = 0;
|
|
public long pPathPtr = 0;
|
|
public ushort itemx = 0;
|
|
public ushort itemy = 0;
|
|
public byte[] pPath = new byte[144];
|
|
public byte[] pUnitData = new byte[144];
|
|
public long pUnitDataPtr = 0;
|
|
|
|
public int LastDiffX = 999;
|
|
public int LastDiffY = 999;
|
|
public long NearestObjectPointer = 0;
|
|
public int MaxCheckDistance = 40;
|
|
public byte interactType = 0;
|
|
|
|
public string ObjectOwnerName = "";
|
|
|
|
public void SetForm1(Form1 form1_1)
|
|
{
|
|
Form1_0 = form1_1;
|
|
}
|
|
|
|
public void GetUnitData()
|
|
{
|
|
pUnitDataPtr = BitConverter.ToInt64(objectdatastruc, 0x10);
|
|
pUnitData = new byte[144];
|
|
Form1_0.Mem_0.ReadRawMemory(pUnitDataPtr, ref pUnitData, pUnitData.Length);
|
|
interactType = Form1_0.Mem_0.ReadByteRaw((IntPtr) (pUnitDataPtr + 0x08));
|
|
|
|
//########
|
|
byte[] pUnitNameData = new byte[16];
|
|
Form1_0.Mem_0.ReadRawMemory(pUnitDataPtr + 0x34, ref pUnitNameData, pUnitNameData.Length);
|
|
ObjectOwnerName = "";
|
|
for (int i2 = 0; i2 < 16; i2++)
|
|
{
|
|
if (pUnitNameData[i2] != 0x00)
|
|
{
|
|
ObjectOwnerName += (char)pUnitNameData[i2];
|
|
}
|
|
}
|
|
//########
|
|
}
|
|
|
|
public List<int[]> GetAllObjectsNearby(string ObjectType)
|
|
{
|
|
//"object", "GoodChest"
|
|
Form1_0.PatternsScan_0.scanForUnitsPointer("objects");
|
|
|
|
List<int[]> objectsPositions2 = new List<int[]>();
|
|
|
|
for (int i = 0; i < Form1_0.PatternsScan_0.AllObjectsPointers.Count; i++)
|
|
{
|
|
ObjectPointerLocation = Form1_0.PatternsScan_0.AllObjectsPointers[i];
|
|
if (ObjectPointerLocation > 0)
|
|
{
|
|
//objectdatastruc = new byte[144];
|
|
objectdatastruc = new byte[64];
|
|
Form1_0.Mem_0.ReadRawMemory(ObjectPointerLocation, ref objectdatastruc, objectdatastruc.Length);
|
|
|
|
txtFileNo = BitConverter.ToUInt32(objectdatastruc, 4);
|
|
//ObjectUnitID = BitConverter.ToUInt32(objectdatastruc, 0x08);
|
|
//GetUnitData();
|
|
GetUnitPathData();
|
|
|
|
//Form1_0.method_1("Object: " + getObjectName((int)txtFileNo) + " - " + itemx + ", " + itemy, Color.DarkOrchid);
|
|
if (itemx != 0 && itemy != 0)
|
|
{
|
|
if (getObjectName((int)txtFileNo) == ObjectType)
|
|
{
|
|
//objectsPositions2.Add(Tuple.Create((int)itemx, (int)itemy));
|
|
objectsPositions2.Add(new int[2] { (int)itemx, (int)itemy });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return objectsPositions2;
|
|
}
|
|
|
|
public void DebugObjects()
|
|
{
|
|
Form1_0.ClearDebugobjects();
|
|
DebuggingObjects = true;
|
|
GetObjects("", false);
|
|
DebuggingObjects = false;
|
|
}
|
|
|
|
public bool DebuggingObjects = false;
|
|
|
|
public bool GetObjects(string ObjectType, bool Nearest, List<uint> IgnoredIDList = null, int MaxDistance = 999, string PortalOwner = "", int PortalArea = 0)
|
|
{
|
|
txtFileNo = 0;
|
|
ObjectUnitID = 0;
|
|
NearestObjectPointer = 0;
|
|
LastDiffX = 999;
|
|
LastDiffY = 999;
|
|
long LastPointer = 0;
|
|
Form1_0.PatternsScan_0.scanForUnitsPointer("objects");
|
|
|
|
for (int i = 0; i < Form1_0.PatternsScan_0.AllObjectsPointers.Count; i++)
|
|
{
|
|
ObjectPointerLocation = Form1_0.PatternsScan_0.AllObjectsPointers[i];
|
|
if (ObjectPointerLocation > 0)
|
|
{
|
|
//objectdatastruc = new byte[144];
|
|
objectdatastruc = new byte[64];
|
|
Form1_0.Mem_0.ReadRawMemory(ObjectPointerLocation, ref objectdatastruc, objectdatastruc.Length);
|
|
|
|
txtFileNo = BitConverter.ToUInt32(objectdatastruc, 4);
|
|
ObjectUnitID = BitConverter.ToUInt32(objectdatastruc, 0x08);
|
|
GetUnitData();
|
|
GetUnitPathData();
|
|
|
|
//Form1_0.method_1("Object: " + getObjectName((int)txtFileNo) + " - " + itemx + ", " + itemy, Color.DarkOrchid);
|
|
|
|
if (DebuggingObjects)
|
|
{
|
|
Form1_0.AppendTextDebugObjects("ID:" + txtFileNo + "(" + getObjectName((int)txtFileNo) + ") at:" + itemx + ", " + itemy + Environment.NewLine);
|
|
}
|
|
|
|
if (ObjectType == "TownPortal")
|
|
{
|
|
if (isPortal((int)txtFileNo) == 1)
|
|
{
|
|
if (ObjectUnitID != 0 && ObjectUnitID != 4 && !IsIgnoredID(IgnoredIDList) && itemx != 0 && itemy != 0)
|
|
{
|
|
//Form1_0.method_1("PortalID: 0x" + ObjectUnitID.ToString("X") + " to Area: " + interactType + " (" + ((Enums.Area)interactType) + ")", System.Drawing.Color.DarkMagenta);
|
|
//Form1_0.method_1("Object: " + itemx + ", " + itemy + " - " + getObjectName((int)txtFileNo), Color.DarkOrchid);
|
|
|
|
//string SavePathh = Form1_0.ThisEndPath + "PortalStrucpPath";
|
|
//File.Create(SavePathh).Dispose();
|
|
//File.WriteAllBytes(SavePathh, pPath);
|
|
|
|
if ((PortalOwner != "" && ObjectOwnerName == PortalOwner)
|
|
|| PortalOwner == "")
|
|
{
|
|
if ((PortalArea != 0 && interactType == PortalArea)
|
|
|| PortalArea == 0)
|
|
{
|
|
LastPointer = ObjectPointerLocation;
|
|
SetNearestObject(Nearest);
|
|
//return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if(ObjectType == "AllChests")
|
|
{
|
|
if (isChest((int)txtFileNo) == 1 && !IsIgnoredID(IgnoredIDList))
|
|
{
|
|
if (itemx != 0 && itemy != 0)
|
|
{
|
|
//Form1_0.method_1("Object: " + itemx + ", " + itemy + " - " + getObjectName((int)txtFileNo), Color.DarkOrchid);
|
|
SetNearestObject(Nearest);
|
|
if (!Nearest)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (getObjectName((int)txtFileNo) == ObjectType && !IsIgnoredID(IgnoredIDList))
|
|
{
|
|
//Form1_0.method_1("Object: " + itemx + ", " + itemy + " - " + getObjectName((int)txtFileNo), Color.DarkOrchid);
|
|
if (itemx != 0 && itemy != 0)
|
|
{
|
|
//Form1_0.method_1("Object: " + itemx + ", " + itemy + " - " + getObjectName((int)txtFileNo), Color.DarkOrchid);
|
|
|
|
SetNearestObject(Nearest);
|
|
if (!Nearest)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//load nearest objects
|
|
if (Nearest && NearestObjectPointer != 0)
|
|
{
|
|
ObjectPointerLocation = NearestObjectPointer;
|
|
//objectdatastruc = new byte[144];
|
|
objectdatastruc = new byte[64];
|
|
Form1_0.Mem_0.ReadRawMemory(ObjectPointerLocation, ref objectdatastruc, objectdatastruc.Length);
|
|
txtFileNo = BitConverter.ToUInt32(objectdatastruc, 4);
|
|
ObjectUnitID = BitConverter.ToUInt32(objectdatastruc, 0x08);
|
|
GetUnitPathData();
|
|
|
|
if (MaxDistance != 999)
|
|
{
|
|
if (itemx != 0 && itemy != 0)
|
|
{
|
|
int DiffXPlayer = itemx - Form1_0.PlayerScan_0.xPosFinal;
|
|
int DiffYPlayer = itemy - Form1_0.PlayerScan_0.yPosFinal;
|
|
if (DiffXPlayer < 0) DiffXPlayer = -DiffXPlayer;
|
|
if (DiffYPlayer < 0) DiffYPlayer = -DiffYPlayer;
|
|
|
|
if (DiffXPlayer <= MaxDistance
|
|
&& DiffYPlayer <= MaxDistance)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
if (Nearest && NearestObjectPointer == 0)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
|
|
if (ObjectType == "TownPortal" && LastPointer > 0)
|
|
{
|
|
//objectdatastruc = new byte[144];
|
|
objectdatastruc = new byte[64];
|
|
Form1_0.Mem_0.ReadRawMemory(LastPointer, ref objectdatastruc, objectdatastruc.Length);
|
|
txtFileNo = BitConverter.ToUInt32(objectdatastruc, 4);
|
|
ObjectUnitID = BitConverter.ToUInt32(objectdatastruc, 0x08);
|
|
GetUnitPathData();
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public bool IsIgnoredID(List<uint> IgnoredIDList)
|
|
{
|
|
if (IgnoredIDList != null)
|
|
{
|
|
if (IgnoredIDList.Count > 0)
|
|
{
|
|
for (int i = 0; i < IgnoredIDList.Count; i++)
|
|
{
|
|
if (IgnoredIDList[i] == ObjectUnitID)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public void SetNearestObject(bool Nearest)
|
|
{
|
|
//get nearest object in all objects
|
|
if (Nearest)
|
|
{
|
|
//Console.WriteLine("found near mob" + txtFileNo + " at: " + itemx + ", " + itemy);
|
|
if (itemx != 0 && itemy != 0)
|
|
{
|
|
int DiffXPlayer = itemx - Form1_0.PlayerScan_0.xPosFinal;
|
|
int DiffYPlayer = itemy - Form1_0.PlayerScan_0.yPosFinal;
|
|
if (DiffXPlayer < 0) DiffXPlayer = -DiffXPlayer;
|
|
if (DiffYPlayer < 0) DiffYPlayer = -DiffYPlayer;
|
|
|
|
if (DiffXPlayer <= LastDiffX
|
|
&& DiffYPlayer <= LastDiffY
|
|
&& DiffXPlayer <= MaxCheckDistance
|
|
&& DiffYPlayer <= MaxCheckDistance)
|
|
{
|
|
NearestObjectPointer = ObjectPointerLocation;
|
|
LastDiffX = DiffXPlayer;
|
|
LastDiffY = DiffYPlayer;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void GetUnitPathData()
|
|
{
|
|
pPathPtr = BitConverter.ToInt64(objectdatastruc, 0x38);
|
|
//pPath = new byte[0x32];
|
|
//Form1_0.Mem_0.ReadRawMemory(pPathPtr, ref pPath, pPath.Length);
|
|
//itemx = BitConverter.ToUInt16(pPath, 0x10);
|
|
//itemy = BitConverter.ToUInt16(pPath, 0x14);
|
|
itemx = Form1_0.Mem_0.ReadUInt16Raw((IntPtr)(pPathPtr + 0x10));
|
|
itemy = Form1_0.Mem_0.ReadUInt16Raw((IntPtr)(pPathPtr + 0x14));
|
|
|
|
//string SavePathh = Form1_0.ThisEndPath + "DumpObjectPathStruc";
|
|
//File.Create(SavePathh).Dispose();
|
|
//File.WriteAllBytes(SavePathh, pPath);
|
|
|
|
//Form1_0.method_1("Object: " + itemx + ", " + itemy + " - " + NormalType + " - " + getObjectName((int)txtFileNo));
|
|
}
|
|
|
|
public int isShrine(int txtFileNo)
|
|
{
|
|
switch (txtFileNo)
|
|
{
|
|
case 2: return 1; //DeerShrine
|
|
case 77: return 1; //ShrineAltar
|
|
case 81: return 1; //ForestAltar
|
|
case 83: return 1; //HornShrine
|
|
case 84: return 1; //HealingWell
|
|
case 85: return 1; //BullShrine
|
|
case 86: return 1; //SteleShrine
|
|
case 93: return 1; //InnerHellManaShrine1
|
|
case 96: return 1; //InnerHellHealthShrine1
|
|
case 97: return 1; //InnerHellMagicShrine1
|
|
case 109: return 1; //PalaceShrine
|
|
case 116: return 1; //SnakeWomanShrine
|
|
case 120: return 1; //ShrineHealthDungeon
|
|
case 123: return 1; //InnerHellMagicShrine2
|
|
case 124: return 1; //InnerHellMagicShrine3
|
|
case 133: return 1; //ShrineMagicArcaneSanctuary1
|
|
case 134: return 1; //DesertShrine00
|
|
case 135: return 1; //DesertShrine01
|
|
case 136: return 1; //DesertShrine02
|
|
case 149: return 1; //TaintedSunShrine
|
|
case 150: return 1; //DesertShrine03
|
|
case 151: return 1; //DesertShrine04
|
|
case 164: return 1; //ManaWell1
|
|
case 165: return 1; //ManaWell2
|
|
case 166: return 1; //ManaWell3
|
|
case 167: return 1; //ManaWell4
|
|
case 168: return 1; //ManaWell5
|
|
case 172: return 1; //ShrineHealth
|
|
case 173: return 1; //ShrineMana
|
|
case 184: return 1; //JungleShrine2
|
|
case 190: return 1; //JungleShrine3
|
|
case 191: return 1; //JungleShrine4
|
|
case 197: return 1; //JungleShrine5
|
|
case 199: return 1; //MephistoShrine1
|
|
case 200: return 1; //MephistoShrine2
|
|
case 201: return 1; //MephistoShrine3
|
|
case 202: return 1; //MephistoShrine4
|
|
case 206: return 1; //MephistoShrine5
|
|
case 226: return 1; //HellShrine1
|
|
case 231: return 1; //OuterShrineHell2
|
|
case 232: return 1; //OuterShrineHell3
|
|
case 249: return 1; //HellManaWell1
|
|
case 260: return 1; //HolyShrineAct1
|
|
case 262: return 1; //Act1CathedralShrine
|
|
case 263: return 1; //Act1JailShrine
|
|
case 264: return 1; //Act1JailHealthShrine
|
|
case 265: return 1; //Act1JailManaShrine
|
|
case 275: return 1; //HealthShrineCavesAct1
|
|
case 276: return 1; //ManaShrineCavesAct1
|
|
case 277: return 1; //MagicShrinesCavesAct1
|
|
case 278: return 1; //ShrineManaDungeon
|
|
case 279: return 1; //ShrineMagicSewer
|
|
case 280: return 1; //ShrineHealthSewer
|
|
case 281: return 1; //ShrineManaSewer
|
|
case 282: return 1; //ShrineMagicSewer2
|
|
case 299: return 1; //HaremShrine1
|
|
case 300: return 1; //HaremShrine2
|
|
case 301: return 1; //MaggotShrineHealth
|
|
case 302: return 1; //MaggotShrineMana
|
|
case 303: return 1; //ShrineMagicArcaneSanctuary2
|
|
case 319: return 1; //ShrineArcaneHealth
|
|
case 320: return 1; //ShrineArcaneMana
|
|
case 325: return 1; //ShrineMagicSewer3
|
|
case 343: return 1; //ShrineManaKurast
|
|
case 344: return 1; //ShrineHealthKurast
|
|
case 361: return 1; //DungeonShrineMagic
|
|
case 414: return 1; //ShrineWildernessExp1
|
|
case 415: return 1; //ShrineWildernessExp2
|
|
case 421: return 1; //ShrineAltarExp
|
|
case 422: return 1; //ShrineManaExp
|
|
case 423: return 1; //ShrineHealthExp
|
|
case 427: return 1; //ShrineWildernessExp3
|
|
case 428: return 1; //ShrineWildernessExp4
|
|
case 464: return 1; //ShrineHealthIceCave
|
|
case 465: return 1; //ShrineManaIceCave
|
|
case 472: return 1; //ShrineMagicIceCave
|
|
case 479: return 1; //ShrineMagicIceCave2
|
|
case 483: return 1; //ShrineBaal1
|
|
case 484: return 1; //ShrineBaal2
|
|
case 488: return 1; //ShrineBaalMagic
|
|
case 491: return 1; //ShrineBaalMana
|
|
case 492: return 1; //ShrineBaalHealth
|
|
case 495: return 1; //ShrineMagicSnow1
|
|
case 497: return 1; //ShrineMagicSnow2
|
|
case 499: return 1; //ShrineBallMagic2
|
|
case 503: return 1; //ShrineBaalMagic3
|
|
case 509: return 1; //ShrineTempleMagic1
|
|
case 512: return 1; //ShrineTempleMagic2
|
|
case 520: return 1; //ShrineTempleMagic3
|
|
case 521: return 1; //ShrineTempleHealth
|
|
case 522: return 1; //ShrineTempleMana
|
|
case 574: return 1; //DesertShrineArmor
|
|
case 575: return 1; //DesertShrineCombat
|
|
case 576: return 1; //DesertShrineResist
|
|
case 577: return 1; //DesertShrineSkill
|
|
case 578: return 1; //DesertShrineRecharge
|
|
case 579: return 1; //DesertShrineStamina
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
public int isPortal(int txtFileNo)
|
|
{
|
|
switch (txtFileNo)
|
|
{
|
|
case 59: return 1; //townPortal
|
|
case 100: return 1; //DurielsLairPortal
|
|
case 563: return 1; //BaalsPortal
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
public int isRedPortal(int txtFileNo)
|
|
{
|
|
switch (txtFileNo)
|
|
{
|
|
case 60: return 1; //PermanentTownPortal
|
|
case 565: return 1; //LastPortal
|
|
case 566: return 1; //LastLastPortal
|
|
case 569: return 1; //BaalsPortal2
|
|
case 298: return 1; //ArcaneSanctuaryPortal
|
|
case 377: return 1; //GuildPortal
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
|
|
public string getObjectName(int txtFileNo)
|
|
{
|
|
switch (txtFileNo)
|
|
{
|
|
case 1: return "Casket5";
|
|
case 2: return "Shrine";
|
|
case 3: return "Casket6";
|
|
case 4: return "LargeUrn1";
|
|
case 5: return "LargeChestRight";
|
|
case 6: return "LargeChestLeft";
|
|
case 7: return "Barrel";
|
|
case 8: return "TowerTome";
|
|
case 9: return "Urn2";
|
|
case 10: return "Bench";
|
|
case 11: return "BarrelExploding";
|
|
case 12: return "RogueFountain";
|
|
case 13: return "DoorGateLeft";
|
|
case 14: return "DoorGateRight";
|
|
case 15: return "DoorWoodenLeft";
|
|
case 16: return "DoorWoodenRight";
|
|
case 17: return "CairnStoneAlpha";
|
|
case 18: return "CairnStoneBeta";
|
|
case 19: return "CairnStoneGamma";
|
|
case 20: return "CairnStoneDelta";
|
|
case 21: return "CairnStoneLambda";
|
|
case 22: return "CairnStoneTheta";
|
|
case 23: return "DoorCourtyardLeft";
|
|
case 24: return "DoorCourtyardRight";
|
|
case 25: return "DoorCathedralDouble";
|
|
case 26: return "CainGibbet";
|
|
case 27: return "DoorMonasteryDoubleRight";
|
|
case 28: return "HoleAnim";
|
|
case 29: return "Brazier";
|
|
case 30: return "InifussTree";
|
|
case 31: return "Fountain";
|
|
case 32: return "Crucifix";
|
|
case 33: return "Candles1";
|
|
case 34: return "Candles2";
|
|
case 35: return "Standard1";
|
|
case 36: return "Standard2";
|
|
case 37: return "Torch1Tiki";
|
|
case 38: return "Torch2Wall";
|
|
case 39: return "RogueBonfire";
|
|
case 40: return "River1";
|
|
case 41: return "River2";
|
|
case 42: return "River3";
|
|
case 43: return "River4";
|
|
case 44: return "River5";
|
|
case 45: return "AmbientSoundGenerator";
|
|
case 46: return "Crate";
|
|
case 47: return "AndarielDoor";
|
|
case 48: return "RogueTorch1";
|
|
case 49: return "RogueTorch2";
|
|
case 50: return "CasketR";
|
|
case 51: return "CasketL";
|
|
case 52: return "Urn3";
|
|
case 53: return "Casket";
|
|
case 54: return "RogueCorpse1";
|
|
case 55: return "RogueCorpse2";
|
|
case 56: return "RogueCorpseRolling";
|
|
case 57: return "CorpseOnStick1";
|
|
case 58: return "CorpseOnStick2";
|
|
case 59: return "TownPortal";
|
|
case 60: return "PermanentTownPortal";
|
|
case 61: return "InvisibleObject";
|
|
case 62: return "DoorCathedralLeft";
|
|
case 63: return "DoorCathedralRight";
|
|
case 64: return "DoorWoodenLeft2";
|
|
case 65: return "InvisibleRiverSound1";
|
|
case 66: return "InvisibleRiverSound2";
|
|
case 67: return "Ripple1";
|
|
case 68: return "Ripple2";
|
|
case 69: return "Ripple3";
|
|
case 70: return "Ripple4";
|
|
case 71: return "ForestNightSound1";
|
|
case 72: return "ForestNightSound2";
|
|
case 73: return "YetiDung";
|
|
case 74: return "TrappDoor";
|
|
case 75: return "DoorByAct2Dock";
|
|
case 76: return "SewerDrip";
|
|
case 77: return "HealthOrama";
|
|
case 78: return "InvisibleTownSound";
|
|
case 79: return "Casket3";
|
|
case 80: return "Obelisk";
|
|
case 81: return "ForestAltar";
|
|
case 82: return "BubblingPoolOfBlood";
|
|
case 83: return "HornShrine";
|
|
case 84: return "HealingWell";
|
|
case 85: return "BullHealthShrine";
|
|
case 86: return "SteleDesertMagicShrine";
|
|
case 87: return "TombLargeChestL";
|
|
case 88: return "TombLargeChestR";
|
|
case 89: return "Sarcophagus";
|
|
case 90: return "DesertObelisk";
|
|
case 91: return "TombDoorLeft";
|
|
case 92: return "TombDoorRight";
|
|
case 93: return "InnerHellManaShrine";
|
|
case 94: return "LargeUrn4";
|
|
case 95: return "LargeUrn5";
|
|
case 96: return "InnerHellHealthShrine";
|
|
case 97: return "InnerHellShrine";
|
|
case 98: return "TombDoorLeft2";
|
|
case 99: return "TombDoorRight2";
|
|
case 100: return "DurielsLairPortal";
|
|
case 101: return "Brazier3";
|
|
case 102: return "FloorBrazier";
|
|
case 103: return "Flies";
|
|
case 104: return "ArmorStandRight";
|
|
case 105: return "ArmorStandLeft";
|
|
case 106: return "WeaponRackRight";
|
|
case 107: return "WeaponRackLeft";
|
|
case 108: return "Malus";
|
|
case 109: return "PalaceHealthShrine";
|
|
case 110: return "Drinker";
|
|
case 111: return "Fountain1";
|
|
case 112: return "Gesturer";
|
|
case 113: return "DesertFountain";
|
|
case 114: return "Turner";
|
|
case 115: return "Fountain3";
|
|
case 116: return "SnakeWomanShrine";
|
|
case 117: return "JungleTorch";
|
|
case 118: return "Fountain4";
|
|
case 119: return "WaypointPortal";
|
|
case 120: return "DungeonHealthShrine";
|
|
case 121: return "JerhynPlaceHolder1";
|
|
case 122: return "JerhynPlaceHolder2";
|
|
case 123: return "InnerHellShrine2";
|
|
case 124: return "InnerHellShrine3";
|
|
case 125: return "InnerHellHiddenStash";
|
|
case 126: return "InnerHellSkullPile";
|
|
case 127: return "InnerHellHiddenStash2";
|
|
case 128: return "InnerHellHiddenStash3";
|
|
case 129: return "SecretDoor1";
|
|
case 130: return "Act1WildernessWell";
|
|
case 131: return "VileDogAfterglow";
|
|
case 132: return "CathedralWell";
|
|
case 133: return "ArcaneSanctuaryShrine";
|
|
case 134: return "DesertShrine2";
|
|
case 135: return "DesertShrine3";
|
|
case 136: return "DesertShrine1";
|
|
case 137: return "DesertWell";
|
|
case 138: return "CaveWell";
|
|
case 139: return "Act1LargeChestRight";
|
|
case 140: return "Act1TallChestRight";
|
|
case 141: return "Act1MediumChestRight";
|
|
case 142: return "DesertJug1";
|
|
case 143: return "DesertJug2";
|
|
case 144: return "Act1LargeChest1";
|
|
case 145: return "InnerHellWaypoint";
|
|
case 146: return "Act2MediumChestRight";
|
|
case 147: return "Act2LargeChestRight";
|
|
case 148: return "Act2LargeChestLeft";
|
|
case 149: return "TaintedSunAltar";
|
|
case 150: return "DesertShrine5";
|
|
case 151: return "DesertShrine4";
|
|
case 152: return "HoradricOrifice";
|
|
case 153: return "TyraelsDoor";
|
|
case 154: return "GuardCorpse";
|
|
case 155: return "HiddenStashRock";
|
|
case 156: return "Act2Waypoint";
|
|
case 157: return "Act1WildernessWaypoint";
|
|
case 158: return "SkeletonCorpseIsAnOxymoron";
|
|
case 159: return "HiddenStashRockB";
|
|
case 160: return "SmallFire";
|
|
case 161: return "MediumFire";
|
|
case 162: return "LargeFire";
|
|
case 163: return "Act1CliffHidingSpot";
|
|
case 164: return "ManaWell1";
|
|
case 165: return "ManaWell2";
|
|
case 166: return "ManaWell3";
|
|
case 167: return "ManaWell4";
|
|
case 168: return "ManaWell5";
|
|
case 169: return "HollowLog";
|
|
case 170: return "JungleHealWell";
|
|
case 171: return "SkeletonCorpseIsStillAnOxymoron";
|
|
case 172: return "DesertHealthShrine";
|
|
case 173: return "ManaWell7";
|
|
case 174: return "LooseRock";
|
|
case 175: return "LooseBoulder";
|
|
case 176: return "MediumChestLeft";
|
|
case 177: return "LargeChestLeft2";
|
|
case 178: return "GuardCorpseOnAStick";
|
|
case 179: return "Bookshelf1";
|
|
case 180: return "Bookshelf2";
|
|
case 181: return "JungleChest";
|
|
case 182: return "TombCoffin";
|
|
case 183: return "JungleMediumChestLeft";
|
|
case 184: return "JungleShrine2";
|
|
case 185: return "JungleStashObject1";
|
|
case 186: return "JungleStashObject2";
|
|
case 187: return "JungleStashObject3";
|
|
case 188: return "JungleStashObject4";
|
|
case 189: return "DummyCainPortal";
|
|
case 190: return "JungleShrine3";
|
|
case 191: return "JungleShrine4";
|
|
case 192: return "TeleportationPad1";
|
|
case 193: return "LamEsensTome";
|
|
case 194: return "StairsL";
|
|
case 195: return "StairsR";
|
|
case 196: return "FloorTrap";
|
|
case 197: return "JungleShrine5";
|
|
case 198: return "TallChestLeft";
|
|
case 199: return "MephistoShrine1";
|
|
case 200: return "MephistoShrine2";
|
|
case 201: return "MephistoShrine3";
|
|
case 202: return "MephistoManaShrine";
|
|
case 203: return "MephistoLair";
|
|
case 204: return "StashBox";
|
|
case 205: return "StashAltar";
|
|
case 206: return "MafistoHealthShrine";
|
|
case 207: return "Act3WaterRocks";
|
|
case 208: return "Basket1";
|
|
case 209: return "Basket2";
|
|
case 210: return "Act3WaterLogs";
|
|
case 211: return "Act3WaterRocksGirl";
|
|
case 212: return "Act3WaterBubbles";
|
|
case 213: return "Act3WaterLogsX";
|
|
case 214: return "Act3WaterRocksB";
|
|
case 215: return "Act3WaterRocksGirlC";
|
|
case 216: return "Act3WaterRocksY";
|
|
case 217: return "Act3WaterLogsZ";
|
|
case 218: return "WebCoveredTree1";
|
|
case 219: return "WebCoveredTree2";
|
|
case 220: return "WebCoveredTree3";
|
|
case 221: return "WebCoveredTree4";
|
|
case 222: return "Pillar";
|
|
case 223: return "Cocoon";
|
|
case 224: return "Cocoon2";
|
|
case 225: return "SkullPileH1";
|
|
case 226: return "OuterHellShrine";
|
|
case 227: return "Act3WaterRocksGirlW";
|
|
case 228: return "Act3BigLog";
|
|
case 229: return "SlimeDoor1";
|
|
case 230: return "SlimeDoor2";
|
|
case 231: return "OuterHellShrine2";
|
|
case 232: return "OuterHellShrine3";
|
|
case 233: return "PillarH2";
|
|
case 234: return "Act3BigLogC";
|
|
case 235: return "Act3BigLogD";
|
|
case 236: return "HellHealthShrine";
|
|
case 237: return "Act3TownWaypoint";
|
|
case 238: return "WaypointH";
|
|
case 239: return "BurningBodyTown";
|
|
case 240: return "Gchest1L";
|
|
case 241: return "Gchest2R";
|
|
case 242: return "Gchest3R";
|
|
case 243: return "GLchest3L";
|
|
case 244: return "SewersRatNest";
|
|
case 245: return "BurningBodyTown2";
|
|
case 246: return "SewersRatNest2";
|
|
case 247: return "Act1BedBed1";
|
|
case 248: return "Act1BedBed2";
|
|
case 249: return "HellManaShrine";
|
|
case 250: return "ExplodingCow";
|
|
case 251: return "GidbinnAltar";
|
|
case 252: return "GidbinnAltarDecoy";
|
|
case 253: return "DiabloRightLight";
|
|
case 254: return "DiabloLeftLight";
|
|
case 255: return "DiabloStartPoint";
|
|
case 256: return "Act1CabinStool";
|
|
case 257: return "Act1CabinWood";
|
|
case 258: return "Act1CabinWood2";
|
|
case 259: return "HellSkeletonSpawnNW";
|
|
case 260: return "Act1HolyShrine";
|
|
case 261: return "TombsFloorTrapSpikes";
|
|
case 262: return "Act1CathedralShrine";
|
|
case 263: return "Act1JailShrine1";
|
|
case 264: return "Act1JailShrine2";
|
|
case 265: return "Act1JailShrine3";
|
|
case 266: return "MaggotLairGooPile";
|
|
case 267: return "Bank";
|
|
case 268: return "WirtCorpse";
|
|
case 269: return "GoldPlaceHolder";
|
|
case 270: return "GuardCorpse2";
|
|
case 271: return "DeadVillager1";
|
|
case 272: return "DeadVillager2";
|
|
case 273: return "DummyFlameNoDamage";
|
|
case 274: return "TinyPixelShapedThingie";
|
|
case 275: return "CavesHealthShrine";
|
|
case 276: return "CavesManaShrine";
|
|
case 277: return "CaveMagicShrine";
|
|
case 278: return "Act3DungeonManaShrine";
|
|
case 279: return "Act3SewersMagicShrine1";
|
|
case 280: return "Act3SewersHealthWell";
|
|
case 281: return "Act3SewersManaWell";
|
|
case 282: return "Act3SewersMagicShrine2";
|
|
case 283: return "Act2BrazierCeller";
|
|
case 284: return "Act2TombAnubisCoffin";
|
|
case 285: return "Act2Brazier";
|
|
case 286: return "Act2BrazierTall";
|
|
case 287: return "Act2BrazierSmall";
|
|
case 288: return "Act2CellerWaypoint";
|
|
case 289: return "HarumBedBed";
|
|
case 290: return "IronGrateDoorLeft";
|
|
case 291: return "IronGrateDoorRight";
|
|
case 292: return "WoodenGrateDoorLeft";
|
|
case 293: return "WoodenGrateDoorRight";
|
|
case 294: return "WoodenDoorLeft";
|
|
case 295: return "WoodenDoorRight";
|
|
case 296: return "TombsWallTorchLeft";
|
|
case 297: return "TombsWallTorchRight";
|
|
case 298: return "ArcaneSanctuaryPortal";
|
|
case 299: return "Act2HaramMagicShrine1";
|
|
case 300: return "Act2HaramMagicShrine2";
|
|
case 301: return "MaggotHealthWell";
|
|
case 302: return "MaggotManaWell";
|
|
case 303: return "ArcaneSanctuaryMagicShrine";
|
|
case 304: return "TeleportationPad2";
|
|
case 305: return "TeleportationPad3";
|
|
case 306: return "TeleportationPad4";
|
|
case 307: return "DummyArcaneThing1";
|
|
case 308: return "DummyArcaneThing2";
|
|
case 309: return "DummyArcaneThing3";
|
|
case 310: return "DummyArcaneThing4";
|
|
case 311: return "DummyArcaneThing5";
|
|
case 312: return "DummyArcaneThing6";
|
|
case 313: return "DummyArcaneThing7";
|
|
case 314: return "HaremDeadGuard1";
|
|
case 315: return "HaremDeadGuard2";
|
|
case 316: return "HaremDeadGuard3";
|
|
case 317: return "HaremDeadGuard4";
|
|
case 318: return "HaremEunuchBlocker";
|
|
case 319: return "ArcaneHealthWell";
|
|
case 320: return "ArcaneManaWell";
|
|
case 321: return "TestData2";
|
|
case 322: return "Act2TombWell";
|
|
case 323: return "Act2SewerWaypoint";
|
|
case 324: return "Act3TravincalWaypoint";
|
|
case 325: return "Act3SewerMagicShrine";
|
|
case 326: return "Act3SewerDeadBody";
|
|
case 327: return "Act3SewerTorch";
|
|
case 328: return "Act3KurastTorch";
|
|
case 329: return "MafistoLargeChestLeft";
|
|
case 330: return "MafistoLargeChestRight";
|
|
case 331: return "MafistoMediumChestLeft";
|
|
case 332: return "MafistoMediumChestRight";
|
|
case 333: return "SpiderLairLargeChestLeft";
|
|
case 334: return "SpiderLairTallChestLeft";
|
|
case 335: return "SpiderLairMediumChestRight";
|
|
case 336: return "SpiderLairTallChestRight";
|
|
case 337: return "SteegStone";
|
|
case 338: return "GuildVault";
|
|
case 339: return "TrophyCase";
|
|
case 340: return "MessageBoard";
|
|
case 341: return "MephistoBridge";
|
|
case 342: return "HellGate";
|
|
case 343: return "Act3KurastManaWell";
|
|
case 344: return "Act3KurastHealthWell";
|
|
case 345: return "HellFire1";
|
|
case 346: return "HellFire2";
|
|
case 347: return "HellFire3";
|
|
case 348: return "HellLava1";
|
|
case 349: return "HellLava2";
|
|
case 350: return "HellLava3";
|
|
case 351: return "HellLightSource1";
|
|
case 352: return "HellLightSource2";
|
|
case 353: return "HellLightSource3";
|
|
case 354: return "HoradricCubeChest";
|
|
case 355: return "HoradricScrollChest";
|
|
case 356: return "StaffOfKingsChest";
|
|
case 357: return "YetAnotherTome";
|
|
case 358: return "HellBrazier1";
|
|
case 359: return "HellBrazier2";
|
|
case 360: return "DungeonRockPile";
|
|
case 361: return "Act3DungeonMagicShrine";
|
|
case 362: return "Act3DungeonBasket";
|
|
case 363: return "OuterHellHungSkeleton";
|
|
case 364: return "GuyForDungeon";
|
|
case 365: return "Act3DungeonCasket";
|
|
case 366: return "Act3SewerStairs";
|
|
case 367: return "Act3SewerStairsToLevel3";
|
|
case 368: return "DarkWandererStartPosition";
|
|
case 369: return "TrappedSoulPlaceHolder";
|
|
case 370: return "Act3TownTorch";
|
|
case 371: return "LargeChestR";
|
|
case 372: return "InnerHellBoneChest";
|
|
case 373: return "HellSkeletonSpawnNE";
|
|
case 374: return "Act3WaterFog";
|
|
case 375: return "DummyNotUsed";
|
|
case 376: return "HellForge";
|
|
case 377: return "GuildPortal";
|
|
case 378: return "HratliStartPosition";
|
|
case 379: return "HratliEndPosition";
|
|
case 380: return "BurningTrappedSoul1";
|
|
case 381: return "BurningTrappedSoul2";
|
|
case 382: return "NatalyaStartPosition";
|
|
case 383: return "StuckedTrappedSoul1";
|
|
case 384: return "StuckedTrappedSoul2";
|
|
case 385: return "CainStartPosition";
|
|
case 386: return "StairSR";
|
|
case 387: return "ArcaneLargeChestLeft";
|
|
case 388: return "ArcaneCasket";
|
|
case 389: return "ArcaneLargeChestRight";
|
|
case 390: return "ArcaneSmallChestLeft";
|
|
case 391: return "ArcaneSmallChestRight";
|
|
case 392: return "DiabloSeal1";
|
|
case 393: return "DiabloSeal2";
|
|
case 394: return "DiabloSeal3";
|
|
case 395: return "DiabloSeal4";
|
|
case 396: return "DiabloSeal5";
|
|
case 397: return "SparklyChest";
|
|
case 398: return "PandamoniumFortressWaypoint";
|
|
case 399: return "InnerHellFissure";
|
|
case 400: return "HellMesaBrazier";
|
|
case 401: return "Smoke";
|
|
case 402: return "ValleyWaypoint";
|
|
case 403: return "HellBrazier3";
|
|
case 404: return "CompellingOrb";
|
|
case 405: return "KhalimChest1";
|
|
case 406: return "KhalimChest2";
|
|
case 407: return "KhalimChest3";
|
|
case 408: return "SiegeMachineControl";
|
|
case 409: return "PotOTorch";
|
|
case 410: return "PyoxFirePit";
|
|
case 413: return "ExpansionChestRight";
|
|
case 414: return "ExpansionWildernessShrine1";
|
|
case 415: return "ExpansionWildernessShrine2";
|
|
case 416: return "ExpansionHiddenStash";
|
|
case 417: return "ExpansionWildernessFlag";
|
|
case 418: return "ExpansionWildernessBarrel";
|
|
case 419: return "ExpansionSiegeBarrel";
|
|
case 420: return "ExpansionWoodChestLeft";
|
|
case 421: return "ExpansionWildernessShrine3";
|
|
case 422: return "ExpansionManaShrine";
|
|
case 423: return "ExpansionHealthShrine";
|
|
case 424: return "BurialChestLeft";
|
|
case 425: return "BurialChestRight";
|
|
case 426: return "ExpansionWell";
|
|
case 427: return "ExpansionWildernessShrine4";
|
|
case 428: return "ExpansionWildernessShrine5";
|
|
case 429: return "ExpansionWaypoint";
|
|
case 430: return "ExpansionChestLeft";
|
|
case 431: return "ExpansionWoodChestRight";
|
|
case 432: return "ExpansionSmallChestLeft";
|
|
case 433: return "ExpansionSmallChestRight";
|
|
case 434: return "ExpansionTorch1";
|
|
case 435: return "ExpansionCampFire";
|
|
case 436: return "ExpansionTownTorch";
|
|
case 437: return "ExpansionTorch2";
|
|
case 438: return "ExpansionBurningBodies";
|
|
case 439: return "ExpansionBurningPit";
|
|
case 440: return "ExpansionTribalFlag";
|
|
case 441: return "ExpansionTownFlag";
|
|
case 442: return "ExpansionChandelier";
|
|
case 443: return "ExpansionJar1";
|
|
case 444: return "ExpansionJar2";
|
|
case 445: return "ExpansionJar3";
|
|
case 446: return "ExpansionSwingingHeads";
|
|
case 447: return "ExpansionWildernessPole";
|
|
case 448: return "AnimatedSkullAndRockPile";
|
|
case 449: return "ExpansionTownGate";
|
|
case 450: return "SkullAndRockPile";
|
|
case 451: return "SiegeHellGate";
|
|
case 452: return "EnemyCampBanner1";
|
|
case 453: return "EnemyCampBanner2";
|
|
case 454: return "ExpansionExplodingChest";
|
|
case 455: return "ExpansionSpecialChest";
|
|
case 456: return "ExpansionDeathPole";
|
|
case 457: return "ExpansionDeathPoleLeft";
|
|
case 458: return "TempleAltar";
|
|
case 459: return "DrehyaTownStartPosition";
|
|
case 460: return "DrehyaWildernessStartPosition";
|
|
case 461: return "NihlathakTownStartPosition";
|
|
case 462: return "NihlathakWildernessStartPosition";
|
|
case 463: return "IceCaveHiddenStash";
|
|
case 464: return "IceCaveHealthShrine";
|
|
case 465: return "IceCaveManaShrine";
|
|
case 466: return "IceCaveEvilUrn";
|
|
case 467: return "IceCaveJar1";
|
|
case 468: return "IceCaveJar2";
|
|
case 469: return "IceCaveJar3";
|
|
case 470: return "IceCaveJar4";
|
|
case 471: return "IceCaveJar5";
|
|
case 472: return "IceCaveMagicShrine";
|
|
case 473: return "CagedWussie";
|
|
case 474: return "AncientStatue3";
|
|
case 475: return "AncientStatue1";
|
|
case 476: return "AncientStatue2";
|
|
case 477: return "DeadBarbarian";
|
|
case 478: return "ClientSmoke";
|
|
case 479: return "IceCaveMagicShrine2";
|
|
case 480: return "IceCaveTorch1";
|
|
case 481: return "IceCaveTorch2";
|
|
case 482: return "ExpansionTikiTorch";
|
|
case 483: return "WorldstoneManaShrine";
|
|
case 484: return "WorldstoneHealthShrine";
|
|
case 485: return "WorldstoneTomb1";
|
|
case 486: return "WorldstoneTomb2";
|
|
case 487: return "WorldstoneTomb3";
|
|
case 488: return "WorldstoneMagicShrine";
|
|
case 489: return "WorldstoneTorch1";
|
|
case 490: return "WorldstoneTorch2";
|
|
case 491: return "ExpansionSnowyManaShrine1";
|
|
case 492: return "ExpansionSnowyHealthShrine";
|
|
case 493: return "ExpansionSnowyWell";
|
|
case 494: return "WorldstoneWaypoint";
|
|
case 495: return "ExpansionSnowyMagicShrine2";
|
|
case 496: return "ExpansionWildernessWaypoint";
|
|
case 497: return "ExpansionSnowyMagicShrine3";
|
|
case 498: return "WorldstoneWell";
|
|
case 499: return "WorldstoneMagicShrine2";
|
|
case 500: return "ExpansionSnowyObject1";
|
|
case 501: return "ExpansionSnowyWoodChestLeft";
|
|
case 502: return "ExpansionSnowyWoodChestRight";
|
|
case 503: return "WorldstoneMagicShrine3";
|
|
case 504: return "ExpansionSnowyWoodChest2Left";
|
|
case 505: return "ExpansionSnowyWoodChest2Right";
|
|
case 506: return "SnowySwingingHeads";
|
|
case 507: return "SnowyDebris";
|
|
case 508: return "PenBreakableDoor";
|
|
case 509: return "ExpansionTempleMagicShrine1";
|
|
case 510: return "ExpansionSnowyPoleMR";
|
|
case 511: return "IceCaveWaypoint";
|
|
case 512: return "ExpansionTempleMagicShrine2";
|
|
case 513: return "ExpansionTempleWell";
|
|
case 514: return "ExpansionTempleTorch1";
|
|
case 515: return "ExpansionTempleTorch2";
|
|
case 516: return "ExpansionTempleObject1";
|
|
case 517: return "ExpansionTempleObject2";
|
|
case 518: return "WorldstoneMrBox";
|
|
case 519: return "IceCaveWell";
|
|
case 520: return "ExpansionTempleMagicShrine";
|
|
case 521: return "ExpansionTempleHealthShrine";
|
|
case 522: return "ExpansionTempleManaShrine";
|
|
case 523: return "BlacksmithForge";
|
|
case 524: return "WorldstoneTomb1Left";
|
|
case 525: return "WorldstoneTomb2Left";
|
|
case 526: return "WorldstoneTomb3Left";
|
|
case 527: return "IceCaveBubblesU";
|
|
case 528: return "IceCaveBubblesS";
|
|
case 529: return "RedBaalsLairTomb1";
|
|
case 530: return "RedBaalsLairTomb1Left";
|
|
case 531: return "RedBaalsLairTomb2";
|
|
case 532: return "RedBaalsLairTomb2Left";
|
|
case 533: return "RedBaalsLairTomb3";
|
|
case 534: return "RedBaalsLairTomb3Left";
|
|
case 535: return "RedBaalsLairMrBox";
|
|
case 536: return "RedBaalsLairTorch1";
|
|
case 537: return "RedBaalsLairTorch2";
|
|
case 538: return "CandlesTemple";
|
|
case 539: return "TempleWaypoint";
|
|
case 540: return "ExpansionDeadPerson1";
|
|
case 541: return "TempleGroundTomb";
|
|
case 542: return "LarzukGreeting";
|
|
case 543: return "LarzukStandard";
|
|
case 544: return "TempleGroundTombLeft";
|
|
case 545: return "ExpansionDeadPerson2";
|
|
case 546: return "AncientsAltar";
|
|
case 547: return "ArreatSummitDoorToWorldstone";
|
|
case 548: return "ExpansionWeaponRackRight";
|
|
case 549: return "ExpansionWeaponRackLeft";
|
|
case 550: return "ExpansionArmorStandRight";
|
|
case 551: return "ExpansionArmorStandLeft";
|
|
case 552: return "ArreatsSummitTorch2";
|
|
case 553: return "ExpansionFuneralSpire";
|
|
case 554: return "ExpansionBurningLogs";
|
|
case 555: return "IceCaveSteam";
|
|
case 556: return "ExpansionDeadPerson3";
|
|
case 557: return "BaalsLair";
|
|
case 558: return "FrozenAnya";
|
|
case 559: return "BBQBunny";
|
|
case 560: return "BaalTorchBig";
|
|
case 561: return "InvisibleAncient";
|
|
case 562: return "InvisibleBase";
|
|
case 563: return "BaalsPortal";
|
|
case 564: return "ArreatSummitDoor";
|
|
case 565: return "LastPortal";
|
|
case 566: return "LastLastPortal";
|
|
case 567: return "ZooTestData";
|
|
case 568: return "KeeperTestData";
|
|
case 569: return "BaalsPortal2";
|
|
case 570: return "FirePlaceGuy";
|
|
case 571: return "DoorBlocker1";
|
|
case 572: return "DoorBlocker2";
|
|
case 580: return "GoodChest";
|
|
case 581: return "NotSoGoodChest";
|
|
}
|
|
return "";
|
|
}
|
|
|
|
public bool IsWaypoint(int txtFileNo)
|
|
{
|
|
switch (txtFileNo)
|
|
{
|
|
case 539: return true;
|
|
case 511: return true;
|
|
case 496: return true;
|
|
case 494: return true;
|
|
case 429: return true;
|
|
case 402: return true;
|
|
case 398: return true;
|
|
case 323: return true;
|
|
case 324: return true;
|
|
case 288: return true;
|
|
case 237: return true;
|
|
case 238: return true;
|
|
case 156: return true;
|
|
case 157: return true;
|
|
case 145: return true;
|
|
case 119: return true;
|
|
default: return false;
|
|
}
|
|
}
|
|
|
|
public int isChest(int txtFileNo)
|
|
{
|
|
switch (txtFileNo)
|
|
{
|
|
case 1: return 1; //";Casket5";
|
|
case 3: return 1; //";Casket6";
|
|
case 5: return 1; //";LargeChestRight";
|
|
case 6: return 1; //";LargeChestLeft";
|
|
case 50: return 1; //";CasketR";
|
|
case 51: return 1; //";CasketL";
|
|
case 53: return 1; //";Casket";
|
|
case 54: return 1; //";RogueCorpse1";
|
|
case 55: return 1; //";RogueCorpse2";
|
|
case 56: return 1; //";RogueCorpseRolling";
|
|
case 57: return 1; //";CorpseOnStick1";
|
|
case 58: return 1; //";CorpseOnStick2";
|
|
case 79: return 1; //";Casket3";
|
|
case 87: return 1; //";TombLargeChestL";
|
|
case 88: return 1; //";TombLargeChestR";
|
|
case 89: return 1; //";Sarcophagus";
|
|
case 125: return 1; //";InnerHellHiddenStash";
|
|
case 126: return 1; //";InnerHellSkullPile";
|
|
case 127: return 1; //";InnerHellHiddenStash2";
|
|
case 128: return 1; //";InnerHellHiddenStash3";
|
|
case 139: return 1; //";Act1LargeChestRight";
|
|
case 140: return 1; //";Act1TallChestRight";
|
|
case 141: return 1; //";Act1MediumChestRight";
|
|
case 144: return 1; //";Act1LargeChest1";
|
|
case 146: return 1; //";Act2MediumChestRight";
|
|
case 147: return 1; //";Act2LargeChestRight";
|
|
case 148: return 1; //";Act2LargeChestLeft";
|
|
case 154: return 1; //";GuardCorpse";
|
|
case 155: return 1; //";HiddenStashRock";
|
|
case 158: return 1; //";SkeletonCorpseIsAnOxymoron";
|
|
case 159: return 1; //";HiddenStashRockB";
|
|
case 169: return 1; //";HollowLog";
|
|
case 171: return 1; //";SkeletonCorpseIsStillAnOxymoron";
|
|
case 174: return 1; //";LooseRock";
|
|
case 175: return 1; //";LooseBoulder";
|
|
case 176: return 1; //";MediumChestLeft";
|
|
case 177: return 1; //";LargeChestLeft2";
|
|
case 178: return 1; //";GuardCorpseOnAStick";
|
|
case 181: return 1; //";JungleChest";
|
|
case 182: return 1; //";TombCoffin";
|
|
case 183: return 1; //";JungleMediumChestLeft";
|
|
case 185: return 1; //";JungleStashObject1";
|
|
case 186: return 1; //";JungleStashObject2";
|
|
case 187: return 1; //";JungleStashObject3";
|
|
case 188: return 1; //";JungleStashObject4";
|
|
case 198: return 1; //";TallChestLeft";
|
|
case 203: return 1; //";MephistoLair";
|
|
case 204: return 1; //";StashBox";
|
|
case 205: return 1; //";StashAltar";
|
|
case 223: return 1; //";Cocoon";
|
|
case 224: return 1; //";Cocoon2";
|
|
case 225: return 1; //";SkullPileH1";
|
|
case 240: return 1; //";Gchest1L";
|
|
case 241: return 1; //";Gchest2R";
|
|
case 242: return 1; //";Gchest3R";
|
|
case 243: return 1; //";GLchest3L";
|
|
case 244: return 1; //";SewersRatNest";
|
|
case 247: return 1; //";Act1BedBed1";
|
|
case 248: return 1; //";Act1BedBed2";
|
|
case 266: return 1; //";MaggotLairGooPile";
|
|
case 268: return 1; //";WirtCorpse";
|
|
case 270: return 1; //";GuardCorpse2";
|
|
case 271: return 1; //";DeadVillager1";
|
|
case 272: return 1; //";DeadVillager2";
|
|
case 274: return 1; //";TinyPixelShapedThingie";
|
|
case 284: return 1; //";Act2TombAnubisCoffin";
|
|
case 314: return 1; //";HaremDeadGuard1";
|
|
case 315: return 1; //";HaremDeadGuard2";
|
|
case 316: return 1; //";HaremDeadGuard3";
|
|
case 317: return 1; //";HaremDeadGuard4";
|
|
case 326: return 1; //";Act3SewerDeadBody";
|
|
case 329: return 1; //";MafistoLargeChestLeft";
|
|
case 330: return 1; //";MafistoLargeChestRight";
|
|
case 331: return 1; //";MafistoMediumChestLeft";
|
|
case 332: return 1; //";MafistoMediumChestRight";
|
|
case 333: return 1; //";SpiderLairLargeChestLeft";
|
|
case 334: return 1; //";SpiderLairTallChestLeft";
|
|
case 335: return 1; //";SpiderLairMediumChestRight";
|
|
case 336: return 1; //";SpiderLairTallChestRight";
|
|
case 354: return 1; //";HoradricCubeChest";
|
|
case 355: return 1; //";HoradricScrollChest";
|
|
case 356: return 1; //";StaffOfKingsChest";
|
|
case 360: return 1; //";DungeonRockPile";
|
|
case 371: return 1; //";LargeChestR";
|
|
case 372: return 1; //";InnerHellBoneChest";
|
|
case 380: return 1; //";BurningTrappedSoul1";
|
|
case 381: return 1; //";BurningTrappedSoul2";
|
|
case 383: return 1; //";StuckedTrappedSoul1";
|
|
case 384: return 1; //";StuckedTrappedSoul2";
|
|
case 387: return 1; //";ArcaneLargeChestLeft";
|
|
case 388: return 1; //";ArcaneCasket";
|
|
case 389: return 1; //";ArcaneLargeChestRight";
|
|
case 390: return 1; //";ArcaneSmallChestLeft";
|
|
case 391: return 1; //";ArcaneSmallChestRight";
|
|
case 397: return 1; //";SparklyChest";
|
|
case 405: return 1; //";KhalimChest1";
|
|
case 406: return 1; //";KhalimChest2";
|
|
case 407: return 1; //";KhalimChest3";
|
|
case 413: return 1; //";ExpansionChestRight";
|
|
case 416: return 1; //";ExpansionHiddenStash";
|
|
case 420: return 1; //";ExpansionWoodChestLeft";
|
|
case 424: return 1; //";BurialChestLeft";
|
|
case 425: return 1; //";BurialChestRight";
|
|
case 430: return 1; //";ExpansionChestLeft";
|
|
case 431: return 1; //";ExpansionWoodChestRight";
|
|
case 432: return 1; //";ExpansionSmallChestLeft";
|
|
case 433: return 1; //";ExpansionSmallChestRight";
|
|
case 454: return 1; //";ExpansionExplodingChest";
|
|
case 455: return 1; //";ExpansionSpecialChest";
|
|
case 463: return 1; //";IceCaveHiddenStash";
|
|
case 466: return 1; //";IceCaveEvilUrn";
|
|
case 485: return 1; //";WorldstoneTomb1";
|
|
case 486: return 1; //";WorldstoneTomb2";
|
|
case 487: return 1; //";WorldstoneTomb3";
|
|
case 501: return 1; //";ExpansionSnowyWoodChestLeft";
|
|
case 502: return 1; //";ExpansionSnowyWoodChestRight";
|
|
case 504: return 1; //";ExpansionSnowyWoodChest2Left";
|
|
case 505: return 1; //";ExpansionSnowyWoodChest2Right";
|
|
case 518: return 1; //";WorldstoneMrBox";
|
|
case 524: return 1; //";WorldstoneTomb1Left";
|
|
case 525: return 1; //";WorldstoneTomb2Left";
|
|
case 526: return 1; //";WorldstoneTomb3Left";
|
|
case 529: return 1; //";RedBaalsLairTomb1";
|
|
case 530: return 1; //";RedBaalsLairTomb1Left";
|
|
case 531: return 1; //";RedBaalsLairTomb2";
|
|
case 532: return 1; //";RedBaalsLairTomb2Left";
|
|
case 533: return 1; //";RedBaalsLairTomb3";
|
|
case 534: return 1; //";RedBaalsLairTomb3Left";
|
|
case 535: return 1; //";RedBaalsLairMrBox";
|
|
case 540: return 1; //";ExpansionDeadPerson1";
|
|
case 541: return 1; //";TempleGroundTomb";
|
|
case 544: return 1; //";TempleGroundTombLeft";
|
|
case 545: return 1; //";ExpansionDeadPerson2";
|
|
case 556: return 1; //";ExpansionDeadPerson3";
|
|
case 580: return 1; //";GoodChest";
|
|
case 581: return 1; //";NotSoGoodChest
|
|
default: return 0;
|
|
}
|
|
}
|
|
|
|
public string chestState(int interactType)
|
|
{
|
|
switch (interactType)
|
|
{
|
|
case 0:
|
|
return "";
|
|
case 4:
|
|
return "trap";
|
|
case 128:
|
|
return "locked";
|
|
}
|
|
return "";
|
|
}
|
|
|
|
/*public string shrineType(int interactType)
|
|
{
|
|
switch (interactType)
|
|
{
|
|
case 1: return localizedStrings["ShrId1"];
|
|
case 2: return localizedStrings["ShrId2"];
|
|
case 3: return localizedStrings["ShrId3"];
|
|
case 4: return localizedStrings["ShrId4"];
|
|
case 5: return localizedStrings["ShrId5"];
|
|
case 6: return localizedStrings["ShrId6"];
|
|
case 7: return localizedStrings["ShrId7"];
|
|
case 8: return localizedStrings["ShrId8"];
|
|
case 9: return localizedStrings["ShrId9"];
|
|
case 10: return localizedStrings["ShrId10"];
|
|
case 11: return localizedStrings["ShrId11"];
|
|
case 12: return localizedStrings["ShrId12"];
|
|
case 13: return localizedStrings["ShrId13"];
|
|
case 14: return localizedStrings["ShrId14"];
|
|
case 15: return localizedStrings["ShrId15"];
|
|
case 16: return localizedStrings["ShrId16"];
|
|
case 17: return localizedStrings["ShrId17"];
|
|
case 18: return localizedStrings["ShrId18"];
|
|
case 19: return localizedStrings["ShrId19"];
|
|
case 20: return localizedStrings["ShrId20"];
|
|
case 21: return localizedStrings["ShrId21"];
|
|
case 22: return localizedStrings["ShrId22"];
|
|
}
|
|
return "";
|
|
}*/
|
|
}
|
|
}
|