public void LoadContent(int battleOrder, CharacterIdentity enemyID) { EnemyBattleCharacterData enemyData = GameClass.ContentManager.Load<EnemyBattleCharacterData>("BattleCharacters/" + enemyID.ToString() + "/" + enemyID.ToString() + "Battle"); name = enemyData.name; runSpeed = enemyData.runSpeed; this.battleOrder = battleOrder; Sprites = new Dictionary<string, AnimatedSprite>(); Sprites.Add("Idle", AnimatedSprite.CreateFromData(enemyData.idleAnimation)); Sprites.Add("Run", AnimatedSprite.CreateFromData(enemyData.runAnimation)); Sprites.Add("Damage", AnimatedSprite.CreateFromData(enemyData.damageAnimation)); Sprites.Add("Death", AnimatedSprite.CreateFromData(enemyData.deathAnimation)); Sprites["Death"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast; yDrawOffset = enemyData.drawOffset; switch (battleOrder) { case 3: position = new Vector2(390, 275 - enemyData.drawOffset); battlePortrait = GameClass.LoadTextureData("General/EnemyBattlePortrait1"); battlePortraitPosition = new Vector2(330, 338); break; case 4: position = new Vector2(440, 295 - enemyData.drawOffset); battlePortrait = GameClass.LoadTextureData("General/EnemyBattlePortrait2"); battlePortraitPosition = new Vector2(330, 358); break; case 5: position = new Vector2(490, 315 - enemyData.drawOffset); battlePortrait = GameClass.LoadTextureData("General/EnemyBattlePortrait3"); battlePortraitPosition = new Vector2(330, 378); break; } CurrentAction = "Idle"; CurrentSprite.CurrentFrame = GameClass.Random.Next(0, CurrentSprite.TotalFrames); Facing = CharacterFacing.Left; maxHP = enemyData.HP; currentHP = maxHP; displayHP = maxHP; maxMP = enemyData.MP; currentMP = maxMP; displayMP = maxMP; baseATK = enemyData.ATK; currentATK = baseATK; baseDEF = enemyData.DEF; currentDEF = baseDEF; baseMAG_ATK = enemyData.MAG_ATK; currentMAG_ATK= baseMAG_ATK; baseMAG_DEF = enemyData.MAG_DEF; currentMAG_DEF = baseMAG_DEF; baseSPD = enemyData.SPD; currentSPD = baseSPD; expWorth = enemyData.EXPWorth; techniques = new List<BattleTechnique>(); foreach (BattleTechniqueData techData in enemyData.techniques) { BattleTechnique newTechnique = new BattleTechnique(); newTechnique.LoadContent(this, techData); techniques.Add(newTechnique); } }
public void LoadContent(int battleOrder, PartyCharacter partyCharacter) { PlayerBattleCharacterData playerData = GameClass.ContentManager.Load<PlayerBattleCharacterData>("BattleCharacters/" + partyCharacter.CharacterID.ToString() + "/" + partyCharacter.CharacterID.ToString() + "Battle"); name = playerData.name; runSpeed = playerData.runSpeed; this.battleOrder = battleOrder; this.battlePortrait = GameClass.LoadTextureData(playerData.battlePortraitFileName); Sprites = new Dictionary<string, AnimatedSprite>(); Sprites.Add("BattleStart", AnimatedSprite.CreateFromData(playerData.battleStartAnimation)); Sprites.Add("Idle", AnimatedSprite.CreateFromData(playerData.idleAnimation)); Sprites.Add("Run", AnimatedSprite.CreateFromData(playerData.runAnimation)); Sprites.Add("Damage", AnimatedSprite.CreateFromData(playerData.damageAnimation)); Sprites["Damage"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast; Sprites.Add("Death", AnimatedSprite.CreateFromData(playerData.deathAnimation)); Sprites["Death"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast; Sprites.Add("Revived", AnimatedSprite.CreateFromData(playerData.revivedAnimation)); Sprites["Revived"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast; Sprites.Add("Victory", AnimatedSprite.CreateFromData(playerData.victoryAnimation)); Sprites["Victory"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast; Sprites.Add("Item", AnimatedSprite.CreateFromData(playerData.itemAnimation)); Sprites["Item"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast; yDrawOffset = playerData.drawOffset; switch (battleOrder) { case 0: position = new Vector2(260, 275 - playerData.drawOffset); battlePortraitPosition = new Vector2(10, 338); break; case 1: position = new Vector2(210, 295 - playerData.drawOffset); battlePortraitPosition = new Vector2(10, 358); break; case 2: position = new Vector2(160, 315 - playerData.drawOffset); battlePortraitPosition = new Vector2(10, 378); break; } CurrentAction = "BattleStart"; Facing = CharacterFacing.Right; maxHP = partyCharacter.HP; currentHP = maxHP; displayHP = maxHP; maxMP = partyCharacter.MP; currentMP = maxMP; displayMP = maxMP; baseATK = partyCharacter.ATK; currentATK = baseATK; baseDEF = partyCharacter.DEF; currentDEF = baseDEF; baseMAG_ATK = partyCharacter.MAG_ATK; currentMAG_ATK= baseMAG_ATK; baseMAG_DEF = partyCharacter.MAG_DEF; currentMAG_DEF = baseMAG_DEF; baseSPD = partyCharacter.SPD; currentSPD = baseSPD; techniques = new List<BattleTechnique>(); foreach (BattleTechniqueData techData in playerData.techniques) { int techLevelRestriction = 0; foreach(BattleTechniqueLevelData techLevelData in partyCharacter.TechniqueLevelData) { if (techLevelData.techniqueName == techData.techniqueName) { techLevelRestriction = techLevelData.levelLearnt; } } if (!(partyCharacter.Level < techLevelRestriction)) { BattleTechnique newTechnique = new BattleTechnique(); newTechnique.LoadContent(this, techData); techniques.Add(newTechnique); } } }