public override bool IsItemBlacklisted(Item item) { var blockListPointer = GetPlayerManagerInfo(ItemBlacklistOffset, 4); var blockByte = ReadInt(blockListPointer + item.Id / 8, 1); var itemBlockBit = MemoryReaderUtils.Pow(2, item.Id % 8); return((blockByte & itemBlockBit) == itemBlockBit); }
private static string ReadModdedString(int baseAddress) { var stringInfo = Read(baseAddress, 20); var size = MemoryReaderUtils.ConvertLittleEndian(stringInfo, 16, 4); if (size < 16) { return(MemoryReaderUtils.ConvertToString(stringInfo, 0, size)); } var stringPointer = MemoryReaderUtils.ConvertLittleEndian(stringInfo, 0, 4); return(ReadString(stringPointer, size)); }
public override List <Item> GetPillPool() { var pillPool = new List <Item>(); var playermanagetInstruct = GetPlayerManagetInstruct(); var numberOfPlayers = GetNumberOfPlayers(playermanagetInstruct); if (playermanagetInstruct == 0 || numberOfPlayers == 0) { return(pillPool); } var pillPoolArray = Read(playermanagetInstruct + PillsOffset, 13 * 4); for (var i = 0; i < 13; i++) { var pillId = MemoryReaderUtils.ConvertLittleEndian(pillPoolArray, i * 4, 4); if (pillId < 0) { pillPool.Add(null); continue; } pillPool.Add(pillId < ModdedHelper.UnmoddedPillsCount ? Pills.AllPills[pillId] : ModdedHelper.GetModdedPill(pillId)); } return(pillPool); }