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);
        }
Ejemplo n.º 2
0
        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);
        }