from .Names import ItemName, RegionName, LocationName # this file contains the dicts,lists and sets used for making rules in rules.py base_tools = [ ItemName.FinishingPlus, ItemName.Guard, ItemName.AerialRecovery ] gap_closer = [ ItemName.SlideDash, ItemName.FlashStep ] defensive_tool = [ ItemName.ReflectElement, ItemName.Guard ] form_list = [ ItemName.ValorForm, ItemName.WisdomForm, ItemName.LimitForm, ItemName.MasterForm, ItemName.FinalForm ] form_list_without_final = [ ItemName.ValorForm, ItemName.WisdomForm, ItemName.LimitForm, ItemName.MasterForm ] ground_finisher = [ ItemName.GuardBreak, ItemName.Explosion, ItemName.FinishingLeap ] party_limit = [ ItemName.Fantasia, ItemName.FlareForce, ItemName.Teamwork, ItemName.TornadoFusion ] donald_limit = [ ItemName.Fantasia, ItemName.FlareForce ] aerial_move = [ ItemName.AerialDive, ItemName.AerialSpiral, ItemName.HorizontalSlash, ItemName.AerialSweep, ItemName.AerialFinish ] level_3_form_loc = [ LocationName.Valorlvl3, LocationName.Wisdomlvl3, LocationName.Limitlvl3, LocationName.Masterlvl3, LocationName.Finallvl3 ] black_magic = [ ItemName.FireElement, ItemName.BlizzardElement, ItemName.ThunderElement ] magic = [ ItemName.FireElement, ItemName.BlizzardElement, ItemName.ThunderElement, ItemName.ReflectElement, ItemName.CureElement, ItemName.MagnetElement ] summons = [ ItemName.ChickenLittle, ItemName.Stitch, ItemName.Genie, ItemName.PeterPan ] three_proofs = [ ItemName.ProofofConnection, ItemName.ProofofPeace, ItemName.ProofofNonexistence ] auto_form_dict = { ItemName.FinalForm: ItemName.AutoFinal, ItemName.MasterForm: ItemName.AutoMaster, ItemName.LimitForm: ItemName.AutoLimit, ItemName.WisdomForm: ItemName.AutoWisdom, ItemName.ValorForm: ItemName.AutoValor, } # could use comprehension for getting a list of the region objects but eh I like this more drive_form_list = [RegionName.Valor, RegionName.Wisdom, RegionName.Limit, RegionName.Master, RegionName.Final, RegionName.Summon] easy_data_xigbar_tools = { ItemName.FinishingPlus: 1, ItemName.Guard: 1, ItemName.AerialDive: 1, ItemName.HorizontalSlash: 1, ItemName.AirComboPlus: 2, ItemName.FireElement: 3, ItemName.ReflectElement: 3, } normal_data_xigbar_tools = { ItemName.FinishingPlus: 1, ItemName.Guard: 1, ItemName.HorizontalSlash: 1, ItemName.FireElement: 3, ItemName.ReflectElement: 3, } easy_data_lex_tools = { ItemName.Guard: 1, ItemName.FireElement: 3, ItemName.ReflectElement: 2, ItemName.SlideDash: 1, ItemName.FlashStep: 1 } normal_data_lex_tools = { ItemName.Guard: 1, ItemName.FireElement: 3, ItemName.ReflectElement: 1, } easy_data_marluxia_tools = { ItemName.Guard: 1, ItemName.FireElement: 3, ItemName.ReflectElement: 2, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.AerialRecovery: 1, } normal_data_marluxia_tools = { ItemName.Guard: 1, ItemName.FireElement: 3, ItemName.ReflectElement: 1, ItemName.AerialRecovery: 1, } easy_terra_tools = { ItemName.SecondChance: 1, ItemName.OnceMore: 1, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.Explosion: 1, ItemName.ComboPlus: 2, ItemName.FireElement: 3, ItemName.Fantasia: 1, ItemName.FlareForce: 1, ItemName.ReflectElement: 1, ItemName.Guard: 1, ItemName.DodgeRoll: 3, ItemName.AerialDodge: 3, ItemName.Glide: 3 } normal_terra_tools = { ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.Explosion: 1, ItemName.ComboPlus: 2, ItemName.Guard: 1, ItemName.DodgeRoll: 2, ItemName.AerialDodge: 2, ItemName.Glide: 2 } hard_terra_tools = { ItemName.Explosion: 1, ItemName.ComboPlus: 2, ItemName.DodgeRoll: 2, ItemName.AerialDodge: 2, ItemName.Glide: 2, ItemName.Guard: 1 } easy_data_luxord_tools = { ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.AerialDodge: 2, ItemName.Glide: 2, ItemName.ReflectElement: 3, ItemName.Guard: 1, } easy_data_zexion = { ItemName.FireElement: 3, ItemName.SecondChance: 1, ItemName.OnceMore: 1, ItemName.Fantasia: 1, ItemName.FlareForce: 1, ItemName.ReflectElement: 3, ItemName.Guard: 1, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.QuickRun: 3, } normal_data_zexion = { ItemName.FireElement: 3, ItemName.ReflectElement: 3, ItemName.Guard: 1, ItemName.QuickRun: 3 } hard_data_zexion = { ItemName.FireElement: 2, ItemName.ReflectElement: 1, ItemName.QuickRun: 2, } easy_data_xaldin = { ItemName.FireElement: 3, ItemName.AirComboPlus: 2, ItemName.FinishingPlus: 1, ItemName.Guard: 1, ItemName.ReflectElement: 3, ItemName.FlareForce: 1, ItemName.Fantasia: 1, ItemName.HighJump: 3, ItemName.AerialDodge: 3, ItemName.Glide: 3, ItemName.MagnetElement: 1, ItemName.HorizontalSlash: 1, ItemName.AerialDive: 1, ItemName.AerialSpiral: 1, ItemName.BerserkCharge: 1 } normal_data_xaldin = { ItemName.FireElement: 3, ItemName.FinishingPlus: 1, ItemName.Guard: 1, ItemName.ReflectElement: 3, ItemName.FlareForce: 1, ItemName.Fantasia: 1, ItemName.HighJump: 3, ItemName.AerialDodge: 3, ItemName.Glide: 3, ItemName.MagnetElement: 1, ItemName.HorizontalSlash: 1, ItemName.AerialDive: 1, ItemName.AerialSpiral: 1, } hard_data_xaldin = { ItemName.FireElement: 2, ItemName.FinishingPlus: 1, ItemName.Guard: 1, ItemName.HighJump: 2, ItemName.AerialDodge: 2, ItemName.Glide: 2, ItemName.MagnetElement: 1, ItemName.AerialDive: 1 } easy_data_larxene = { ItemName.FireElement: 3, ItemName.SecondChance: 1, ItemName.OnceMore: 1, ItemName.Fantasia: 1, ItemName.FlareForce: 1, ItemName.ReflectElement: 3, ItemName.Guard: 1, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.AerialDodge: 3, ItemName.Glide: 3, ItemName.GuardBreak: 1, ItemName.Explosion: 1 } normal_data_larxene = { ItemName.FireElement: 3, ItemName.ReflectElement: 3, ItemName.Guard: 1, ItemName.AerialDodge: 3, ItemName.Glide: 3, } hard_data_larxene = { ItemName.FireElement: 2, ItemName.ReflectElement: 1, ItemName.Guard: 1, ItemName.AerialDodge: 2, ItemName.Glide: 2, } easy_data_vexen = { ItemName.FireElement: 3, ItemName.SecondChance: 1, ItemName.OnceMore: 1, ItemName.Fantasia: 1, ItemName.FlareForce: 1, ItemName.ReflectElement: 3, ItemName.Guard: 1, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.AerialDodge: 3, ItemName.Glide: 3, ItemName.GuardBreak: 1, ItemName.Explosion: 1, ItemName.DodgeRoll: 3, ItemName.QuickRun: 3, } normal_data_vexen = { ItemName.FireElement: 3, ItemName.ReflectElement: 3, ItemName.Guard: 1, ItemName.AerialDodge: 3, ItemName.Glide: 3, ItemName.DodgeRoll: 3, ItemName.QuickRun: 3, } hard_data_vexen = { ItemName.FireElement: 2, ItemName.ReflectElement: 1, ItemName.Guard: 1, ItemName.AerialDodge: 2, ItemName.Glide: 2, ItemName.DodgeRoll: 3, ItemName.QuickRun: 3, } easy_thousand_heartless_rules = { ItemName.SecondChance: 1, ItemName.OnceMore: 1, ItemName.Guard: 1, ItemName.MagnetElement: 2, } normal_thousand_heartless_rules = { ItemName.LimitForm: 1, ItemName.Guard: 1, } easy_data_demyx = { ItemName.FormBoost: 1, ItemName.ReflectElement: 2, ItemName.FireElement: 3, ItemName.FlareForce: 1, ItemName.Guard: 1, ItemName.SecondChance: 1, ItemName.OnceMore: 1, ItemName.FinishingPlus: 1, } normal_data_demyx = { ItemName.ReflectElement: 2, ItemName.FireElement: 3, ItemName.FlareForce: 1, ItemName.Guard: 1, ItemName.FinishingPlus: 1, } hard_data_demyx = { ItemName.ReflectElement: 1, ItemName.FireElement: 2, ItemName.FlareForce: 1, ItemName.Guard: 1, ItemName.FinishingPlus: 1, } easy_sephiroth_tools = { ItemName.Guard: 1, ItemName.ReflectElement: 3, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.GuardBreak: 1, ItemName.Explosion: 1, ItemName.DodgeRoll: 3, ItemName.FinishingPlus: 1, ItemName.SecondChance: 1, ItemName.OnceMore: 1, } normal_sephiroth_tools = { ItemName.Guard: 1, ItemName.ReflectElement: 2, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.GuardBreak: 1, ItemName.Explosion: 1, ItemName.DodgeRoll: 3, ItemName.FinishingPlus: 1, } hard_sephiroth_tools = { ItemName.Guard: 1, ItemName.ReflectElement: 1, ItemName.DodgeRoll: 2, ItemName.FinishingPlus: 1, } not_hard_cor_tools_dict = { ItemName.ReflectElement: 3, ItemName.Stitch: 1, ItemName.ChickenLittle: 1, ItemName.MagnetElement: 2, ItemName.Explosion: 1, ItemName.FinishingLeap: 1, ItemName.ThunderElement: 2, } transport_tools_dict = { ItemName.ReflectElement: 3, ItemName.Stitch: 1, ItemName.ChickenLittle: 1, ItemName.MagnetElement: 2, ItemName.Explosion: 1, ItemName.FinishingLeap: 1, ItemName.ThunderElement: 3, ItemName.Fantasia: 1, ItemName.FlareForce: 1, ItemName.Genie: 1, } easy_data_saix = { ItemName.Guard: 1, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.ThunderElement: 1, ItemName.BlizzardElement: 1, ItemName.FlareForce: 1, ItemName.Fantasia: 1, ItemName.FireElement: 3, ItemName.ReflectElement: 3, ItemName.GuardBreak: 1, ItemName.Explosion: 1, ItemName.AerialDodge: 3, ItemName.Glide: 3, ItemName.SecondChance: 1, ItemName.OnceMore: 1 } normal_data_saix = { ItemName.Guard: 1, ItemName.ThunderElement: 1, ItemName.BlizzardElement: 1, ItemName.FireElement: 3, ItemName.ReflectElement: 3, ItemName.AerialDodge: 3, ItemName.Glide: 3, } hard_data_saix = { ItemName.Guard: 1, ItemName.BlizzardElement: 1, ItemName.ReflectElement: 1, ItemName.AerialDodge: 3, ItemName.Glide: 3, } easy_data_roxas_tools = { ItemName.Guard: 1, ItemName.ReflectElement: 3, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.GuardBreak: 1, ItemName.Explosion: 1, ItemName.DodgeRoll: 3, ItemName.FinishingPlus: 1, ItemName.SecondChance: 1, ItemName.OnceMore: 1, } normal_data_roxas_tools = { ItemName.Guard: 1, ItemName.ReflectElement: 2, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.GuardBreak: 1, ItemName.Explosion: 1, ItemName.DodgeRoll: 3, ItemName.FinishingPlus: 1, } hard_data_roxas_tools = { ItemName.Guard: 1, ItemName.ReflectElement: 1, ItemName.DodgeRoll: 2, ItemName.FinishingPlus: 1, } easy_data_axel_tools = { ItemName.Guard: 1, ItemName.ReflectElement: 3, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.GuardBreak: 1, ItemName.Explosion: 1, ItemName.DodgeRoll: 3, ItemName.FinishingPlus: 1, ItemName.SecondChance: 1, ItemName.OnceMore: 1, ItemName.BlizzardElement: 3, } normal_data_axel_tools = { ItemName.Guard: 1, ItemName.ReflectElement: 2, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.GuardBreak: 1, ItemName.Explosion: 1, ItemName.DodgeRoll: 3, ItemName.FinishingPlus: 1, ItemName.BlizzardElement: 3, } hard_data_axel_tools = { ItemName.Guard: 1, ItemName.ReflectElement: 1, ItemName.DodgeRoll: 2, ItemName.FinishingPlus: 1, ItemName.BlizzardElement: 2, } easy_roxas_tools = { ItemName.AerialDodge: 1, ItemName.Glide: 1, ItemName.LimitForm: 1, ItemName.ThunderElement: 1, ItemName.ReflectElement: 2, ItemName.GuardBreak: 1, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.FinishingPlus: 1, ItemName.BlizzardElement: 1 } normal_roxas_tools = { ItemName.ThunderElement: 1, ItemName.ReflectElement: 2, ItemName.GuardBreak: 1, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.FinishingPlus: 1, ItemName.BlizzardElement: 1 } easy_xigbar_tools = { ItemName.HorizontalSlash: 1, ItemName.FireElement: 2, ItemName.FinishingPlus: 1, ItemName.Glide: 2, ItemName.AerialDodge: 2, ItemName.QuickRun: 2, ItemName.ReflectElement: 1, ItemName.Guard: 1, } normal_xigbar_tools = { ItemName.FireElement: 2, ItemName.FinishingPlus: 1, ItemName.Glide: 2, ItemName.AerialDodge: 2, ItemName.QuickRun: 2, ItemName.ReflectElement: 1, ItemName.Guard: 1 } easy_luxord_tools = { ItemName.AerialDodge: 1, ItemName.Glide: 1, ItemName.QuickRun: 2, ItemName.Guard: 1, ItemName.ReflectElement: 2, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.LimitForm: 1, } normal_luxord_tools = { ItemName.AerialDodge: 1, ItemName.Glide: 1, ItemName.QuickRun: 2, ItemName.Guard: 1, ItemName.ReflectElement: 2, } easy_saix_tools = { ItemName.AerialDodge: 1, ItemName.Glide: 1, ItemName.QuickRun: 2, ItemName.Guard: 1, ItemName.ReflectElement: 2, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.LimitForm: 1, } normal_saix_tools = { ItemName.AerialDodge: 1, ItemName.Glide: 1, ItemName.QuickRun: 2, ItemName.Guard: 1, ItemName.ReflectElement: 2, } easy_xemnas_tools = { ItemName.AerialDodge: 1, ItemName.Glide: 1, ItemName.QuickRun: 2, ItemName.Guard: 1, ItemName.ReflectElement: 2, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.LimitForm: 1, } normal_xemnas_tools = { ItemName.AerialDodge: 1, ItemName.Glide: 1, ItemName.QuickRun: 2, ItemName.Guard: 1, ItemName.ReflectElement: 2, } easy_data_xemnas = { ItemName.ComboMaster: 1, ItemName.Slapshot: 1, ItemName.ReflectElement: 3, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.FinishingPlus: 1, ItemName.Guard: 1, ItemName.TrinityLimit: 1, ItemName.SecondChance: 1, ItemName.OnceMore: 1, ItemName.LimitForm: 1, } normal_data_xemnas = { ItemName.ComboMaster: 1, ItemName.Slapshot: 1, ItemName.ReflectElement: 3, ItemName.SlideDash: 1, ItemName.FlashStep: 1, ItemName.FinishingPlus: 1, ItemName.Guard: 1, ItemName.LimitForm: 1, } hard_data_xemnas = { ItemName.ComboMaster: 1, ItemName.Slapshot: 1, ItemName.ReflectElement: 2, ItemName.FinishingPlus: 1, ItemName.Guard: 1, ItemName.LimitForm: 1, } final_leveling_access = { LocationName.MemorysSkyscaperMythrilCrystal, LocationName.GrimReaper2, LocationName.Xaldin, LocationName.StormRider, LocationName.SunsetTerraceAbilityRing } multi_form_region_access = { ItemName.CastleKey, ItemName.BattlefieldsofWar, ItemName.SwordoftheAncestor, ItemName.BeastsClaw, ItemName.BoneFist, ItemName.SkillandCrossbones, ItemName.Scimitar, ItemName.MembershipCard, ItemName.IceCream, ItemName.WaytotheDawn, ItemName.IdentityDisk, } limit_form_region_access = { ItemName.CastleKey, ItemName.BattlefieldsofWar, ItemName.SwordoftheAncestor, ItemName.BeastsClaw, ItemName.BoneFist, ItemName.SkillandCrossbones, ItemName.Scimitar, ItemName.MembershipCard, ItemName.IceCream, ItemName.WaytotheDawn, ItemName.IdentityDisk, ItemName.NamineSketches }