Esempio n. 1
0
 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);
 }
Esempio n. 2
0
        /// <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);
        }