Replace SkipIf logic
authorLiza Carvelli <liza@carvel.li>
Sat, 27 Jul 2024 13:39:47 +0000 (15:39 +0200)
committerLiza Carvelli <liza@carvel.li>
Sat, 27 Jul 2024 13:39:47 +0000 (15:39 +0200)
224 files changed:
QuestPathGenerator/QuestSourceGenerator.cs
QuestPathGenerator/RoslynShortcuts.cs
QuestPaths/2.x - A Realm Reborn/Class Quests/SCH/1098_The Last Remnants.json
QuestPaths/2.x - A Realm Reborn/Class Quests/SCH/1101_For Your Fellow Man.json
QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/1050_Embracing the Beast.json
QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/1052_Looking the Part.json
QuestPaths/2.x - A Realm Reborn/Class Quests/WAR/1053_Proof Is the Pudding.json
QuestPaths/2.x - A Realm Reborn/MSQ-1/Shared/685_For Coin and Country.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A0-Gridania to East Shroud/3856_We Come in Peace.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A0-Gridania to East Shroud/709_Sylphic Studies.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A0-Gridania to East Shroud/710_First Impressions.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A1-East Shroud/3857_Dance Dance Diplomacy.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A1-East Shroud/3858_Forest Friend.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A1-East Shroud/715_First Contact.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A1-East Shroud/719_Presence of the Enemy.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A2-East Shroud to South Shroud/724_Brotherly Love.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A2-East Shroud to South Shroud/725_Spirited Away.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A3-South Shroud, Buscarron’s Druthers/3862_Nouveau Riche.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A3-South Shroud, Buscarron’s Druthers/514_Into the Beast's Maw.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A3-South Shroud, Buscarron’s Druthers/738_Sylphish Concerns.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A4-Back from the Woods/743_A Simple Gift.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A4-Back from the Woods/744_Believe in Your Sylph.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A4-Back from the Woods/746_Back from the Wood.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A4-Back from the Woods/748_Highbridge Times.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A5-Southern Thanalan, Little Ala Mhigo/756_Where There Is Smoke.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A5-Southern Thanalan, Little Ala Mhigo/757_On to Little Ala Mhigo.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A5-Southern Thanalan, Little Ala Mhigo/761_Tea for Three.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A5-Southern Thanalan, Little Ala Mhigo/762_Foot in the Door.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A6-South Shroud, Quarrymill/765_Killing Him Softly.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A7-Southern Thanalan, Big Trouble in Little Ala Mhigo/774_Helping Horn.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A7-Southern Thanalan, Big Trouble in Little Ala Mhigo/775_He Ain't Heavy.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A7-Southern Thanalan, Big Trouble in Little Ala Mhigo/776_Come Highly Recommended.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A7-Southern Thanalan, Big Trouble in Little Ala Mhigo/777_The Bear and the Young'uns' Cares.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A7-Southern Thanalan, Big Trouble in Little Ala Mhigo/778_Wilred Wants You.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A7-Southern Thanalan, Big Trouble in Little Ala Mhigo/782_Big Trouble in Little Ala Mhigo.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A7-Southern Thanalan, Big Trouble in Little Ala Mhigo/783_Back to Square One.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A8-North Shroud, Murder investigation/786_Seeing Eye to Winged Eye.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A8-North Shroud, Murder investigation/787_Rock of Rancor.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A9-Haukke Manor/799_Power of Deduction.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/A9-Haukke Manor/800_Secret of the White Lily.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B0-Company of Heroes/3865_Trial by Turtle.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B0-Company of Heroes/812_Nix That.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B0-Company of Heroes/814_A Modest Proposal.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B1-Forgotten Springs/821_The Perfect Prey.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B1-Forgotten Springs/822_When the Worm Turns.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B1-Forgotten Springs/831_There and Back Again.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B2-Eastern La Noscea, Brayflox, Cheese and Wine/3866_What Do You Mean You Forgot the Wine.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B2-Eastern La Noscea, Brayflox, Cheese and Wine/832_The Things We Do for Cheese.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B2-Eastern La Noscea, Brayflox, Cheese and Wine/840_An Offer You Can Refuse.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B2-Eastern La Noscea, Brayflox, Cheese and Wine/843_It Won't Work.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B3-Eastern La Noscea, Wine/845_Give a Man a Drink.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B3-Eastern La Noscea, Wine/846_That Weight.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B3-Eastern La Noscea, Wine/848_Battle Scars.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B3-Eastern La Noscea, Wine/850_It Was a Very Good Year.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B3-Eastern La Noscea, Wine/855_In the Company of Heroes.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B3-Eastern La Noscea, Wine/856_As You Wish.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B4-Titan/857_Lord of Crags.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B5-Western Thanalan/3867_You Can't Take It with You.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B5-Western Thanalan/517_All Good Things.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B5-Western Thanalan/518_Eyes on Me.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B5-Western Thanalan/876_Bringing out the Dead.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B5-Western Thanalan/878_Bury Me Not on the Lone Prairie.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B6-Coerthas Central Highlands, Camp Dragonhead/883_He Who Waited Behind.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B6-Coerthas Central Highlands, Camp Dragonhead/884_Cold Reception.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B7-Coerthas Central Highlands, Camp Dragonhead/897_The Talk of Coerthas.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B8-Coerthas Central Highlands, Inquistor/910_Road to Redemption.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B8-Coerthas Central Highlands, Inquistor/911_Following the Evidence.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B8-Coerthas Central Highlands, Inquistor/912_In the Eyes of Gods and Men.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B9-Coerthas Central Highlands, Whitebrim Front/3868_The Final Flight of the Enterprise.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B9-Coerthas Central Highlands, Whitebrim Front/3869_The Best Inventions.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B9-Coerthas Central Highlands, Whitebrim Front/924_Ye of Little Faith.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/B9-Coerthas Central Highlands, Whitebrim Front/927_Factual Folklore.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C0-Coerthas Central Highlands, Whitebrim Front/938_Influencing Inquisitors.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C0-Coerthas Central Highlands, Whitebrim Front/939_By the Lights of Ishgard.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C0-Coerthas Central Highlands, Whitebrim Front/940_Blood for Blood.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C0-Coerthas Central Highlands, Whitebrim Front/941_The Heretic among Us.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C1-Coerthas Central Highlands, The Enterprise/952_In Pursuit of the Past.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C1-Coerthas Central Highlands, The Enterprise/955_Sealed With Science.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C1-Coerthas Central Highlands, The Enterprise/956_With the Utmost Care.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C1-Coerthas Central Highlands, The Enterprise/959_A Promising Prospect.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C2-Western La Noscea, Isles of Umbra/960_It's Probably Not Pirates.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C2-Western La Noscea, Isles of Umbra/961_Representing the Representative.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C2-Western La Noscea, Isles of Umbra/962_The Reluctant Researcher.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C3-Garuda/3870_The Curious Case of Giggity.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C6-Mor Dhona/1004_Fool Me Twice.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C9-Ultimate Weapon/3872_Hearts on Fire.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C9-Ultimate Weapon/3873_Rock the Castrum.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/C9-Ultimate Weapon/4522_The Ultimate Weapon.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E1-2.1/1175_The Price of Principles.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E1-2.1/1189_Hail to the King, Kupo.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E1-2.1/1191_On the Properties of Primals.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E1-2.1/3875_All Things in Time.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E1-2.1/3877_It's Possibly a Primal.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1346_A Final Temptation.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1347_The Mother of Exiles.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1352_Why We Adventure.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1361_Lord of the Whorl.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1362_When Yugiri Met the Fraternity.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/1363_Through the Maelstrom.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/3881_Yugiri's Game.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E2-2.2/3882_All Due Respect.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/1443_Desperate Times.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/1446_Revolution.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/1447_Stories We Tell.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/1453_What Little Gods Are Made Of.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/1459_When the Cold Sets In.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/1460_Brave New Companions.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/3883_Shock and Awe.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/3884_Reap the Whirlwind.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E3-2.3/3885_Levin an Impression.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/3886_Chasing Ivy.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/3887_In Flagrante Delicto.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/53_Back and Fourth.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/57_The Intercession of Saints.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/62_Strength in Unity.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/87_Eyes Unclouded.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E4-2.4/89_Let Us Cling Together.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E5-2.5/364_Bait and Switch.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E5-2.5/369_An Uninvited Ascian.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E6-2.55/418_An Allied Perspective.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E6-2.55/424_The Least among Us.json
QuestPaths/2.x - A Realm Reborn/MSQ-2/E6-2.55/428_Before the Dawn.json
QuestPaths/2.x - A Realm Reborn/Raid Quests/1200_Sanding It Down.json
QuestPaths/2.x - A Realm Reborn/Raid Quests/1201_A Performance for the Ages.json
QuestPaths/2.x - A Realm Reborn/Raid Quests/1202_Labyrinth of the Ancients.json
QuestPaths/2.x - A Realm Reborn/Raid Quests/1203_For Prosperity.json
QuestPaths/2.x - A Realm Reborn/Raid Quests/1474_Syrcus Tower.json
QuestPaths/2.x - A Realm Reborn/Raid Quests/1709_Legacy of Allag.json
QuestPaths/2.x - A Realm Reborn/Raid Quests/494_The World of Darkness.json
QuestPaths/2.x - A Realm Reborn/Raid Quests/495_The Light of Hope.json
QuestPaths/3.x - Heavensward/Aether Currents/The Dravanian Forelands/1797_The Hunter Becomes the Kweh.json
QuestPaths/3.x - Heavensward/Aether Currents/The Dravanian Forelands/1802_A Lesson in Humility.json
QuestPaths/3.x - Heavensward/MSQ/A1-Coerthas Western Highlands 1, Sea of Clouds 1/1582_The Better Half.json
QuestPaths/3.x - Heavensward/MSQ/A1-Coerthas Western Highlands 1, Sea of Clouds 1/1584_Work in Progress.json
QuestPaths/3.x - Heavensward/MSQ/A1-Coerthas Western Highlands 1, Sea of Clouds 1/1587_Reconnaissance Lost.json
QuestPaths/3.x - Heavensward/MSQ/A1-Coerthas Western Highlands 1, Sea of Clouds 1/1591_An Indispensable Ally.json
QuestPaths/3.x - Heavensward/MSQ/A1-Coerthas Western Highlands 1, Sea of Clouds 1/1596_A Reward Long in Coming.json
QuestPaths/3.x - Heavensward/Unlocks/Hunts/2119_Let the Clan Hunt Begin.json
QuestPaths/3.x - Heavensward/Unlocks/Hunts/2121_Top Marks.json
QuestPaths/3.x - Heavensward/Unlocks/Hunts/2122_Elite and Dangerous.json
QuestPaths/3.x - Heavensward/Unlocks/Misc/2107_Sights of the North.json
QuestPaths/3.x - Heavensward/Unlocks/Misc/2118_A Striking Opportunity.json
QuestPaths/4.x - Stormblood/Unlocks/Hunts/2936_One-star Veteran Clan Hunt.json
QuestPaths/4.x - Stormblood/Unlocks/Hunts/2937_Two-star Veteran Clan Hunt.json
QuestPaths/4.x - Stormblood/Unlocks/Hunts/2938_Three-star Veteran Clan Hunt.json
QuestPaths/4.x - Stormblood/Unlocks/Hunts/2939_Elite Veteran Clan Hunt.json
QuestPaths/4.x - Stormblood/Unlocks/Misc/2940_Another Striking Opportunity.json
QuestPaths/5.x - Shadowbringers/MSQ/A1-Crystarium 1/3280_City of the First.json
QuestPaths/5.x - Shadowbringers/MSQ/B-Il Mheg/3305_The Oracle of Light.json
QuestPaths/5.x - Shadowbringers/MSQ/C-Rak'tika/3323_A Little Faith.json
QuestPaths/5.x - Shadowbringers/MSQ/C-Rak'tika/3324_Into the Dark.json
QuestPaths/5.x - Shadowbringers/MSQ/C-Rak'tika/3326_A Helping Hand.json
QuestPaths/5.x - Shadowbringers/MSQ/C-Rak'tika/3336_Mi Casa, Toupasa.json
QuestPaths/5.x - Shadowbringers/MSQ/H-5.2/3767_Deep Designs.json
QuestPaths/5.x - Shadowbringers/Tribal/Pixies/Dailies/3692_The Aesthetician of Il Mheg.json
QuestPaths/5.x - Shadowbringers/Unlocks/Hunts/3598_Two Nuts Too Nutty.json
QuestPaths/5.x - Shadowbringers/Unlocks/Hunts/3599_How Do You Like Three Nuts.json
QuestPaths/5.x - Shadowbringers/Unlocks/Hunts/3600_Too Many Nutters.json
QuestPaths/5.x - Shadowbringers/Unlocks/Misc/3601_Yet Another Striking Opportunity.json
QuestPaths/6.x - Endwalker/MSQ/B-Garlemald/4384_Tracks in the Snow.json
QuestPaths/6.x - Endwalker/MSQ/C-MareLamentorum/4405_Back to Old Tricks.json
QuestPaths/6.x - Endwalker/MSQ/G-UltimaThule/4452_Unto the Heavens.json
QuestPaths/6.x - Endwalker/MSQ/H-6.1/4528_Friends for the Road.json
QuestPaths/6.x - Endwalker/MSQ/H-6.1/4533_Restricted Reading.json
QuestPaths/6.x - Endwalker/MSQ/K-6.4/4736_Going Haam.json
QuestPaths/6.x - Endwalker/MSQ/K-6.4/4737_Like Fear to Flame.json
QuestPaths/6.x - Endwalker/MSQ/K-6.4/4739_Bonds of Trust.json
QuestPaths/6.x - Endwalker/MSQ/K-6.4/4740_Lunar Rendezvous.json
QuestPaths/6.x - Endwalker/MSQ/K-6.4/4743_The Dark Throne.json
QuestPaths/6.x - Endwalker/Side Quests/Thavnair/4492_The Yedlihmad Hunt.json
QuestPaths/6.x - Endwalker/Tribal/Allied/4788_A Dream Worth Chasing.json
QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4554_Missing Rider.json
QuestPaths/6.x - Endwalker/Tribal/Arkasodara/Dailies/4555_Flowers for Sanduruva.json
QuestPaths/6.x - Endwalker/Unlocks/Hunts/4176_The Hunt for Specimens.json
QuestPaths/6.x - Endwalker/Unlocks/Hunts/4177_That Specimen Came from the Moon.json
QuestPaths/6.x - Endwalker/Unlocks/Hunts/4178_A Hunt for the Ages.json
QuestPaths/6.x - Endwalker/Unlocks/Hunts/4179_Perfect Specimens.json
QuestPaths/6.x - Endwalker/Unlocks/Misc/4173_A Place to Train.json
QuestPaths/7.x - Dawntrail/Class Quests/VPR/4849_Fangs of the Viper.json
QuestPaths/7.x - Dawntrail/Class Quests/VPR/4850_Viper in the Vidraal's Shadow.json
QuestPaths/7.x - Dawntrail/MSQ/A-Kozama'uka1-Urqopacha1/4860_A New World to Explore.json
QuestPaths/7.x - Dawntrail/MSQ/F-Living Memory/4948_Through the Gate of Gold.json
QuestPaths/7.x - Dawntrail/Role Quests/Healer/4824_In the Sting of Things.json
QuestPaths/7.x - Dawntrail/Role Quests/Healer/4825_Causing Problems on Purpose.json
QuestPaths/7.x - Dawntrail/Role Quests/Healer/4826_Living among the Deadly.json
QuestPaths/7.x - Dawntrail/Role Quests/Healer/4827_Taste of a Toxin Paradise.json
QuestPaths/7.x - Dawntrail/Role Quests/Healer/4828_Downed by the River.json
QuestPaths/7.x - Dawntrail/Role Quests/Healer/4829_An Antidote for Anarchy.json
QuestPaths/7.x - Dawntrail/Role Quests/Magical Ranged/4845_Floundering Fame.json
QuestPaths/7.x - Dawntrail/Role Quests/Magical Ranged/4846_Behind the Helm.json
QuestPaths/7.x - Dawntrail/Role Quests/Melee/4830_The Hunter and the Hunted.json
QuestPaths/7.x - Dawntrail/Role Quests/Melee/4831_A Sea of Blood.json
QuestPaths/7.x - Dawntrail/Role Quests/Melee/4832_Who's Who.json
QuestPaths/7.x - Dawntrail/Role Quests/Melee/4833_Cornered Prey.json
QuestPaths/7.x - Dawntrail/Role Quests/Melee/4834_Impostor Syndrome.json
QuestPaths/7.x - Dawntrail/Role Quests/Melee/4835_A Hunter True.json
QuestPaths/7.x - Dawntrail/Role Quests/Physical Ranged/4836_To Steal a Steelhog.json
QuestPaths/7.x - Dawntrail/Role Quests/Physical Ranged/4837_Bandits Abound.json
QuestPaths/7.x - Dawntrail/Side Quests/Kozama'uka/5061_Molting Season.json
QuestPaths/7.x - Dawntrail/Side Quests/Kozama'uka/5068_Dry Run.json
QuestPaths/7.x - Dawntrail/Side Quests/Kozama'uka/5075_Water Colors.json
QuestPaths/7.x - Dawntrail/Side Quests/Living Memory/5175_The Canals of History.json
QuestPaths/7.x - Dawntrail/Side Quests/Shaaloani/5132_Death by Popoto.json
QuestPaths/7.x - Dawntrail/Side Quests/Shaaloani/5142_Back on Stage.json
QuestPaths/7.x - Dawntrail/Side Quests/Shaaloani/5143_A Family's Worth.json
QuestPaths/7.x - Dawntrail/Side Quests/Shaaloani/5148_Dig for Victory.json
QuestPaths/7.x - Dawntrail/Side Quests/Urqopacha/5037_A Sordid Situation.json
QuestPaths/7.x - Dawntrail/Side Quests/Urqopacha/5040_Too Much of a Good Thing.json
QuestPaths/7.x - Dawntrail/Unlocks/Dungeons/5013_It Belongs in a Museum.json
QuestPaths/7.x - Dawntrail/Unlocks/Dungeons/5014_Something Stray in the Neighborhood.json
QuestPaths/7.x - Dawntrail/Unlocks/Misc/5005_Trial by Spire.json
QuestPaths/quest-v1.json
Questionable.Model/V1/Converter/LockedSkipConditionConverter.cs [new file with mode: 0644]
Questionable.Model/V1/Converter/SkipConditionConverter.cs
Questionable.Model/V1/EExtraSkipCondition.cs [new file with mode: 0644]
Questionable.Model/V1/ELockedSkipCondition.cs [new file with mode: 0644]
Questionable.Model/V1/ESkipCondition.cs [deleted file]
Questionable.Model/V1/QuestStep.cs
Questionable.Model/V1/SkipAetheryteCondition.cs [new file with mode: 0644]
Questionable.Model/V1/SkipConditions.cs [new file with mode: 0644]
Questionable.Model/V1/SkipItemConditions.cs [new file with mode: 0644]
Questionable.Model/V1/SkipStepConditions.cs [new file with mode: 0644]
Questionable/Controller/Steps/Shared/AetheryteShortcut.cs
Questionable/Controller/Steps/Shared/SkipCondition.cs

index 2e2d75303c34a68076de8678a4964c487ae7295f..47d311f206591cc2e7bba542c58e47d0f21c088b 100644 (file)
@@ -357,7 +357,7 @@ public class QuestSourceGenerator : ISourceGenerator
                                             Assignment(nameof(QuestStep.ContentFinderConditionId),
                                                     step.ContentFinderConditionId, emptyStep.ContentFinderConditionId)
                                                 .AsSyntaxNodeOrToken(),
-                                            AssignmentList(nameof(QuestStep.SkipIf), step.SkipIf)
+                                            Assignment(nameof(QuestStep.SkipConditions), step.SkipConditions, emptyStep.SkipConditions)
                                                 .AsSyntaxNodeOrToken(),
                                             AssignmentList(nameof(QuestStep.RequiredQuestVariables),
                                                     step.RequiredQuestVariables)
index c584e81182f4c847d224b0dcc8ca362d02e43016..c843c87714e841769861dc8d5be9ae66f5d9f235 100644 (file)
@@ -223,6 +223,83 @@ public static class RoslynShortcuts
                         SyntaxNodeList(list.Select(x => ExpressionElement(
                             LiteralValue(x)).AsSyntaxNodeOrToken()).ToArray())));
             }
+            else if (value is SkipConditions skipConditions)
+            {
+                var emptySkip = new SkipConditions();
+                return ObjectCreationExpression(
+                        IdentifierName(nameof(SkipConditions)))
+                    .WithInitializer(
+                        InitializerExpression(
+                            SyntaxKind.ObjectInitializerExpression,
+                            SeparatedList<ExpressionSyntax>(
+                                SyntaxNodeList(
+                                    Assignment(nameof(SkipConditions.StepIf), skipConditions.StepIf, emptySkip.StepIf)
+                                        .AsSyntaxNodeOrToken(),
+                                    Assignment(nameof(SkipConditions.AetheryteShortcutIf),
+                                            skipConditions.AetheryteShortcutIf, emptySkip.AetheryteShortcutIf)
+                                        .AsSyntaxNodeOrToken()))));
+            }
+            else if (value is SkipStepConditions skipStepConditions)
+            {
+                var emptyStep = new SkipStepConditions();
+                return ObjectCreationExpression(
+                        IdentifierName(nameof(SkipStepConditions)))
+                    .WithInitializer(
+                        InitializerExpression(
+                            SyntaxKind.ObjectInitializerExpression,
+                            SeparatedList<ExpressionSyntax>(
+                                SyntaxNodeList(
+                                    Assignment(nameof(SkipStepConditions.Never), skipStepConditions.Never,
+                                            emptyStep.Never)
+                                        .AsSyntaxNodeOrToken(),
+                                    Assignment(nameof(SkipStepConditions.Flying), skipStepConditions.Flying,
+                                            emptyStep.Flying)
+                                        .AsSyntaxNodeOrToken(),
+                                    Assignment(nameof(SkipStepConditions.Chocobo), skipStepConditions.Chocobo,
+                                            emptyStep.Chocobo)
+                                        .AsSyntaxNodeOrToken(),
+                                    Assignment(nameof(SkipStepConditions.NotTargetable),
+                                            skipStepConditions.NotTargetable, emptyStep.NotTargetable)
+                                        .AsSyntaxNodeOrToken(),
+                                    AssignmentList(nameof(SkipStepConditions.InTerritory),
+                                        skipStepConditions.InTerritory).AsSyntaxNodeOrToken(),
+                                    AssignmentList(nameof(SkipStepConditions.NotInTerritory),
+                                        skipStepConditions.NotInTerritory).AsSyntaxNodeOrToken(),
+                                    Assignment(nameof(SkipStepConditions.Item), skipStepConditions.Item, emptyStep.Item)
+                                        .AsSyntaxNodeOrToken(),
+                                    Assignment(nameof(SkipStepConditions.ExtraCondition),
+                                            skipStepConditions.ExtraCondition, emptyStep.ExtraCondition)
+                                        .AsSyntaxNodeOrToken()))));
+            }
+            else if (value is SkipItemConditions skipItemCondition)
+            {
+                var emptyItem = new SkipItemConditions();
+                return ObjectCreationExpression(
+                        IdentifierName(nameof(SkipItemConditions)))
+                    .WithInitializer(
+                        InitializerExpression(
+                            SyntaxKind.ObjectInitializerExpression,
+                            SeparatedList<ExpressionSyntax>(
+                                SyntaxNodeList(
+                                    Assignment(nameof(SkipItemConditions.NotInInventory),
+                                        skipItemCondition.NotInInventory,
+                                        emptyItem.NotInInventory)))));
+            }
+            else if (value is SkipAetheryteCondition skipAetheryteCondition)
+            {
+                var emptyAetheryte = new SkipAetheryteCondition();
+                return ObjectCreationExpression(
+                        IdentifierName(nameof(SkipAetheryteCondition)))
+                    .WithInitializer(
+                        InitializerExpression(
+                            SyntaxKind.ObjectInitializerExpression,
+                            SeparatedList<ExpressionSyntax>(
+                                SyntaxNodeList(
+                                    Assignment(nameof(SkipAetheryteCondition.Never), skipAetheryteCondition.Never,
+                                        emptyAetheryte.Never),
+                                    Assignment(nameof(SkipAetheryteCondition.InSameTerritory),
+                                        skipAetheryteCondition.InSameTerritory, emptyAetheryte.InSameTerritory)))));
+            }
             else if (value is null)
                 return LiteralExpression(SyntaxKind.NullLiteralExpression);
         }
index 745225581008b15aa0a24af01e48c768190d8170..9ba37d4581d2369aa2ee3ac61fa28251c9c45460 100644 (file)
           "TerritoryId": 180,
           "InteractionType": "WalkTo",
           "AetheryteShortcut": "Outer La Noscea - Camp Overlook",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ],
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          },
           "CompletionQuestVariablesFlags": [
             null,
             null,
index 54b1aecde812d8d0ae89cd82a114b5b683845e29..b52d04ba1a01fe74cc638649bf226db9a967da39 100644 (file)
             null,
             -32
           ],
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "DataId": 1007842,
index 0b79a704d691ca225611c9efa0c9ba4b190784f1..0a93deb3488eb4e56874591a6a21490a4753dcde 100644 (file)
           "TerritoryId": 146,
           "InteractionType": "Interact",
           "AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ],
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          },
           "CompletionQuestVariablesFlags": [
             null,
             null,
index c4cc6612e2f7102d1a08467a406896bd60cb5d5d..6dcb2e15ba99bce269a0fc547a7a2d0764efdcc6 100644 (file)
             -128
           ],
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ],
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          },
           "Fly": true
         },
         {
           ],
           "AetheryteShortcut": "South Shroud - Camp Tranquil",
           "Fly": true,
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ],
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          },
           "Comment": "TODO Verify enemy id"
         },
         {
index ac1a7929baaf162d91638b58e5b715f84c8cb87e..44bf6faeaed98645ccd3bb79448c7bc6ef739556 100644 (file)
             }
           ],
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         },
         {
           "DataId": 2002312,
index 5f7461d1b66c1a526906e8edf64a023b5b336b67..7a9e8dad339ab74ab1810f6456339e0a699ddfc1 100644 (file)
           "TerritoryId": 130,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Ul'dah",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 7b44caee8b0caad21b8052a1b733679c1654616e..0d97069eecf74ae9ad8a3902d0758701aa513ae6 100644 (file)
           "TerritoryId": 132,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Gridania",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
           "TerritoryId": 132,
           "InteractionType": "UseItem",
           "ItemId": 6001,
-          "SkipIf": [
-            "ChocoboUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Chocobo": "Unlocked"
+            }
+          },
           "Comment": "Use Chocobo whistle (if not yet unlocked)"
         },
         {
index b1db1bdddf847bc0a5ac5c02759121f5783c8b5e..303543184ca47b728e82348b49b27164fcca5ef5 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index dba42d6d87953c0bc8dacd393495ee45526c4c1a..1eec0b6ae9cf1587751d835baedd50118ec8105c 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 7cf163551f8eea78a0927d8124282e547db7e389..742a9070b223794bf3e0ab17e0e9a9cb52d453cb 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 7f14dae4fe078f22cce3a46a606ef34722326edb..3d130a3cb4e75ca97ce82999a51dd1b49044ced6 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index c3f915f6921a23d38cca902643ec207e3e09d990..c9a4a7cc037517bddf1219a356d139feaab4b246 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 4cba4f972c2b7569808fba2dac9125df1860d50b..a9d3be61ba13a24324b19575dfa308160d8db65d 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 2c06d1a1f0a77caf95c6c6f6c43afdc1a94d162a..fc825bbbd7da98202bb51832d3e6c150e3693a4b 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 29f4513dacb84dcd7f16de5657f5484e981b0dcc..866b4f463a8ede96bcfe67d75ac7115875496d94 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 926d8dd0a1253c6ad11521d6eb0db948d9500712..1cd7a8b3d7742e70409ebcb18df1f3679a361a7b 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Quarrymill",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b41e9943a86aa142f4ed3be3966e5f1ebe5c27ff..4fea783e1a6cd7bb8968f968d8b65aaef513a8c0 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Quarrymill",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 717e96f1cd2495ba571bd8af5a286324d7cb4f8c..d9c687768a16afec59891a8406d228b94b985182 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Quarrymill",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 52ecce30dbf0ca625ac4876273f3220738b25f54..979628543c23aeb2475b172530be7cc827ad6b6b 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Quarrymill",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b9df8043ccd1b9b8dc118a45e19c5dc6ee0c22a0..55481985af07f331cf526ddb0cfcf7daf5ac8dbe 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index e8e08e6f840ad04d55534a278f4daec262a720e4..b57469916ab4de5a6d36db99c22922c2db4cce78 100644 (file)
           "TerritoryId": 132,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Gridania",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b9cfb3a4af1558489f2b52292c4b257450996375..96feca9143ca81c44649d8be2a09d31c0ff0e0fb 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b8a80d887da8732837b46520d371c488bea33af1..1ff6f2792dcd777873f7e39157f567010128725f 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 34f3562b400661819c41df8731a52f098c83a965..dc0aa696dd5803324b387396fa71cbbcddce2a83 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b3cef515b92e6f1f08dcd74496e0c75e8c78e983..f83be30421ef4ed9d4a1db5f8e4739b01e794b5b 100644 (file)
           "TerritoryId": 146,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 03d46fbb54775e4220568834f02fd212120dee71..7682f7350a368333d2def0fd5c1b6bc7a5a59713 100644 (file)
           "TerritoryId": 146,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 97d02ba1d39981eb9b08488e4d9fcfd507b499b3..084745c36ab80585977a60e0698578214a222518 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Quarrymill",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b49a097aa1f46a10c929eaf1de91c6ea32719b12..c5cd8f3c4a1ed46b6f5de4a0eb9fc31dc30d62b2 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Quarrymill",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 5b2aef2b39ffe48fc4209b5f7673e2be6490ecd7..f62b489069140224261704cf8254cc8a0b06b50e 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Quarrymill",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 4f116eca468070cd65505e8dc5d49044297a82a7..e3c2276f53a93e1367c3aaf64bafb728efdc1904 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Quarrymill",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 2a242f2c43873491854c80356b8829b0f9c8826d..4136df477bce51660a10f5a518a9fba36a7a3ed2 100644 (file)
           "TerritoryId": 146,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index a6920c7c23d436e222639f9ff6dd3e86d5341cd7..341bb2e387abefffd13149e3d3c59c17eae17560 100644 (file)
           "TerritoryId": 146,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index fce1189102566f211b6c5aa97d29195d754846e0..d42dd2abf45b23a72473291c5c3fef662f87cb25 100644 (file)
           "TerritoryId": 146,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 8bebbf2c606b7958c8c476105ff36fed784c91fc..32b3b6391eec21b44052a44f6df412ba0566139e 100644 (file)
           "TerritoryId": 146,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Southern Thanalan - Little Ala Mhigo",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index d73ddf141bd5fd40566a173f8ff95d94c1af6cf0..3fb27a705c66b2b12a5bc7a6aedb08603a36a433 100644 (file)
           "TerritoryId": 154,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "North Shroud - Fallgourd Float",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index d8cf3f492a1da35bac4f81de99f0125a1b945d01..3618c40b7ffe862f0ab933c8aa98cade4ec032ea 100644 (file)
           "TerritoryId": 154,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "North Shroud - Fallgourd Float",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 1f15bd270fccec8a2f9c11c91df097a2bae07b86..be710c5d9e477aba03d8704bfe14702af10283b3 100644 (file)
           "TerritoryId": 154,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "North Shroud - Fallgourd Float",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index d50b7b3ca4ea2e321a4a52a68b2e8981f650e2e9..0baa498c708d6a2e0a75ca391664c01a3344ddc3 100644 (file)
           "TerritoryId": 154,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "North Shroud - Fallgourd Float",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 5976773e2ee239c40f146f8cb42f99da3746670a..db68c5c55f709ce2ea10d536e25b3a36a7f89874 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Camp Tranquil",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 4a51980fcf016d050b739c8a3c634543a4599754..64234727e24849df8ca9c6a5dd527d7ba554519e 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 614c1549202bb54c80e13d350d5b77fb01ad5bc5..e509008e6a0e95aacafb63653fea6837aa7f036c 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b54f6c95e91091396720b99c945feb47e4ed7798..072c605399808fe076d074f0319880b43c7168c2 100644 (file)
           "TerritoryId": 146,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 896fe3b72cd0f22558ca86e2f287b70f999bf285..4f955a17def9db76592f18acde7d524b3b2c4cb0 100644 (file)
           "TerritoryId": 146,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 318b8fd2c380154d5f91c6566aced51eef91d867..142efd5988f6fa3dfc28f868f8876a1138b7a8e0 100644 (file)
           "TerritoryId": 146,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Southern Thanalan - Forgotten Springs",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index c5e73236daa91c8436530d4e03005637a76b9d7e..24bb9044cb7476e836344858d83dacc78571bef6 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 6b5f0ebcc66a1e5d44ad5e51f806cd2aa959e734..b853bf2051058055066966fab5c6c502f4bdd1c0 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 2e04cfe5242e584b3b600ab1c590ea785284c107..38adbccce36042f8a671a2340c1f495052dcf9f0 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Wineport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 235e612f876c8d63012ed5c69fa9661ab95fb06f..6774dd1becb90c2fc6557912de3441f11ef3d8fc 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Wineport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 1423aa468fc970d87dc1b76a175bf080c15af8b6..6206721c58c410e2f3d71830057b37b07415e93c 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Wineport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 21d4ea639506ba452449bdeef8602bdd788d4db7..b869ffb415f6f7543b4abba6a9f9195207fa4f66 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Wineport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b0cd12b752e79ff6b213b06240e766f974303526..f34cc000b46dd63461b3c97258bff49ce413f890 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Wineport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index af1fad640ce64c79692887c6dd53598104179630..ee6e02b34f887ad827f118b780fe283ab89bde21 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Wineport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 61e1bf74f3170a3f08e07ebcf6357e4a62c341fa..e1ca14afa5a430bdc6e30e8be5b0a5782234d87b 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 258f06bd09c8982e1720e30af342fc6994bf9849..8679e75641c124a68325941f1385fe5e8706e931 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Costa Del Sol",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 44b0819c7c0ac44f3adbb28b1347af6351962a8e..18022a066363777dbf7be3314d10f7fbe574955d 100644 (file)
           "TerritoryId": 139,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 06ef6de5f506fadcd39f1533a80126c0d6862523..822d1001d5df75544bb1922c71d830b3e697ccd0 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 2bbb1c091f1dfdf2f91baf031ed9fcdf8b72a6eb..7e119c9fba0620a279c829761de4ecefcf6b7cfa 100644 (file)
           "TerritoryId": 139,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Upper La Noscea - Camp Bronze Lake",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index ae326fab8e6715103729e68b16ffb2a1bc6eebac..63af9a6992d7998f02f30694510661159742b7e9 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 10ba4a82247366bac0ff39731826bd39e271455f..41be92dc539cfe363b0438f99c22ca458682aebe 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index cd7eca46c80393b36f51177f94ad08386133bd5f..1a33adf24f31740d7aae5d7feeccf42c84f1b43f 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index f3e11eccb42e7cd1be781d9fcafd3f6948bbb8da..dca9160f915e5c29c08a12cfea76a21e87e67fc1 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index e4e9241bde77fbee25137986cde080c50f43aadf..6275beff5977f3c5337a36b93c24725dc52473b9 100644 (file)
           "TerritoryId": 154,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "North Shroud - Fallgourd Float",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 57e09c0d53ac29de5f519c51f6c85b08b2b94bc8..968fd089a9a81064beb73a256994021337e2d53b 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index bc156271d01a6dc1c71972665f02371aed646cba..571b21217b2cc47fae94f93c43f842a089b5e991 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 330c88c14cdafc4db4113112686c0ad69f01fba8..a6d48fafbcf5e9cdbb9642f0f81f98d16397d6d1 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 904388d62f0a319ddfb570b732bf6db4c69b8f55..2b7960fd13fdbe5c3881c5e14bbef2e2df10bff2 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index a6ca4704fbf53771685410dd3efe57e5c83c0a07..2aadfe23ae0aaee9cd90c4b1e980b4d5085ccdad 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 2f57d45f7b56891968f9bdc96e65cb92170e9ccd..f737defb980170552039f679c7595efa4b5b6b2c 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 76e3c5a1d5215c6383f29d64e44bedb52561a251..e356242986a22d9b0fda440275f23399d3c19836 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index d795e3977dac93b63f5bd86286bcf9a0da8d1b42..dd1cf6b62eefd408c56f571458fcdfea5ab217b5 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ],
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          },
           "Mount": true
         }
       ]
index 009f5f0521185894ccb0c3cb137dc28af7ad710c..48df2cb62155b14c58d1462fb350bc2363cf3fa0 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 0043c8f698115f58a8e13b4acbbb14740f08250f..45eed9507d1d26076cf88d85b95c47b26c54c7b3 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 7ab52b1e2036622961384fc4b64dc95e7efea626..a30e13ea42b133cd159bc5b4830569e2eceeea1b 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 404ea926f0529456e093b805174f1b9e75c27f17..f5f8e31ecd06a245b416497da2c31a652d4d8a4b 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 2ac677b0c84ad03d4f43db44ffc3fb521f7fea53..9589c73808b58e34c520d058e46dcb222a3dbb8f 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 1dc697e1ceb7d743716895f5c03c51f8a4de44e2..b72760c18ab7caf3147656420c71bde91418b183 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index ab02157ef26527301ccc61b949bcdf36f93df05c..265821b54dc1055750ea93ee278f1998529b7b41 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 7c2192f7819696418e4f25d117b236415aaee70e..e0157f22c146b0afba9df64f88157f81db7bf935 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 18790ea6b6ac44e12607a268709e64f26ef15784..6400f289cde687447729d337c645ce6a3a032145 100644 (file)
           "TerritoryId": 138,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Western La Noscea - Aleport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index f51b523fca9d80529e9f7cb363b31bff742ab16c..2e634b1d193e7d5b92935a0f329f72e957139483 100644 (file)
           "TerritoryId": 138,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Western La Noscea - Aleport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 0e69ad16fae46da3646df9121cfc45fb9456575f..13880bc6bc6b22adc9e74ace47d5b32eefeb5fba 100644 (file)
           "TerritoryId": 138,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Western La Noscea - Aleport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 00df3d3a5ef39d9a11af4e42d51a36a22ec57aaa..bc36738118893048b1386c045ecefd11c6966937 100644 (file)
           "TerritoryId": 138,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Western La Noscea - Aleport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 6dc4470759f13a359e3b73510521966f1c2c6325..e5e5810d13a80645995e0be9c698f2b75ee50799 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index c0edc0c211e5558a379867d3f4d0d0950361ca10..7b3415f8913958f3e42898ebb2d2853e979b91dc 100644 (file)
           "TerritoryId": 147,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Northern Thanalan - Camp Bluefog",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 8080ffa8eed21fa629b5a8641731be28253263a0..41ac9338b59e0d0d7c2a4ece79401a804e98b1ca 100644 (file)
           "TerritoryId": 147,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 0b6329f4722c2c4b8b5184ddb35a95ddb2618121..2af9883093dcb2266829ccc0919fda633184ad32 100644 (file)
           "TerritoryId": 147,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index e6ba4217bf26a970cafaaf72116f36c6611e081d..399eab3e838fe05365193907e66f130949582b42 100644 (file)
           "TerritoryId": 212,
           "InteractionType": "Interact",
           "TargetTerritoryId": 212,
-          "SkipIf": [
-            "WakingSandsMainArea"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "ExtraCondition": "WakingSandsMainArea"
+            }
+          }
         },
         {
           "DataId": 1007533,
index 72a47db0c8289c8ec26f70918061b41f0fa66bd5..4a165af477f8558b069e1cc907e480f07000c1e2 100644 (file)
           "TerritoryId": 132,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Gridania",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index c41a290fbba738bdbf1f6c7c6d4e53b1136d6bce..763aae81f32787e1a94c1592d7c701bb4062b90a 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Camp Tranquil",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 65c4ea2c2016efbc90fbbf7ece464171011ed802..b2097e5e3531f9009a6381d6b3acd5b1161f6940 100644 (file)
           "TerritoryId": 137,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern La Noscea - Wineport",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index dbdcbc660458d17639656fa90dd9d62fb6c6ad11..863baafaebc473326114679ca9b0b0b3d3aea4e4 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index ce5fbf2911af3e5e20f360cd48a521e9b4a82478..da6e4d879e7e59ef96b9d43dabfcef405a0a9dfd 100644 (file)
           "TerritoryId": 140,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Western Thanalan - Horizon",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 5063678306360e1b7ae75506c92028b001e9dc3c..5cff9b712c969654b5e77c354c912ecfb16fc6d0 100644 (file)
           "TerritoryId": 140,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Western Thanalan - Horizon",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 782aa0f64f981ebcc1d5cdc110b9b8b2b4603d5e..34734b2bd9b4a168f859ea82023441a5cce1db18 100644 (file)
           "TerritoryId": 140,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Western Thanalan - Horizon",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index d8b2116d8f08e39ee5a4cd3b61c48c1f8b48f9da..c7120ca28c8d6c29e07c3de807780de5ece1464f 100644 (file)
           "TerritoryId": 135,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Lower La Noscea - Moraby Drydocks",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 87f3d6d694f336238737870d6cadef0c4845f6d1..684fc8ad6cad5d449998e87ceb096d59e061b609 100644 (file)
           "TerritoryId": 129,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Limsa Lominsa",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 653b0eee119b146ec4a2bf5d643f8c663f0317e5..ce66f36818d70014d338fa5cfb9f35198da9c85e 100644 (file)
           "TerritoryId": 129,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Limsa Lominsa",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b82db23b39f8e4ec5b5648ea8683eb49de5da71d..4afa2baeb7be899acfef7159771884538c52fd8a 100644 (file)
           "TerritoryId": 130,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Ul'dah",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 28e3abb50768a2824498be26ea66f7ac8c082fc2..df001f743cab9b56f64ddbfad9bc5504bd7c4028 100644 (file)
           "TerritoryId": 130,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Ul'dah",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 274e6f8ad94430e86753109ac00d74edd891a6c7..37cf5d03ff623de3f88da8c6fe7bd8693af8055b 100644 (file)
           "TerritoryId": 130,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Ul'dah",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 6e596a246f095fd32bc06cf3dfeda2a3c2beb0c4..db5d3e5a9d321a871923318956c4bd1a4b125b68 100644 (file)
           "TerritoryId": 130,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Ul'dah",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 8afc3d9f0c52a940c25e9ef91084873e38032f35..14c82892fda0203e265cb8c983f1513df902d09b 100644 (file)
           "InteractionType": "Interact",
           "TargetTerritoryId": 351,
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         },
         {
           "DataId": 2002878,
index 16683e43cf3f7dde4d51a78c4f6d59b84dbb6f80..feff4595714a19004982374f66a859b568923fa3 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
           "InteractionType": "Interact",
           "TargetTerritoryId": 351,
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         },
         {
           "DataId": 2002878,
index ec46ac9f511fce82ad5d8d96882c5fb88a6e6206..7fbb0afef318d3bdbe90fd08f8ce1300a54eea54 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index c8c9b67e5d0db600cdd514e05f2ccdd6ded49424..0da1b85813a4d7cd5967783715ee36fee99a8b51 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
           "InteractionType": "Interact",
           "TargetTerritoryId": 351,
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         },
         {
           "DataId": 1008997,
index 3550efbd9832627ce835fbcbd4a05d45d1d30c5c..36012513102ed81f4833b0a3531b3cb246294fdc 100644 (file)
           "TerritoryId": 141,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Central Thanalan - Black Brush Station",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index bc3caaf23a409c539a316e314a8fd5dbfe854775..4defd117c31ef0d295e981fc6454f41e4283f100 100644 (file)
           "TerritoryId": 141,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Central Thanalan - Black Brush Station",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 737737115961755c4a4961cba021d7d58128a686..8a968e5a87da2f4408c2faab56003a76c9ebd59c 100644 (file)
           "TerritoryId": 152,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "East Shroud - Hawthorne Hut",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 094449bb7a4f328ca5841c855495c9f9fb6214e7..599ecf10d2617bbd80881970aa878e2147ab7794 100644 (file)
           "TerritoryId": 132,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Gridania",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 754d36547cba6cd5a4e52c117b890103ee4807e5..f05c5bb7f8a50e793ee40c2dba1684fd2a6132bc 100644 (file)
           "TerritoryId": 132,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Gridania",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index f572193a85c0c59caa98f600e14dce4a10fc8494..d02223805624e9632ff7c17ddfbd6381937aaf4a 100644 (file)
           "TerritoryId": 130,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Ul'dah",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 907649b9e9f5bfb20d97ee74a2612c9a2dc2803c..59de3217cd22149dafa4e2d059980ed66a309e0e 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index eedd5ab00809843ea0693f20ed078be73ecfbaf0..c72b22d62fc86835bd7405855fdadc831b658b86 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 5066ae39969d0609030e9e931a26becad72e630b..688cf0fbf32efff06183e3a93e838669d91c04e0 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 2a6511bfeb88af1f0ebf3d5972bcacb303b076a0..a991be4222bb17160b951a5cb6b0efcd10d320dd 100644 (file)
           "TerritoryId": 147,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 5e5957eb99ed233045fbe9908a9166a86925f7d4..9cb55e6b77832f5e41e1a9edd492242f94f02add 100644 (file)
           "TerritoryId": 145,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Eastern Thanalan - Camp Drybone",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index a40a2b58612c384cf54b6f917693c1d51a5ddb53..602aa86bc151fc05c5bb99bc355191c3c30254a1 100644 (file)
           "TerritoryId": 147,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 48a405daf5daf9fb006dc63ce38fb90a8e7fce69..467d0cf419a3a4d7c4243981411fd17a0a065f8d 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 288a604cd3fcc0c4dd9de454204b29e610506641..a44dbc18dbc9abd95606a3da79f77073737e38dd 100644 (file)
           "TerritoryId": 153,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "South Shroud - Camp Tranquil",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 17e2a69d56c45f28cfa21c8d42e791b00860ae0b..006854656c8c3ddac9a97682beb7d643107d90ef 100644 (file)
           "TerritoryId": 155,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Central Highlands - Camp Dragonhead",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 761c448f8767826848b3086f0384360eea43eeea..c84e6ff1de475220c7fecf0533d4ef4569668e43 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ],
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          },
           "$": "0 0  0 0  0 0 -> 0 1  0 0  0 0"
         }
       ]
index 6a92a362dc3de8cbac617e468679b61587af9b23..dbd5736a89ba8f646c2c3636715e7e494a0d5fff 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index f8d648b95fb1949112157dc5518873155fd18dc8..d10b74884d19e3309d1298341d843142b872d050 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index e23ed832e621a3034910147007d5d276955a3a1b..a6ecd47db34555dc784fe6a2026fa051e96f4c9d 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 0c518bff62dd82f2d731dc7030c1301837f4120c..5106db10ad12f1b5b9fec3af7e9709481c93637c 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index ea29c55b04ef7fa4a3e0a3bf54427c10d7cdf6a5..f9ed54c6a15a3ef3de2ec6ffb20103dac90ecf77 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index e00c94813931c67fd8096ae845add24f972f2436..915f310d38e304922b3a41a7ed5c957c4600cc2a 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index d8e4173ed54e3e05aed303664353ec452ec2f590..7f0fe2a67b66d504dc0dcd833735a8cb1990a5a5 100644 (file)
           "TerritoryId": 156,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Mor Dhona",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 6be23786d5a64c3b65bff367d98e672d76e0b7c8..1b6676ba77e94a7d5d4c12f0ced2f0a0550532fb 100644 (file)
           "TerritoryId": 398,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "The Dravanian Forelands - Tailfeather",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 44471667f3c1195da537e88f152ae81db7291644..a199e174771d4e57829b05275b5bc4e8b2e9744f 100644 (file)
           "TerritoryId": 398,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "The Dravanian Forelands - Anyx Trine",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index e3788ef1778ada854d781c780f95cf8a72c64e46..7a2e5f3c56e24cfc399b599572496170ecc94807 100644 (file)
           "TerritoryId": 418,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Ishgard",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 72e3da2820d07a573bc46dff00140ba0bbf99a57..031a692896e0a649036ccc824d7d5ac87148f014 100644 (file)
           "TerritoryId": 397,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 06dc2ac6d04722e0038a617d2927f264801b65ee..0a26c2d524c87c302e63f29b1990ce34c69cae77 100644 (file)
           "TerritoryId": 397,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Coerthas Western Highlands - Falcon's Nest",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 499f7157aa09ea0d1e26700109dca0b66438a957..957916092369a25134e4ce5fda8630627caa3c3c 100644 (file)
           "TerritoryId": 401,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "The Sea of Clouds - Camp Cloudtop",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 9cbe2879d6af3eff7a0edc7028e104d716857cc2..2a7ee7cdeb2eed934636d99c84ce9aeb4a8c2a95 100644 (file)
           "TerritoryId": 401,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "The Sea of Clouds - Camp Cloudtop",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 904b3612f85dbbfdae2a80b1d0e7c2dd9b03dffd..72326cfe49148f367775a9eaf3da755294c64da8 100644 (file)
             "[Ishgard] Aetheryte Plaza",
             "[Ishgard] The Forgotten Knight"
           ],
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 6018bb47d7b601cb02325fb9620673b1f5c08833..a86b04babce86d4d475d7786d1e84c3b2d5db25a 100644 (file)
           "TerritoryId": 478,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Idyllshire",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index e369584ad9dde99b043598cdf771a0f68a7d0518..cab08e7ad7dc9ed1ad170808fc4636d984e591b5 100644 (file)
           "TerritoryId": 418,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Ishgard",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 2ed2f61ef75713fe1f7ae17abaf6af4336585d0e..763ef00ab4bf01285105d5cbb2e5985314910d8e 100644 (file)
           "TerritoryId": 398,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "The Dravanian Forelands - Tailfeather",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     }
index 529a27fd122960bc9fa7c42bc31dc23cad0a4050..92c8a3ede6ff0a2b0bfafbf83666a90394269aa8 100644 (file)
           "TerritoryId": 478,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Idyllshire",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b02c7ba564def3606048d702b9912ba8e083707e..609af62dc2930e87aab0216ba3d306e4384375c1 100644 (file)
           "TerritoryId": 628,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Kugane",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index cad84f52b866a6718b15ad54e7f3dafbd6424f36..c086de8111bd26dcba69c850c97b81f16a5b5bdd 100644 (file)
           "TerritoryId": 628,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Kugane",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 973bf72128e7eebee9b026d65de2e4a2339c2d7b..a83077ffd367108d0aadaaf1198c642c001deb2a 100644 (file)
           "TerritoryId": 628,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Kugane",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 13f601306af9a15407cae6a8eb42a37242457c59..7098d7b87f81335dd6d06fc563586e8fca8083ef 100644 (file)
           "TerritoryId": 628,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Kugane",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 4f9a7d14bf28efb1713f59b1c4edda2b3570d604..768e7a3b5e3b69c17ac0ba964d6fbfa9347fcc8d 100644 (file)
           "TerritoryId": 635,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Rhalgr's Reach",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 09bf99b51646c5f72ad517b841f49ef186f3fed2..e9cd9b8ee0f9df0580d68d73b27647eac7a05e49 100644 (file)
           "TerritoryId": 819,
           "InteractionType": "AttuneAetheryte",
           "Aetheryte": "Crystarium",
-          "SkipIf": [
-            "Never"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Never": true
+            }
+          }
         }
       ]
     },
index 0fdf1c0008d9a8abe3cece64cb141d2c9799cf66..8c3baec4a3d6e1c5e0c30457efe53e8c8a43e800 100644 (file)
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "Comment": "Tower Bottom"
         },
         {
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "DisableNavmesh": true,
           "Comment": "Tower Bottom Platform 1"
         },
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "Comment": "Wooden Skywalk Bottom"
         },
         {
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "DisableNavmesh": true,
           "Comment": "Wooden Skywalk Platform 1"
         },
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "DisableNavmesh": true,
           "Comment": "Wooden Skywalk Platform 2"
         },
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "DisableNavmesh": true,
           "Comment": "Wooden Skywalk Platform 3"
         },
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "DisableNavmesh": true,
           "Comment": "Wooden Skywalk Platform 4"
         },
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "DisableNavmesh": true,
           "Comment": "Wooden Skywalk Top"
         },
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "DisableNavmesh": true
         },
         {
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "Position": {
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "DisableNavmesh": true
         },
         {
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 1028955,
index c59a411118bac7ebd5b7ff88dc9e703737be94a1..a3b9dc607f3cf483a754da1ede6967c9edb1b082 100644 (file)
           "TerritoryId": 813,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Lakeland - Fort Jobb",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "Position": {
index 5ae60ff3d451b9bf395dfcd75f5269cce47e8cad..fbf2d4c5245f2b3aeebc46cbd299bf3fe8abc06c 100644 (file)
           },
           "TerritoryId": 813,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "DataId": 1028303,
index ef2dad31cb087a7f75b2b834a312b4fa130e1705..607377e109bdf22c387ac66758ce1bc8cf4f9f24 100644 (file)
           "TerritoryId": 817,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Rak'tika - Slitherbough",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 10c1a77162799633a2da69a16d5f9a78bb220a04..5408770215d3fe42ddf70741d78168e768578bec 100644 (file)
           "TerritoryId": 817,
           "InteractionType": "Interact",
           "Comment": "Retry point",
-          "SkipIf": [
-            "NotTargetable"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "NotTargetable": true
+            }
+          }
         },
         {
           "Position": {
index 339e4061a47a56634192b8d8a4b32b165240530d..ba1d3b18d470d545a398cb3846365acc1ec139d3 100644 (file)
           "TerritoryId": 818,
           "InteractionType": "WalkTo",
           "Fly": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "Position": {
index 825a206f6e62953bef2d05c54a8317c120b9df22..0b9e190d8abae138127a0ce8713cdf041a0b77c6 100644 (file)
           "TerritoryId": 816,
           "InteractionType": "WalkTo",
           "Fly": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 2010860,
index 72a72d69f3fced9d5174973d1b2a6df338b598fc..62b323f1e78cb409c0d8e588436f446a39e054ec 100644 (file)
           "TerritoryId": 819,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Crystarium",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 8d6f74aad75f632fb9672266a4bcf4fe74e1f8a8..be34db4eddc9f3b2c5fa58e3e06b39f942ac074e 100644 (file)
           "TerritoryId": 819,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Crystarium",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 58ee4aee7abc7157a7a77bd01c4fd4d90bc00917..434f9fd60c80d16ca8b340510c49685ce4ee031b 100644 (file)
           "TerritoryId": 819,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Crystarium",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 0fdd7e34ac7e5e457db055718604515c7cd21266..b54ef989ef14eb6c615dd91563e603614ebd163f 100644 (file)
             "[Eulmore] Aetheryte Plaza",
             "[Eulmore] Nightsoil Pots"
           ],
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index d34980d86b7dd9959fd8b16670314695489f47ac..1bcbd2e02530c211bc8a255d26bfafd97d939206 100644 (file)
           },
           "TerritoryId": 958,
           "InteractionType": "Interact",
-          "SkipIf": [
-            "NotTargetable"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "NotTargetable": true
+            }
+          },
           "DialogueChoices": [
             {
               "Type": "YesNo",
index 7fbe25e7d787ab5975a6245111ef11c00edcf5f2..3a6a0024b8537e7fa68a9365823858a3115f1a4d 100644 (file)
           },
           "TerritoryId": 959,
           "InteractionType": "Interact",
-          "SkipIf": [
-            "NotTargetable"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "NotTargetable": true
+            }
+          },
           "DialogueChoices": [
             {
               "Type": "YesNo",
index ccf4e90ae49a6987c8e74db61b3c51dbb1130af6..10961ff8b919c59f571c09dcdf49a0c44ae1f5f9 100644 (file)
           "TerritoryId": 956,
           "InteractionType": "Interact",
           "AetheryteShortcut": "Labyrinthos - Aporia",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "TargetTerritoryId": 956
         },
         {
index 9a81369c2f014391107249e094b1d52cd04f9e01..4af63ca750dcfeaaba0d0e38dcef1c706e98e54b 100644 (file)
           "InteractionType": "Interact",
           "AetheryteShortcut": "Labyrinthos - Aporia",
           "TargetTerritoryId": 956,
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "Position": {
index 797957bff4f5dd4e9b81e7b5f4495ee125743818..e3b201a84e1e19e61d505bb7843c79547061e295 100644 (file)
           "InteractionType": "WalkTo",
           "AetheryteShortcut": "Thavnair - Palaka's Stand",
           "Fly": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 2012847,
           "TerritoryId": 957,
           "InteractionType": "Interact",
           "Mount": false,
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 2012847,
           },
           "TerritoryId": 957,
           "InteractionType": "Interact",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         }
       ]
     },
index 8754872fab00caa1b9dd52d5645ff43d8ebc4cc1..7a4cf1d4aaa382cfd6fbba582280382a0d049737 100644 (file)
           "TerritoryId": 956,
           "InteractionType": "WalkTo",
           "AetheryteShortcut": "Labyrinthos - Sharlayan Hamlet",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "Mount": true
         },
         {
index 89c89fd536dc4530657e16bbc1b51a533f77990b..2cc6b5066a264fcb45294f1d818b0635315dfde4 100644 (file)
           },
           "TerritoryId": 958,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 1045430,
index 6f11e25bbd3ce4012c2102088e6030c1c5a2b2a6..be460df79f4ce3cde1c4dddabeb0284bf4a848ae 100644 (file)
           },
           "TerritoryId": 958,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "Position": {
index 4a03d0db519915c785fa0984afd00373a47dd422..ed65cf940d4d5d9c77ac2ce68d95ce5b5115758a 100644 (file)
           "InteractionType": "Interact",
           "AetheryteShortcut": "Mare Lamentorum - Bestways Burrow",
           "TargetTerritoryId": 959,
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "Position": {
           "StopDistance": 1,
           "TerritoryId": 959,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingLocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          },
           "Fly": true
         },
         {
index 483b95816fb652ef6e249727f9573f4c829f6171..54a33f57d5d67b9fb171d96f4d1d9e37bcf89137 100644 (file)
           "InteractionType": "Interact",
           "AetheryteShortcut": "Mare Lamentorum - Bestways Burrow",
           "TargetTerritoryId": 959,
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "Position": {
           "StopDistance": 1,
           "TerritoryId": 959,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingLocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          },
           "Fly": true
         },
         {
index 4320f8c835737a0567a4b0f5aef454655befdb43..51e31d278053c1b4a98c876c6938bdb5f67e40a6 100644 (file)
           },
           "TerritoryId": 957,
           "InteractionType": "Interact",
-          "SkipIf": [
-            "NotTargetable"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "NotTargetable": true
+            }
+          },
           "DialogueChoices": [
             {
               "Type": "YesNo",
index 1bf5c9869cf31f617acdad793770479ac7de4164..79f6c074a263f19e2087f44e377907f74f5f5d0d 100644 (file)
           "TerritoryId": 957,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Thavnair - Yedlihmad",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index f8bcd668e7e9d84584215944011e9c9189cecd4f..ea257be5b5ff01ceb3e7e658653862fe03c20704 100644 (file)
           },
           "TerritoryId": 957,
           "InteractionType": "Interact",
-          "SkipIf": [
-            "NotTargetable"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "NotTargetable": true
+            }
+          }
         },
         {
           "Position": {
index 4ae4a4254cf83eaac056b17f443f7bc273330c23..3a9ba222bf016e2aefd53388084ab761218dbe92 100644 (file)
           },
           "TerritoryId": 957,
           "InteractionType": "Interact",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          },
           "DialogueChoices": [
             {
               "Type": "YesNo",
               "Yes": true
             }
           ],
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "Position": {
           },
           "TerritoryId": 957,
           "InteractionType": "WalkTo",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "DataId": 1042301,
index de6b7fcace65be531b0d01ee035651506c513267..162fbb054fb1c9d47a31f7e9b0c0bdd6bc708bf1 100644 (file)
           "TerritoryId": 962,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Old Sharlayan",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 50230cb5f81df1f4301894fb37f6dcd7b91d36e3..e334f412bc67efbe4c7e7a51a64d6c83e804280e 100644 (file)
           "TerritoryId": 962,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Old Sharlayan",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index b9d97a083f65062c8e247ca97bf487912efbd666..bfdc27e670958b8bf9bc3c8edc66db2972c38388 100644 (file)
           "TerritoryId": 962,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Old Sharlayan",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 7d3408b3d919f6b2f3da0cd220fd4e0abc204be4..78d9c49bf6eae0d5442eb15e0b1c2042fefd3a2e 100644 (file)
           "TerritoryId": 962,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Old Sharlayan",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index c6fd8e7d465105b00e754bb94d1f430e067d25c1..edfdffe888e3eb6de79edffdbab8835dde3e7206 100644 (file)
           "TerritoryId": 963,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Radz-at-Han",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index a79c2166d504c79c93eb5143993ab6ac9b5c02e6..3c13830ace40fad514e8ba94590ff121955352a7 100644 (file)
           "TerritoryId": 131,
           "InteractionType": "UseItem",
           "ItemId": 43537,
-          "SkipIf": [
-            "ItemNotInInventory"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
         },
         {
           "Position": {
           "TerritoryId": 131,
           "InteractionType": "EquipItem",
           "ItemId": 41808,
-          "SkipIf": [
-            "ItemNotInInventory"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          },
           "$": "This should probably call /equiprecommended if it exists"
         },
         {
           "TerritoryId": 131,
           "InteractionType": "EquipItem",
           "ItemId": 43178,
-          "SkipIf": [
-            "ItemNotInInventory"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
         },
         {
           "Position": {
           "TerritoryId": 131,
           "InteractionType": "EquipItem",
           "ItemId": 43179,
-          "SkipIf": [
-            "ItemNotInInventory"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
         },
         {
           "Position": {
           "TerritoryId": 131,
           "InteractionType": "EquipItem",
           "ItemId": 43180,
-          "SkipIf": [
-            "ItemNotInInventory"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
         },
         {
           "Position": {
           "TerritoryId": 131,
           "InteractionType": "EquipItem",
           "ItemId": 43181,
-          "SkipIf": [
-            "ItemNotInInventory"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
         },
         {
           "Position": {
           "TerritoryId": 131,
           "InteractionType": "EquipItem",
           "ItemId": 43182,
-          "SkipIf": [
-            "ItemNotInInventory"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
         },
         {
           "DataId": 1046337,
index 3d84dc55938304adb2172b075cc78efce372557d..0abdfe57c17a1ac5aeecb2f3b7a99d6481940849 100644 (file)
               "Answer": "TEXT_KINGBB111_04850_A2_000_100"
             }
           ],
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index f313b88136b404052885c3806031271087852efe..476652cbd38bda806c374ce65868f88de05b30f4 100644 (file)
           "TerritoryId": 962,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Old Sharlayan",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 580d5e48ad5eef842d5473ddebd4e08162d70d6e..f3fc93d2c7689746cff17bf4329343c5c7d278dd 100644 (file)
               "Yes": true
             }
           ],
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "Position": {
           "TerritoryId": 1189,
           "InteractionType": "WalkTo",
           "Fly": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 1047813,
index 90cd1f29bfaeb7dfbf6842fa79e9844d162cc60e..56e2764eec03cda04f5e6a12ef59a5a36e4ac080 100644 (file)
           "TerritoryId": 1185,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Tuliyollal",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 5aff3881af3ff7d0b54bb568f8e8e9771ae6a029..d789b45eb2a9fb36ff9ee5b8cb4a19678663a1f7 100644 (file)
           "TerritoryId": 129,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Limsa Lominsa",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 3d3cf7691b9a4a032bf74c4acbb91e27daa65be8..87c09c76eb03671f90200d77359b8dcb8489275e 100644 (file)
           "TerritoryId": 129,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Limsa Lominsa",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 84a2754d9312cb7c101788be355b31325035d65d..8d0acb511d81b69155e83af95f07b05f1e7b7b54 100644 (file)
           "TerritoryId": 129,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Limsa Lominsa",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 472ff3ff0f042a5adf957d82ceaf92c2ccbd4d2e..871a4cef3a93cf821cfd318b21a2bee108ba68e9 100644 (file)
           "TerritoryId": 129,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Limsa Lominsa",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 218ca4fe4a8656fcfe01f0049a945a261f62df87..3fe337988501cf664a3244fbd94ca311c33c90cb 100644 (file)
           "TerritoryId": 129,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Limsa Lominsa",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index e10ed2555f9402e5cb186860e2d153d00a5bd29f..cbe6d95716921f54a335487b1da70fb4ada9062e 100644 (file)
           "TerritoryId": 957,
           "InteractionType": "Interact",
           "Fly": true,
-          "SkipIf": [
-            "NotTargetable"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "NotTargetable": true
+            }
+          },
           "DialogueChoices": [
             {
               "Type": "YesNo",
index 72d675f7540d4b3da1ab40d000c31e4b12f88701..9b581e947ffc7a8de9af7cd5cbc0258ad6b75d6b 100644 (file)
           "TerritoryId": 1190,
           "InteractionType": "WalkTo",
           "AetheryteShortcut": "Shaaloani - Mehwahhetsoan",
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "Position": {
index 3c7872503e6554709ccb3a3d38f8e731b662d33b..ee01538eebc0528525348af6540b2a4d8fe73cf8 100644 (file)
           "TerritoryId": 1185,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Tuliyollal",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
             "[Kugane] Aetheryte Plaza",
             "[Kugane] Shiokaze Hostelry"
           ],
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ],
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          },
           "CompletionQuestVariablesFlags": [
             null,
             null,
index c7ec8c0dcac3da46958061c07ce583181de884f5..9bb72bcf53e53f73eb7c8ba705b77552642f9f8f 100644 (file)
           "TerritoryId": 628,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Kugane",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ],
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          },
           "DialogueChoices": [
             {
               "Type": "List",
index 012c7aff34a47ab63c64129dd3aeef00eae2d510..529aeb7e0bbf2cbfefd86343d13b59813b6276fc 100644 (file)
           "TerritoryId": 628,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Kugane",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
           "TerritoryId": 614,
           "InteractionType": "Interact",
           "AetheryteShortcut": "Yanxia - Namai",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ],
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          },
           "CompletionQuestVariablesFlags": [
             null,
             null,
index a3d6a02399406bb6605ff24d2b7fb516b5798e4c..b5589cdf62c266a7f5255ecc6c2a25a6b6b03871 100644 (file)
           "TerritoryId": 628,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Kugane",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 932796cb580ebad2ca01f840c8aa6aefbdcc23ad..ef0aafb1295f3084cf5c1fd258daf5cb0d4e26ad 100644 (file)
           "TerritoryId": 628,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Kugane",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
             "[Kugane] Aetheryte Plaza",
             "[Kugane] Kogane Dori Markets"
           ],
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index ab18679cf4b38893173f69bde171951a64eee208..564cd4b4ea26b96c9abb4868a38130f6e989ff44 100644 (file)
           "TerritoryId": 628,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Kugane",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
           "TerritoryId": 622,
           "InteractionType": "Interact",
           "AetheryteShortcut": "Azim Steppe - Reunion",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ],
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          },
           "CompletionQuestVariablesFlags": [
             null,
             null,
index 271a0f20506d5ad466acd1717d33ffc7c223e997..6adf040d277374e53cf83f1e205648eb484b395b 100644 (file)
           "TerritoryId": 1185,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Tuliyollal",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 77585cee0f7f3f8adcbcd3dbe629ee0b56626191..077736fcec2bdb832526f053ff08783587ec4e4e 100644 (file)
           "TerritoryId": 635,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Rhalgr's Reach",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 7df87c7d1edb74b038b6d33a28ef7a435a15c7f5..96db24b6baa2018bc134e9b125177d97c828cf63 100644 (file)
           "TerritoryId": 1188,
           "InteractionType": "WalkTo",
           "Mount": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 2014195,
index 4dd516b4966e113dee4d1c69d0faf564b340697f..8c85c1db90bdbfa68c5c26cb824338cf8edcb568 100644 (file)
           "TerritoryId": 1188,
           "InteractionType": "WalkTo",
           "Fly": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 2014173,
index 8567f952addcb8bcec2201bebc81e57509b593da..4d81d887fad7d8cb43e6c0866cf7f76061bba822 100644 (file)
           "TerritoryId": 1188,
           "InteractionType": "WalkTo",
           "Fly": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          },
           "CompletionQuestVariablesFlags": [
             null,
             null,
index cd54c76c48b88564ad1be935c74843021dd42764..92ac22703bdd98a730a978a8bb068d002f5a6ed1 100644 (file)
           "TerritoryId": 1192,
           "InteractionType": "WalkTo",
           "Fly": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          },
           "CompletionQuestVariablesFlags": [
             null,
             null,
index 664856e084d5614f526765d5ea925fa802a21864..c16f3f0d5567a98c404925c4db04ae6fb37c0ba1 100644 (file)
           "TerritoryId": 1190,
           "InteractionType": "WalkTo",
           "Fly": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          },
           "CompletionQuestVariablesFlags": [
             null,
             null,
index e32f82a86c194f2ae87960f92ba2c8c9c398f41c..92cf0facb8df201facadc4e1f9badfc1fcbbacd5 100644 (file)
             null,
             -64
           ],
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 1051297,
             null,
             -128
           ],
-          "SkipIf": [
-            "FlyingLocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          },
           "$": "Shaaloani Saloon Balcony"
         },
         {
             null,
             -32
           ],
-          "SkipIf": [
-            "FlyingLocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          },
           "$": "Shaaloani Saloon Balcony"
         },
         {
index b8eb3e4327aea18907e5e9223062909fe678e29d..7c05b26733bd977e8ed8e14e63bee29242ad606e 100644 (file)
           "TerritoryId": 1190,
           "InteractionType": "WalkTo",
           "Fly": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 1051283,
index 3c520dec2b74ac13df1eede85f65238402e0db79..d764508dc2220d84d232b4565f7940a97d2fae9e 100644 (file)
             null,
             -128
           ],
-          "SkipIf": [
-            "FlyingLocked"
-          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          },
           "$": "Shaaloani Saloon Balcony"
         },
         {
index fd04088ca2ba5ff55ab4c4767069f2feea213747..eef670c09044cdbdd1e437759e3b58205cd98406 100644 (file)
           "TerritoryId": 1187,
           "InteractionType": "WalkTo",
           "Fly": true,
-          "SkipIf": [
-            "FlyingLocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Locked"
+            }
+          }
         },
         {
           "DataId": 1048666,
index a3e5c4dbe2e548aee362274e900d0fbb06447e1f..3ab31f3c7b59c0cec58e5e76c54774d98a976b87 100644 (file)
           "TerritoryId": 1187,
           "InteractionType": "AcceptQuest",
           "AetheryteShortcut": "Urqopacha - Wachunpelo",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 6e1bf33c2c3b6c53d1c3057a129a7764d298a613..4ae11c8e9bfca44e00096d7d7ad72e91a93daf5b 100644 (file)
           "TerritoryId": 1190,
           "InteractionType": "Interact",
           "AetheryteShortcut": "Shaaloani - Mehwahhetsoan",
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index 2705806be05426f99ae50a7b6fe3758a304d8b51..891a47442b237b3d02f8bf70f71318e36c7cbe67 100644 (file)
           "TerritoryId": 1192,
           "InteractionType": "Interact",
           "TargetTerritoryId": 1192,
-          "SkipIf": [
-            "FlyingUnlocked"
-          ]
+          "SkipConditions": {
+            "StepIf": {
+              "Flying": "Unlocked"
+            }
+          }
         },
         {
           "DataId": 1051443,
index 387226fcf7257cb60b67a6ac5155f835f4f15069..04f2fbb14a334249626d58d6e22a55e8d4273da0 100644 (file)
             "[Solution Nine] Aetheryte Plaza",
             "[Solution Nine] True Vue"
           ],
-          "SkipIf": [
-            "AetheryteShortcutIfInSameTerritory"
-          ]
+          "SkipConditions": {
+            "AetheryteShortcutIf": {
+              "NotInSameTerritory": true
+            }
+          }
         }
       ]
     },
index fd2f91a23ce78fd301e6c15c58605e31aa7475d3..e6622f29faa75ce1d50144491f3eb9367c0aca0d 100644 (file)
                     "null"
                   ]
                 },
-                "AetheryteShortcut": {
+                "AetheryteShortcutIf": {
                   "description": "The Aetheryte to teleport to (before moving)",
                   "$ref": "#/$defs/Aetheryte"
                 },
                   "exclusiveMinimum": 0
                 },
                 "SkipIf": {
-                  "type": "array",
-                  "items": {
-                    "type": "string",
-                    "enum": [
-                      "Never",
-                      "FlyingLocked",
-                      "FlyingUnlocked",
-                      "DifferentTerritory",
-                      "ChocoboUnlocked",
-                      "AetheryteShortcutIfInSameTerritory",
-                      "NotTargetable",
-                      "ItemNotInInventory",
-                      "WakingSandsMainArea"
-                    ]
-                  }
+                  "type": "null",
+                  "deprecationMessage": "Please use SkipConditions instead"
+                },
+                "SkipConditions": {
+                  "type": "object",
+                  "properties": {
+                    "StepIf": {
+                      "type": "object",
+                      "properties": {
+                        "Never": {
+                          "type": "boolean"
+                        },
+                        "Flying": {
+                          "type": "string",
+                          "enum": [
+                            "Locked",
+                            "Unlocked"
+                          ]
+                        },
+                        "Chocobo": {
+                          "type": "string",
+                          "enum": [
+                            "Locked",
+                            "Unlocked"
+                          ]
+                        },
+                        "NotTargetable": {
+                          "type": "boolean"
+                        },
+                        "InTerritory": {
+                          "type": "array",
+                          "items": {
+                            "type": "integer"
+                          }
+                        },
+                        "NotInTerritory": {
+                          "type": "array",
+                          "items": {
+                            "type": "integer"
+                          }
+                        },
+                        "Item": {
+                          "type": "object",
+                          "properties": {
+                            "NotInInventory": {
+                              "type": "boolean"
+                            }
+                          }
+                        },
+                        "QuestsAccepted": {
+                          "type": "array",
+                          "items": {
+                            "type": "number"
+                          }
+                        },
+                        "QuestsCompleted": {
+                          "type": "array",
+                          "items": {
+                            "type": "number"
+                          }
+                        },
+                        "ExtraCondition": {
+                          "type": "string",
+                          "enum": [
+                            "WakingSandsMainArea"
+                          ]
+                        }
+                      }
+                    },
+                    "AetheryteShortcutIf": {
+                      "type": "object",
+                      "properties": {
+                        "Never": {
+                          "type": "boolean"
+                        },
+                        "InSameTerritory": {
+                          "type": "boolean"
+                        }
+                      }
+                    }
+                  },
+                  "additionalProperties": false
                 },
                 "CompletionQuestVariablesFlags": {
                   "$ref": "#/$defs/CompletionFlags"
diff --git a/Questionable.Model/V1/Converter/LockedSkipConditionConverter.cs b/Questionable.Model/V1/Converter/LockedSkipConditionConverter.cs
new file mode 100644 (file)
index 0000000..5d53058
--- /dev/null
@@ -0,0 +1,12 @@
+using System.Collections.Generic;
+
+namespace Questionable.Model.V1.Converter;
+
+public sealed class LockedSkipConditionConverter() : EnumConverter<ELockedSkipCondition>(Values)
+{
+    private static readonly Dictionary<ELockedSkipCondition, string> Values = new()
+    {
+        { ELockedSkipCondition.Locked, "Locked" },
+        { ELockedSkipCondition.Unlocked, "Unlocked" },
+    };
+}
index 7e7b780c844f66c8cd3d99836672f48dcd95cdf1..f4b4e6fc2e7398b0bccb69a27d25b752f47522fc 100644 (file)
@@ -2,17 +2,10 @@
 
 namespace Questionable.Model.V1.Converter;
 
-public sealed class SkipConditionConverter() : EnumConverter<ESkipCondition>(Values)
+public sealed class SkipConditionConverter() : EnumConverter<EExtraSkipCondition>(Values)
 {
-    private static readonly Dictionary<ESkipCondition, string> Values = new()
+    private static readonly Dictionary<EExtraSkipCondition, string> Values = new()
     {
-        { ESkipCondition.Never, "Never" },
-        { ESkipCondition.FlyingLocked, "FlyingLocked" },
-        { ESkipCondition.FlyingUnlocked, "FlyingUnlocked" },
-        { ESkipCondition.ChocoboUnlocked, "ChocoboUnlocked" },
-        { ESkipCondition.AetheryteShortcutIfInSameTerritory, "AetheryteShortcutIfInSameTerritory" },
-        { ESkipCondition.NotTargetable, "NotTargetable" },
-        { ESkipCondition.ItemNotInInventory, "ItemNotInInventory" },
-        { ESkipCondition.WakingSandsMainArea, "WakingSandsMainArea" },
+        { EExtraSkipCondition.WakingSandsMainArea, "WakingSandsMainArea" },
     };
 }
diff --git a/Questionable.Model/V1/EExtraSkipCondition.cs b/Questionable.Model/V1/EExtraSkipCondition.cs
new file mode 100644 (file)
index 0000000..227bf0f
--- /dev/null
@@ -0,0 +1,11 @@
+using System.Text.Json.Serialization;
+using Questionable.Model.V1.Converter;
+
+namespace Questionable.Model.V1;
+
+[JsonConverter(typeof(SkipConditionConverter))]
+public enum EExtraSkipCondition
+{
+    None,
+    WakingSandsMainArea,
+}
diff --git a/Questionable.Model/V1/ELockedSkipCondition.cs b/Questionable.Model/V1/ELockedSkipCondition.cs
new file mode 100644 (file)
index 0000000..2863c26
--- /dev/null
@@ -0,0 +1,11 @@
+using System.Text.Json.Serialization;
+using Questionable.Model.V1.Converter;
+
+namespace Questionable.Model.V1;
+
+[JsonConverter(typeof(LockedSkipConditionConverter))]
+public enum ELockedSkipCondition
+{
+    Locked,
+    Unlocked,
+}
diff --git a/Questionable.Model/V1/ESkipCondition.cs b/Questionable.Model/V1/ESkipCondition.cs
deleted file mode 100644 (file)
index 8c76699..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-using System.Text.Json.Serialization;
-using Questionable.Model.V1.Converter;
-
-namespace Questionable.Model.V1;
-
-[JsonConverter(typeof(SkipConditionConverter))]
-public enum ESkipCondition
-{
-    None,
-    Never,
-    FlyingLocked,
-    FlyingUnlocked,
-    ChocoboUnlocked,
-    AetheryteShortcutIfInSameTerritory,
-    NotTargetable,
-    ItemNotInInventory,
-
-    // TODO: This is an indication the whole skip bit should be optimized/parameterized to some extent
-    WakingSandsMainArea,
-}
index 3ecb8f39c681aa043cfa8e1c2446a0e94b1ad3b6..37d4a0d8dc1b8137e318f4557bff4a1db9d2bbe9 100644 (file)
@@ -1,6 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
+using System.Collections.Generic;
 using System.Numerics;
 using System.Text.Json.Serialization;
 using Questionable.Model.V1.Converter;
@@ -63,8 +61,8 @@ public sealed class QuestStep
 
     public JumpDestination? JumpDestination { get; set; }
     public uint? ContentFinderConditionId { get; set; }
+    public SkipConditions? SkipConditions { get; set; }
 
-    public IList<ESkipCondition> SkipIf { get; set; } = new List<ESkipCondition>();
     public List<List<QuestWorkValue>?> RequiredQuestVariables { get; set; } = new();
     public IList<short?> CompletionQuestVariablesFlags { get; set; } = new List<short?>();
     public IList<DialogueChoice> DialogueChoices { get; set; } = new List<DialogueChoice>();
diff --git a/Questionable.Model/V1/SkipAetheryteCondition.cs b/Questionable.Model/V1/SkipAetheryteCondition.cs
new file mode 100644 (file)
index 0000000..86d0a1c
--- /dev/null
@@ -0,0 +1,7 @@
+namespace Questionable.Model.V1;
+
+public sealed class SkipAetheryteCondition
+{
+    public bool Never { get; set; }
+    public bool InSameTerritory { get; set; }
+}
diff --git a/Questionable.Model/V1/SkipConditions.cs b/Questionable.Model/V1/SkipConditions.cs
new file mode 100644 (file)
index 0000000..19b73f4
--- /dev/null
@@ -0,0 +1,7 @@
+namespace Questionable.Model.V1;
+
+public sealed class SkipConditions
+{
+    public SkipStepConditions? StepIf { get; set; }
+    public SkipAetheryteCondition? AetheryteShortcutIf { get; set; }
+}
diff --git a/Questionable.Model/V1/SkipItemConditions.cs b/Questionable.Model/V1/SkipItemConditions.cs
new file mode 100644 (file)
index 0000000..9154dcd
--- /dev/null
@@ -0,0 +1,6 @@
+namespace Questionable.Model.V1;
+
+public sealed class SkipItemConditions
+{
+    public bool NotInInventory { get; set; }
+}
diff --git a/Questionable.Model/V1/SkipStepConditions.cs b/Questionable.Model/V1/SkipStepConditions.cs
new file mode 100644 (file)
index 0000000..97222eb
--- /dev/null
@@ -0,0 +1,26 @@
+using System.Collections.Generic;
+
+namespace Questionable.Model.V1;
+
+public sealed class SkipStepConditions
+{
+    public bool Never { get; set; }
+    public ELockedSkipCondition? Flying { get; set; }
+    public ELockedSkipCondition? Chocobo { get; set; }
+    public bool NotTargetable { get; set; }
+    public List<ushort> InTerritory { get; set; } = new();
+    public List<ushort> NotInTerritory { get; set; } = new();
+    public SkipItemConditions? Item { get; set; }
+
+    // TODO not implemented
+    public List<ushort> QuestsAccepted { get; set; } = new();
+
+    // TODO not implemented
+    public List<ushort> QuestsCompleted { get; set; } = new();
+    public EExtraSkipCondition? ExtraCondition { get; set; }
+
+    public bool HasSkipConditions()
+    {
+        return Never || Flying != null || Chocobo != null || InTerritory.Count > 0 || NotInTerritory.Count > 0 || Item != null;
+    }
+}
index f897fe6439a88227baf50b1d8571aa6ab564887c..413dd37a3000e16e92ac0a15ee454c1b780df177 100644 (file)
@@ -68,26 +68,31 @@ internal static class AetheryteShortcut
             ushort territoryType = clientState.TerritoryType;
             if (Step != null && ExpectedTerritoryId == territoryType)
             {
-                if (Step.SkipIf.Contains(ESkipCondition.AetheryteShortcutIfInSameTerritory))
+                var skipConditions = Step.SkipConditions?.AetheryteShortcutIf ?? new();
+                if (!skipConditions.Never)
                 {
-                    logger.LogInformation("Skipping aetheryte teleport due to SkipIf");
-                    return false;
-                }
+                    if (skipConditions is { InSameTerritory: true })
+                    {
+                        logger.LogInformation("Skipping aetheryte teleport due to SkipCondition");
+                        return false;
+                    }
 
-                Vector3 pos = clientState.LocalPlayer!.Position;
-                if (Step.Position != null && (pos - Step.Position.Value).Length() < Step.CalculateActualStopDistance())
-                {
-                    logger.LogInformation("Skipping aetheryte teleport, we're near the target");
-                    return false;
-                }
+                    Vector3 pos = clientState.LocalPlayer!.Position;
+                    if (Step.Position != null &&
+                        (pos - Step.Position.Value).Length() < Step.CalculateActualStopDistance())
+                    {
+                        logger.LogInformation("Skipping aetheryte teleport, we're near the target");
+                        return false;
+                    }
 
-                if (aetheryteData.CalculateDistance(pos, territoryType, TargetAetheryte) < 20 ||
-                    (Step.AethernetShortcut != null &&
-                     (aetheryteData.CalculateDistance(pos, territoryType, Step.AethernetShortcut.From) < 20 ||
-                      aetheryteData.CalculateDistance(pos, territoryType, Step.AethernetShortcut.To) < 20)))
-                {
-                    logger.LogInformation("Skipping aetheryte teleport");
-                    return false;
+                    if (aetheryteData.CalculateDistance(pos, territoryType, TargetAetheryte) < 20 ||
+                        (Step.AethernetShortcut != null &&
+                         (aetheryteData.CalculateDistance(pos, territoryType, Step.AethernetShortcut.From) < 20 ||
+                          aetheryteData.CalculateDistance(pos, territoryType, Step.AethernetShortcut.To) < 20)))
+                    {
+                        logger.LogInformation("Skipping aetheryte teleport");
+                        return false;
+                    }
                 }
             }
 
index 256cf702e0f37c9a9b9220ebbd9c1c571d1c69a0..04f338a793d0479e802305d4f589e060ee942ea7 100644 (file)
@@ -21,12 +21,11 @@ internal static class SkipCondition
     {
         public ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
         {
-            if (step.SkipIf.Contains(ESkipCondition.Never))
+            var skipConditions = step.SkipConditions?.StepIf;
+            if (skipConditions == null || skipConditions.Never)
                 return null;
 
-            var relevantConditions =
-                step.SkipIf.Where(x => x != ESkipCondition.AetheryteShortcutIfInSameTerritory).ToList();
-            if (relevantConditions.Count == 0 &&
+            if (skipConditions.HasSkipConditions() &&
                 step.CompletionQuestVariablesFlags.Count == 0 &&
                 step.RequiredQuestVariables.Count == 0 &&
                 step.PickUpQuestId == null &&
@@ -34,7 +33,7 @@ internal static class SkipCondition
                 return null;
 
             return serviceProvider.GetRequiredService<CheckTask>()
-                .With(step, relevantConditions, quest.QuestId);
+                .With(step, skipConditions, quest.QuestId);
         }
     }
 
@@ -44,10 +43,10 @@ internal static class SkipCondition
         IClientState clientState) : ITask
     {
         public QuestStep Step { get; set; } = null!;
-        public List<ESkipCondition> SkipConditions { get; set; } = null!;
+        public SkipStepConditions SkipConditions { get; set; } = null!;
         public ushort QuestId { get; set; }
 
-        public ITask With(QuestStep step, List<ESkipCondition> skipConditions, ushort questId)
+        public ITask With(QuestStep step, SkipStepConditions skipConditions, ushort questId)
         {
             Step = step;
             SkipConditions = skipConditions;
@@ -59,28 +58,28 @@ internal static class SkipCondition
         {
             logger.LogInformation("Checking skip conditions; {ConfiguredConditions}", string.Join(",", SkipConditions));
 
-            if (SkipConditions.Contains(ESkipCondition.FlyingUnlocked) &&
+            if (SkipConditions.Flying == ELockedSkipCondition.Unlocked &&
                 gameFunctions.IsFlyingUnlocked(Step.TerritoryId))
             {
                 logger.LogInformation("Skipping step, as flying is unlocked");
                 return true;
             }
 
-            if (SkipConditions.Contains(ESkipCondition.FlyingLocked) &&
+            if (SkipConditions.Flying == ELockedSkipCondition.Locked &&
                 !gameFunctions.IsFlyingUnlocked(Step.TerritoryId))
             {
                 logger.LogInformation("Skipping step, as flying is locked");
                 return true;
             }
 
-            if (SkipConditions.Contains(ESkipCondition.ChocoboUnlocked) &&
+            if (SkipConditions.Chocobo == ELockedSkipCondition.Unlocked &&
                 PlayerState.Instance()->IsMountUnlocked(1))
             {
                 logger.LogInformation("Skipping step, as chocobo is unlocked");
                 return true;
             }
 
-            if (SkipConditions.Contains(ESkipCondition.NotTargetable) &&
+            if (SkipConditions.NotTargetable &&
                 Step is { DataId: not null })
             {
                 IGameObject? gameObject = gameFunctions.FindObjectByDataId(Step.DataId.Value);
@@ -99,7 +98,7 @@ internal static class SkipCondition
                 }
             }
 
-            if (SkipConditions.Contains(ESkipCondition.ItemNotInInventory) && Step is { ItemId: not null })
+            if (SkipConditions.Item is { NotInInventory: true } && Step is { ItemId: not null })
             {
                 InventoryManager* inventoryManager = InventoryManager.Instance();
                 if (inventoryManager->GetInventoryItemCount(Step.ItemId.Value) == 0)
@@ -145,7 +144,7 @@ internal static class SkipCondition
                 }
             }
 
-            if (Step.SkipIf.Contains(ESkipCondition.WakingSandsMainArea))
+            if (SkipConditions.ExtraCondition == EExtraSkipCondition.WakingSandsMainArea)
             {
                 var position = clientState.LocalPlayer!.Position;
                 if (position.X < 24)