public IV(Common.IVScore ivScore, int _hp) { attack = ivScore.attack; defense = ivScore.defense; stamina = ivScore.stamina; hp = _hp; }
public RaidBoss(RaidBosses._RaidBoss raidboss, Common.IVScore baseIV, Common.PossibilitySet.Possibility[] regular, Common.PossibilitySet.Possibility[] boosted, DateTime updateDateTime) { last_updated = updateDateTime; Pokemon = new Pokemon(raidboss.id, raidboss.name, raidboss.FormId); raid_cp = (int)Math.Floor((baseIV.attack + 15) * Math.Sqrt(baseIV.defense + 15) * Math.Sqrt(RaidHPBoost[raidboss.tier]) / 10); Regular = new Common.PossibilitySet(regular); Boosted = new Common.PossibilitySet(boosted); }
/// <summary> /// Write out a single RaidBoss XML file if necessary, then return the text that should be included in the .proj file. /// </summary> /// <param name="raidboss"></param> /// <returns>The text that should be included in the .proj file</returns> private static bool WriteRaidBoss(RaidBosses._RaidBoss raidboss, DateTime updateDateTime) { bool upToDate = true; string raidbossFileName = GetFileNameBase(raidboss); string filePath = Path.Combine(OutputXmlFolder, raidbossFileName + ".xml"); DateTime lastUpdated = Utils.GetLastUpdated(filePath); if (!File.Exists(filePath) || lastUpdated < updateDateTime) { Common.IVScore baseIV = new Common.IVScore( raidboss.PokemonTranslator.PokemonSettings.stats.base_attack, raidboss.PokemonTranslator.PokemonSettings.stats.base_defense, raidboss.PokemonTranslator.PokemonSettings.stats.base_stamina ); Utils.WriteXML( new RaidBoss(raidboss, baseIV, Utils.GetEncounterPossibilities(raidboss.PokemonTranslator, 20), Utils.GetEncounterPossibilities(raidboss.PokemonTranslator, 25), updateDateTime), filePath); upToDate = false; } string htmlFilePath = Path.Combine(HtmlFileFolder, raidbossFileName + ".html.xml"); if (!File.Exists(htmlFilePath)) { using (TextWriter htmlWriter = new StreamWriter(htmlFilePath)) { htmlWriter.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); htmlWriter.WriteLine("<!DOCTYPE Root ["); htmlWriter.WriteLine(" <!ENTITY Constants SYSTEM \"/_datafiles/constants.xml\">"); htmlWriter.WriteLine(" <!ENTITY Settings SYSTEM \"/_datafiles/settings.xml\">"); htmlWriter.WriteLine(" <!ENTITY PokeSprites SYSTEM \"/_datafiles.manual/infrequent/pokemon.sprites.xml\">"); htmlWriter.WriteLine(" <!ENTITY Images SYSTEM \"/_datafiles.manual/infrequent/images.xml\">"); htmlWriter.WriteLine(" <!ENTITY PokeStats SYSTEM \"/_datafiles/pokestats.gen" + PokeFormulas.GetGeneration(raidboss.id) + ".xml\">"); htmlWriter.WriteLine(" <!ENTITY RaidBoss SYSTEM \"/_datafiles/raidboss/" + raidbossFileName + ".xml\">"); htmlWriter.WriteLine("]>"); htmlWriter.WriteLine("<?xml-stylesheet type=\"text/xsl\" href=\"raidboss.xsl\" output=\"" + raidbossFileName + ".html\"?>"); htmlWriter.WriteLine("<Root xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"); htmlWriter.WriteLine(" &Constants; "); htmlWriter.WriteLine(" &Settings;"); htmlWriter.WriteLine(" &PokeSprites;"); htmlWriter.WriteLine(" &Images;"); htmlWriter.WriteLine(" &PokeStats;"); htmlWriter.WriteLine(" &RaidBoss;"); htmlWriter.WriteLine("</Root> "); } upToDate = false; } return(upToDate); }