Skip to content

Instantly share code, notes, and snippets.

@smrq
Created September 29, 2019 22:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save smrq/f9d486a16174f95669c1a228809df732 to your computer and use it in GitHub Desktop.
Save smrq/f9d486a16174f95669c1a228809df732 to your computer and use it in GitHub Desktop.
((cycles) => {
const zones = "Jaya Bluffs|Holdings of Chokhin|Ice Cliff Chasms|Griffon's Mouth|Kinya Province|Issnur Isles|Jaga Moraine|Ice Floe|Maishang Hills|Jahai Bluffs|Riven Earth|Icedome|Minister Cho's Estate|Mehtani Keys|Sacnoth Valley|Iron Horse Mine|Morostav Trail|Plains of Jarin|Sparkfly Swamp|Kessex Peak|Mourning Veil Falls|The Alkali Pan|Varajar Fells|Lornar's Pass|Pongmei Valley|The Floodplain of Mahnkelon|Verdant Cascades|Majesty's Rest|Raisu Palace|The Hidden City of Ahdashim|Rhea's Crater|Mamnoon Lagoon|Shadow's Passage|The Mirror of Lyss|Saoshang Trail|Nebo Terrace|Shenzun Tunnels|The Ruptured Heart|Salt Flats|North Kryta Province|Silent Surf|The Shattered Ravines|Scoundrel's Rise|Old Ascalon|Sunjiang District|The Sulfurous Wastes|Magus Stones|Perdition Rock|Sunqua Vale|Turai's Procession|Norrhart Domains|Pockmark Flats|Tahnnakai Temple|Vehjin Mines|Poisoned Outcrops|Prophet's Path|The Eternal Grove|Tasca's Demise|Resplendent Makuun|Reed Bog|Unwaking Waters|Stingray Strand|Sunward Marches|Regent Valley|Wajjun Bazaar|Yatendi Canyons|Twin Serpent Lakes|Sage Lands|Xaquang Skyway|Zehlon Reach|Tangle Root|Silverwood|Zen Daijun|The Arid Sea|Nahpui Quarter|Skyward Reach|The Scar|The Black Curtain|Panjiang Peninsula|Snake Dance|Traveler's Vale|The Breach|Lahtenda Bog|Spearhead Peak|Mount Qinkai|Marga Coast|Melandru's Hope|The Falls|Joko's Domain|Vulture Drifts|Wilderness of Bahdza|Talmark Wilderness|Vehtendi Valley|Talus Chute|Mineral Springs|Anvil Rock|Arborstone|Witman's Folly|Arkjok Ward|Ascalon Foothills|Bahdok Caverns|Cursed Lands|Alcazia Tangle|Archipelagos|Eastern Frontier|Dejarin Estate|Watchtower Coast|Arbor Bay|Barbarous Shore|Deldrimor Bowl|Boreas Seabed|Cliffs of Dohjok|Diessa Lowlands|Bukdek Byway|Bjora Marches|Crystal Overlook|Diviner's Ascent|Dalada Uplands|Drazach Thicket|Fahranur, the First City|Dragon's Gullet|Ferndale|Forum Highlands|Dreadnought's Drift|Drakkar Lake|Dry Top|Tears of the Fallen|Gyala Hatchery|Ettin's Back|Gandara, the Moon Fortress|Grothmar Wardowns|Flame Temple Corridor|Haiju Lagoon|Frozen Forest|Garden of Seborhin|Grenth's Footprint"
.split('|')
.map(name => ({ name, dates: [] }));
let date = new Date('2011-03-03T16:00:00Z');
for (let i = 0; i < cycles; ++i) {
zones.forEach(zone => {
const YY = String(date.getFullYear() - 2000).padStart(2, 0);
const MM = String(date.getMonth() + 1).padStart(2, 0);
const DD = String(date.getDate()).padStart(2, 0);
zone.dates.push(`${YY}-${MM}-${DD}`);
date = new Date(+date + 1000*60*60*24);
});
}
return `== Current cycle ==\n: ''Started 2011 March 3''\n{| {{STDT|silver}}\n|- style="background: #EEE;"\n! Quest !! colspan="${cycles}" | Days the quest is/was active\n|-\n` +
zones.map(zone => `|-\n| [[${zone.name} (Zaishen vanquish)|${zone.name}]]\n| ${zone.dates.join(' || ')}\n`)
.join('') +
'|}';
})(27);
@mote0230
Copy link

mote0230 commented Feb 18, 2024

For omitting some cycles:

	const zones = "Jaya Bluffs|Holdings of Chokhin|Ice Cliff Chasms|Griffon's Mouth|Kinya Province|Issnur Isles|Jaga Moraine|Ice Floe|Maishang Hills|Jahai Bluffs|Riven Earth|Icedome|Minister Cho's Estate|Mehtani Keys|Sacnoth Valley|Iron Horse Mine|Morostav Trail|Plains of Jarin|Sparkfly Swamp|Kessex Peak|Mourning Veil Falls|The Alkali Pan|Varajar Fells|Lornar's Pass|Pongmei Valley|The Floodplain of Mahnkelon|Verdant Cascades|Majesty's Rest|Raisu Palace|The Hidden City of Ahdashim|Rhea's Crater|Mamnoon Lagoon|Shadow's Passage|The Mirror of Lyss|Saoshang Trail|Nebo Terrace|Shenzun Tunnels|The Ruptured Heart|Salt Flats|North Kryta Province|Silent Surf|The Shattered Ravines|Scoundrel's Rise|Old Ascalon|Sunjiang District|The Sulfurous Wastes|Magus Stones|Perdition Rock|Sunqua Vale|Turai's Procession|Norrhart Domains|Pockmark Flats|Tahnnakai Temple|Vehjin Mines|Poisoned Outcrops|Prophet's Path|The Eternal Grove|Tasca's Demise|Resplendent Makuun|Reed Bog|Unwaking Waters|Stingray Strand|Sunward Marches|Regent Valley|Wajjun Bazaar|Yatendi Canyons|Twin Serpent Lakes|Sage Lands|Xaquang Skyway|Zehlon Reach|Tangle Root|Silverwood|Zen Daijun|The Arid Sea|Nahpui Quarter|Skyward Reach|The Scar|The Black Curtain|Panjiang Peninsula|Snake Dance|Traveler's Vale|The Breach|Lahtenda Bog|Spearhead Peak|Mount Qinkai|Marga Coast|Melandru's Hope|The Falls|Joko's Domain|Vulture Drifts|Wilderness of Bahdza|Talmark Wilderness|Vehtendi Valley|Talus Chute|Mineral Springs|Anvil Rock|Arborstone|Witman's Folly|Arkjok Ward|Ascalon Foothills|Bahdok Caverns|Cursed Lands|Alcazia Tangle|Archipelagos|Eastern Frontier|Dejarin Estate|Watchtower Coast|Arbor Bay|Barbarous Shore|Deldrimor Bowl|Boreas Seabed|Cliffs of Dohjok|Diessa Lowlands|Bukdek Byway|Bjora Marches|Crystal Overlook|Diviner's Ascent|Dalada Uplands|Drazach Thicket|Fahranur, the First City|Dragon's Gullet|Ferndale|Forum Highlands|Dreadnought's Drift|Drakkar Lake|Dry Top|Tears of the Fallen|Gyala Hatchery|Ettin's Back|Gandara, the Moon Fortress|Grothmar Wardowns|Flame Temple Corridor|Haiju Lagoon|Frozen Forest|Garden of Seborhin|Grenth's Footprint"
		.split('|')
		.map(name => ({ name, dates: [] }));
	let date = new Date('2017-02-15T16:00:00Z');
	for (let i = 0; i < cycles; ++i) {
		
		
		zones.forEach(zone => {
if( i > 2 && i < 14) 
{ date = new Date(+date + 1000*60*60*24);}		
else if (i == 14) {
			zone.dates.push('11 cycles omitted'); 
		} else {
			const YY = String(date.getFullYear() - 2000).padStart(2, 0);
			const MM = String(date.getMonth() + 1).padStart(2, 0);
			const DD = String(date.getDate()).padStart(2, 0);
			zone.dates.push(`${YY}-${MM}-${DD}`);
			date = new Date(+date + 1000*60*60*24);
		}
		});
	}
	return `== Current cycle ==\n: ''Started 2017 Feb 15''\n{| {{STDT|silver}}\n|- style="background: #EEE;"\n! Quest !! colspan="${cycles}" | Days the quest is/was active\n|-\n` +
		zones.map(zone => `|-\n| [[${zone.name} (Zaishen vanquish)|${zone.name}]]\n| ${zone.dates.join(' || ')}\n`)
			.join('') +
		'|}';
})(27);```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment