// Make an event object dawg. public void Cleanup(ref Random rnd, int fighterCount, DataTbls dataTbls, bool isUnlockableFighterType = false) { bool isBossType = IsBossType(); EventSet(ref rnd, dataTbls); HazardCheck(); BossCheck(); HealthCheck(ref rnd, dataTbls); TimerCheck(fighterCount, isUnlockableFighterType, dataTbls.config.minimum_battle_time); BattlePowerCheck(ref rnd, isBossType); }
public static void ExportPackaged(DataTbls dataTbls, string filename) { var selectedBattleId = dataTbls.selectedBattle.battle_id; // Check whether user entered custom folder name. If not, use standard format. var packPath = FileHelper.IsDefaultFolderDialogPath(filename) ? FileHelper.ToDefaultBattleExportFolder(filename) + @"\" + selectedBattleId + "-" + DateTime.Now.ToString("yyyyMMddHHmmss") : filename; FileHelper.Save(dataTbls.battleData, dataTbls.fighterData, packPath, dataTbls.config.file_name_encr, useFolderStructure: true, unencrypted: false, encrypted: true, spiritData: dataTbls.spiritData, saveSpiritTitles: true); FileHelper.CopyPreloadFiles(packPath); FileHelper.CopySpiritImages(packPath); }
public void EventSet(ref Random rnd, DataTbls dataTbls) { // Post Randomize battle modifiers var eventCount = RandomizerHelper.eventDistribution[rnd.Next(RandomizerHelper.eventDistribution.Count)]; for (int j = 1; j <= eventCount; j++) { if (RandomizerHelper.ChancePass(dataTbls.config.chaos, ref rnd)) { var randEvent = GetRandomBattleEvent(ref rnd, dataTbls); BuildEvent(randEvent, j); } } }
public void HealthCheck(ref Random rnd, DataTbls dataTbls) { // Check if init HP is lower than init damage (?) if (basic_init_hp < basic_init_damage) { var hold = basic_init_damage; basic_init_damage = basic_init_hp; basic_init_hp = hold; } // If HP battle, and player hass less than 30 hp, and they pass chaos chance, give em extra health. if (battle_type == "hp" || battle_type == "hp_time") { basic_init_hp += (ushort)(RandomizerHelper.ChancePass(100 - dataTbls.config.chaos, ref rnd) && basic_init_hp < Defs.PLAYER_LOW_HP_CUTOFF ? Defs.PLAYER_LOW_HP_MOD : 0); } }
public static void ExportStandalone(DataTbls dataTbls, string filename) { var selectedBattleId = dataTbls.selectedBattle.battle_id; ExportedBattle export = new ExportedBattle() { battle = dataTbls.battleData.GetBattle(selectedBattleId), fighters = dataTbls.selectedFighters, spirit = dataTbls?.spiritData?.GetSpiritByName(selectedBattleId) }; var unencryptedFileName = String.Format("{0}{1}", selectedBattleId, Defs.standaloneExportExtension); // Check whether user entered custom folder name. If not, use standard format. var standalonePath = FileHelper.IsDefaultFolderDialogPath(filename) ? FileHelper.ToDefaultBattleExportFolder(filename) : filename; XmlHelper.SerializeToFile($"{standalonePath}\\{unencryptedFileName}", export); }
public BattleEvent GetRandomBattleEvent(ref Random rand, DataTbls dataTbls) { if (dataTbls.eventData.GetCount() == 0) { return(dataTbls.battleData.events[rand.Next(dataTbls.battleData.events.Count)]); } else { var properties = GetType().GetProperties(); IDataTbl pulledEvent = dataTbls.eventData.GetRandomEvent(ref rand); var randEvent = new BattleEvent(); // Chance to get a random event from label, vs random event from event type. Should help spread things out hopefully. if (RandomizerHelper.ChancePass(Defs.EVENT_CHECK, ref rand)) { randEvent.event_type = ((Event)pulledEvent).GetTypeName(); randEvent.event_label = pulledEvent.GetPropertyValueFromName("label"); } else { var event_types = dataTbls.eventData.event_type; randEvent.event_type = event_types[rand.Next(event_types.Count)]; var labels = dataTbls.eventData.GetLabelsOfType(randEvent.event_type); randEvent.event_label = labels[rand.Next(labels.Count)]; } randEvent.event_count = Byte.Parse(GetRandomFieldValue(properties.FirstOrDefault(x => x.Name == "event1_count"), ref rand, dataTbls, true)); randEvent.event_damage = UInt16.Parse(GetRandomFieldValue(properties.FirstOrDefault(x => x.Name == "event1_damage"), ref rand, dataTbls, true)); randEvent.event_start_time = Int32.Parse(GetRandomFieldValue(properties.FirstOrDefault(x => x.Name == "event1_start_time"), ref rand, dataTbls, true)); randEvent.event_range_time = Int32.Parse(GetRandomFieldValue(properties.FirstOrDefault(x => x.Name == "event1_range_time"), ref rand, dataTbls, true)); return(randEvent); } }
public static TabPage BuildEmptyPage(DataTbls dataTbls) { return(BuildEmptyPage(dataTbls, typeof(Fighter))); }
public static TabPage BuildEmptyPage(DataTbls dataTbls) { return(BuildEmptyPage(dataTbls, typeof(Battle))); }
public TabPage BuildEmptyPage(DataTbls dataTbls) { return(DataTbl.BuildEmptyPage(dataTbls, this.GetType())); }
public static TabPage BuildEmptyPage(DataTbls dataTbls) { return(DataTbl.BuildEmptyPage(dataTbls, typeof(Spirit))); }