예제 #1
0
        public ExtraDropEntry NewEntry()
        {
            ExtraDropEntry extraDropEntry = new ExtraDropEntry();

            this.Entries.Add(extraDropEntry);
            return(extraDropEntry);
        }
예제 #2
0
        public ExtraDropEntry CloneEntry(int index)
        {
            ExtraDropEntry extraDropEntry = new ExtraDropEntry(this.Entries[index]);

            this.Entries.Add(extraDropEntry);
            return(extraDropEntry);
        }
예제 #3
0
 public ExtraDropEntry(ExtraDropEntry entry)
 {
     this.Name = entry.Name;
     this.Type = entry.Type;
     for (int index = 0; index < 8; ++index)
     {
         this._dropNumProbabilities[index] = entry._dropNumProbabilities[index];
     }
     foreach (int monster in entry.Monsters)
     {
         this.Monsters.Add(monster);
     }
     foreach (ExtraDropItem dropItem in entry.DropItems)
     {
         this.DropItems.Add(new ExtraDropItem(dropItem));
     }
 }
예제 #4
0
        public Tuple <int, int, int> FindEntry(long id, int entryOffset, int monsterOffset, int itemOffset)
        {
            List <ExtraDropEntry> list = this.Entries.Skip <ExtraDropEntry>(entryOffset).ToList <ExtraDropEntry>();

            for (int index = 0; index < list.Count; ++index)
            {
                ExtraDropEntry extraDropEntry = list[index];
                int            monster        = extraDropEntry.FindMonster((int)id, monsterOffset);
                int            num            = extraDropEntry.FindItem((uint)id, itemOffset);
                if (monster > -1 || num > -1)
                {
                    return(Tuple.Create <int, int, int>(index + entryOffset, monster, num));
                }
                monsterOffset = 0;
                itemOffset    = 0;
            }
            return(Tuple.Create <int, int, int>(-1, -1, -1));
        }