protected Character(FormationUnitSaveData unitSaveData, MonsterData monsterData) : this(monsterData) { BuffInfo = unitSaveData.Buffs; StatusEffects = unitSaveData.Statuses; this[AttributeType.HitPoints, true].CurrentValue = unitSaveData.CurrentHp; }
public virtual void UpdateSaveData(FormationUnitSaveData saveUnitData) { saveUnitData.IsHero = false; saveUnitData.Class = Class; saveUnitData.Name = Name; saveUnitData.CurrentHp = CurrentHealth; saveUnitData.Buffs = BuffInfo; saveUnitData.Statuses = StatusEffects; }
public override void UpdateSaveData(FormationUnitSaveData saveUnitData) { saveUnitData.IsHero = false; saveUnitData.Class = Class; saveUnitData.Name = Name; saveUnitData.CurrentHp = Health.CurrentValue; saveUnitData.Buffs = buffInfo; saveUnitData.Statuses = statusEffects; }
public void UpdateFormation(BattleFormation formation) { UnitData.Clear(); foreach (FormationUnit unit in formation.Party.Units) { var newFormationUnitData = new FormationUnitSaveData(); newFormationUnitData.UpdateFromUnit(unit); UnitData.Add(newFormationUnitData); } }
public void UpdateFormation(BattleFormation formation) { unitData.Clear(); for (int i = 0; i < formation.party.Units.Count; i++) { var newFormationUnitData = new FormationUnitSaveData(); newFormationUnitData.UpdateFromUnit(formation.party.Units[i]); unitData.Add(newFormationUnitData); } }
public override void UpdateSaveData(FormationUnitSaveData saveUnitData) { saveUnitData.IsHero = true; saveUnitData.RosterId = RosterId; saveUnitData.Class = Class; saveUnitData.Name = Name; saveUnitData.CurrentHp = CurrentHealth; saveUnitData.Buffs = BuffInfo; saveUnitData.Statuses = StatusEffects; }
public void UpdateFromBattleGround(BattleGround battleGround) { RoundNumber = battleGround.Round.RoundNumber; RoundStatus = battleGround.RoundStatus; TurnType = battleGround.Round.TurnType; TurnStatus = battleGround.TurnStatus; HeroAction = battleGround.Round.HeroAction; SelectedUnitId = battleGround.Round.SelectedUnit == null ? -1 : battleGround.Round.SelectedUnit.CombatInfo.CombatId; SelectedTargetId = battleGround.Round.SelectedTarget == null ? -1 : battleGround.Round.SelectedTarget.CombatInfo.CombatId; BattleStatus = battleGround.BattleStatus; SurpriseStatus = battleGround.SurpriseStatus; StallingRoundNumber = battleGround.StallingRoundNumber; OrderedUnitsCombatIds.Clear(); for (int i = 0; i < battleGround.Round.OrderedUnits.Count; i++) { OrderedUnitsCombatIds.Add(battleGround.Round.OrderedUnits[i].CombatInfo.CombatId); } CombatIds.Clear(); CombatIds.AddRange(battleGround.CombatIds); Companions.Clear(); for (int i = 0; i < battleGround.Companions.Count; i++) { Companions.Add(battleGround.Companions[i].GetHashCode()); } Captures.Clear(); RemovedUnits.Clear(); for (int i = 0; i < battleGround.Captures.Count; i++) { Captures.Add(battleGround.Captures[i].GetHashCode()); if (battleGround.Captures[i].RemoveFromParty) { var newRemovedUnitData = new FormationUnitSaveData(); newRemovedUnitData.UpdateFromUnit(battleGround.Captures[i].PrisonerUnit); RemovedUnits.Add(newRemovedUnitData); } } Controls.Clear(); for (int i = 0; i < battleGround.Controls.Count; i++) { Controls.Add(battleGround.Controls[i].GetHashCode()); } BattleLoot = battleGround.BattleLoot; LastDamaged = battleGround.LastDamaged; LastSkillUsed = battleGround.LastSkillUsed == null ? "" : battleGround.LastSkillUsed; MonsterFormation.UpdateFormation(battleGround.MonsterFormation); }
public void ReadFormationData(BinaryReader br) { int unitDataCount = br.ReadInt32(); UnitData.Clear(); for (int i = 0; i < unitDataCount; i++) { var newFormationUnitData = new FormationUnitSaveData(); newFormationUnitData.ReadFormationUnitData(br); UnitData.Add(newFormationUnitData); } }
public void Initialize(Character character, FormationUnitSaveData saveData) { EventQueue = new List <EffectEvent>(); CombatInfo = saveData.CombatInfo; RectTransform = GetComponent <RectTransform>(); unitAnimator = GetComponentInChildren <UnitAnimator>(); Character = character; if (Character.IsMonster == false) { Character.LoadStatusEffects(saveData.Statuses); } Rank = saveData.Rank; Team = saveData.Team; OriginalClass = saveData.OriginalClass; Character.ApplyAllBuffRules(RaidSceneManager.Rules.GetIdleUnitRules(this)); }
public Monster(FormationUnitSaveData unitSaveData) : base(unitSaveData, DarkestDungeonManager.Data.Monsters[unitSaveData.Name]) { Data = DarkestDungeonManager.Data.Monsters[unitSaveData.Name]; Brain = DarkestDungeonManager.Data.Brains[Data.MonsterBrainId]; }
public void ReadBattlegroundData(BinaryReader br) { RoundNumber = br.ReadInt32(); RoundStatus = (RoundStatus)br.ReadInt32(); TurnType = (TurnType)br.ReadInt32(); TurnStatus = (TurnStatus)br.ReadInt32(); HeroAction = (HeroTurnAction)br.ReadInt32(); BattleStatus = (BattleStatus)br.ReadInt32(); SurpriseStatus = (SurpriseStatus)br.ReadInt32(); StallingRoundNumber = br.ReadInt32(); SelectedUnitId = br.ReadInt32(); SelectedTargetId = br.ReadInt32(); LastSkillUsed = br.ReadString(); int orderedUnitsCount = br.ReadInt32(); OrderedUnitsCombatIds.Clear(); for (int i = 0; i < orderedUnitsCount; i++) { OrderedUnitsCombatIds.Add(br.ReadInt32()); } int combatIdsCount = br.ReadInt32(); CombatIds.Clear(); for (int i = 0; i < combatIdsCount; i++) { CombatIds.Add(br.ReadInt32()); } int companionsCount = br.ReadInt32(); Companions.Clear(); for (int i = 0; i < companionsCount; i++) { Companions.Add(br.ReadInt32()); } int capturesCount = br.ReadInt32(); Captures.Clear(); for (int i = 0; i < capturesCount; i++) { Captures.Add(br.ReadInt32()); } int controlsCount = br.ReadInt32(); Controls.Clear(); for (int i = 0; i < controlsCount; i++) { Controls.Add(br.ReadInt32()); } int lastDamagedCount = br.ReadInt32(); LastDamaged.Clear(); for (int i = 0; i < lastDamagedCount; i++) { LastDamaged.Add(br.ReadString()); } int battleLootCount = br.ReadInt32(); BattleLoot.Clear(); for (int i = 0; i < battleLootCount; i++) { var newBattleLoot = new LootDefinition() { Code = br.ReadString(), Count = br.ReadInt32(), }; BattleLoot.Add(newBattleLoot); } int removedUnitsCount = br.ReadInt32(); RemovedUnits.Clear(); for (int i = 0; i < removedUnitsCount; i++) { var newFormationUnitData = new FormationUnitSaveData(); newFormationUnitData.ReadFormationUnitData(br); RemovedUnits.Add(newFormationUnitData); } MonsterFormation.ReadFormationData(br); }