protected void SetToDefault()
 {
     ArcheType = default;
     Entities  = default;
     BatchSize = default;
     Countdown = default;
 }
Exemplo n.º 2
0
        public PartyData Read(DAIIO io)
        {
            xLength        = io.ReadBit2(LengthBits);
            ArcheTypeCount = io.ReadInt16();
            ArcheTypes     = new ArcheType[ArcheTypeCount];
            for (int i = 0; i < ArcheTypeCount; i++)
            {
                ArcheTypes[i] = new ArcheType().Read(io);
            }
            DesiredPartyMemberIDCount = io.ReadInt16();
            DesiredPartyMemberIDs     = new int[DesiredPartyMemberIDCount];
            for (int i = 0; i < DesiredPartyMemberIDCount; i++)
            {
                DesiredPartyMemberIDs[i] = io.ReadInt32();
            }
            OverridePartyMemberIDCount = io.ReadInt16();
            OverridePartyMemberIDs     = new int[OverridePartyMemberIDCount];
            for (int i = 0; i < OverridePartyMemberIDCount; i++)
            {
                OverridePartyMemberIDs[i] = io.ReadInt32();
            }

            PartyMemberCount = io.ReadInt16();
            PartyMembers     = new PartyMember[PartyMemberCount];
            for (int i = 0; i < PartyMemberCount; i++)
            {
                PartyMembers[i] = new PartyMember().Read(io);
            }
            return(this);
        }
        internal int GetArcheTypeEntityCount(ArcheType archeType)
        {
            if (_archeTypeMap.TryGetValue(archeType, out Dictionary <Entity, Dictionary <Type, IComponent> > entities))
            {
                return(entities.Count);
            }

            return(default);
Exemplo n.º 4
0
        private ICharacter GenerateCharacter()
        {
            var newChar  = new Character(PlayerName);
            var newStats = new Stats();

            for (var stat = Stat.HP; stat <= Stat.CHA; ++stat)
            {
                var singleStat = newStats[stat];
                singleStat[StatType.Base]   = ArcheType.GetBase(stat);
                singleStat[StatType.Growth] = ArcheType.GetGrowth(stat);
            }

            for (var stat = Stat.PSN; stat <= Stat.DTH; ++stat)
            {
                newStats[stat][StatType.Base] = ArcheType.GetResistance(stat);
            }

            newStats.EVAType = ArcheType.Block ? EVAType.Block : EVAType.Dodge;

            for (var stat = EleMastery.FIR; stat <= EleMastery.LGT; ++stat)
            {
                newStats[stat][StatType.Base] = _masteryMap[stat];
            }

            for (var stat = Stat.HP; stat <= Stat.SIL; ++stat)
            {
                newStats[stat][StatType.Base]   *= RaceTemplate.Stats[stat];
                newStats[stat][StatType.Growth] *= RaceTemplate.Stats[stat];
            }

            newStats.XPMultiplier = 1.1d;

            var spells = new List <ISpell>
            {
                NormalAttack,
                _model.SpellFactory.GetSpell("Defend")
            };

            spells.AddRange(Skillset.Spells);
            spells.Add(SignatureSpell);

            newChar.Spells = spells;
            newChar.Race   = RaceTemplate.Name;
            newChar.Lore   = RaceTemplate.Description;
            newChar.Stats  = newStats;
            newChar.SetLvl();
            return(newChar);
        }
Exemplo n.º 5
0
        public bool Write(DAIIO io, bool skiplength = false)
        {
            try
            {
                if (!skiplength)
                {
                    io.WriteBits(Length, LengthBits);
                }

                if (ArcheTypes == null)
                {
                    ArcheTypes = new ArcheType[ArcheTypeCount];

                    for (int xb = 0; xb < ArcheTypeCount; xb++)
                    {
                        ArcheTypes[xb] = new ArcheType();
                    }
                }
                io.WriteInt16((short)ArcheTypes.Length);
                foreach (ArcheType t in ArcheTypes)
                {
                    t.Write(io);
                }

                if (DesiredPartyMemberIDs == null)
                {
                    DesiredPartyMemberIDs = new int[DesiredPartyMemberIDCount];
                }
                io.WriteInt16((short)DesiredPartyMemberIDs.Length);
                foreach (int t in DesiredPartyMemberIDs)
                {
                    io.WriteInt32(t);
                }

                if (OverridePartyMemberIDs == null)
                {
                    OverridePartyMemberIDs = new int[OverridePartyMemberIDCount];
                }
                io.WriteInt16((short)OverridePartyMemberIDs.Length);
                foreach (int t in OverridePartyMemberIDs)
                {
                    io.WriteInt32(t);
                }

                if (PartyMembers == null)
                {
                    PartyMembers = new PartyMember[PartyMemberCount];

                    for (int xb = 0; xb < PartyMemberCount; xb++)
                    {
                        PartyMembers[xb] = new PartyMember();
                    }
                }
                io.WriteInt16((short)PartyMembers.Length);
                foreach (PartyMember t in PartyMembers)
                {
                    t.Write(io);
                }
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }