protected void SetToDefault() { ArcheType = default; Entities = default; BatchSize = default; Countdown = default; }
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);
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); }
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); } }