-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpkmn.js
240 lines (206 loc) · 12.8 KB
/
pkmn.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
import { Section } from "/Oak-Challenge/js/section-create.js";
//=============================================================
// || Pre Gym 1 ||
//=============================================================
let sec1 = new Section("Pre Gym 1")
sec1.addMon("Ralts", 4, 102, "20,30", 3)
sec1.addMon("Lotad", 4, 102, 14, 2)
sec1.addMon("Seedot", 3, 102, 14, 2)
sec1.addMon("Zigzagoon", 4, 103, 20, 6, ["The zigzagoon needs enough attack to 1 shot whismur", "Evolve all but 1 of them"])
sec1.addMon("Wingull", 4, 103, 25, 2)
sec1.addMon("Marill", 5, 104, 18, 2, ["1 needs to be female"])
sec1.addMon("Poochyena", 8, 116, 18, 2, ["One needs to be male if one in Slakoth line is not"])
sec1.addMon("Taillow", 8, 116, 22, 2)
sec1.addMon("Skitty", null, 116, null, 3, ["You need an extra skitty for the very end of the game."])
sec1.addMon("Abra", 7, 116, 16, 2)
sec1.addMon("Nincada", 7, 116, 20, 2)
sec1.addMon("Wurmple", 6, "Petalburg Woods", 10, 3, ["Need 1 for Beautifly and 1 for Dustox", "Check PID before moving on", "<a href='https://legofigure11.github.io/tools/wurmple-calc/'>https://legofigure11.github.io/tools/wurmple-calc/</a>", "Will catch Cascoon and Silcoon individually"])
sec1.addMon("Cascoon", null, "Petalburg Woods", null, 1)
sec1.addMon("Silcoon", null, "Petalburg Woods", null, 1)
sec1.addMon("Shroomish", 6, "Petalburg Woods", 23, 2)
sec1.addMon("Slakoth", 6, "Petalburg Woods", "18,36", 3, ["Needs to be male if Poochyena line is not"])
sec1.addMon("Whismur", 8, "Rusturf Tunnel", "20,40", 3)
sec1.addMon("Torchic", 6, "Starter", 36, 1, ["Needs to be female"])
sec1.addNote("Battle lvl 8 Whismur with first Zigzagoon")
sec1.addNote("Remember to battle the trainers in the gym while grinding the first Zigzagoon")
sec1.add2Div("sec1")
//=============================================================
// || Pre Gym 2 ||
//=============================================================
let sec2 = new Section("Pre Gym 2")
sec2.addMon("Tentacool", 10, 110, 30, 2, "One needs to be male")
sec2.addMon("Plusle", null, 110, null, 1, "One of Plusle, Minun, or Pikachu needs to be male")
sec2.addMon("Minun", null, 110, null, 1, "One of Plusle, Minun, or Pikachu needs to be male")
sec2.addMon("Electrike", 13, 110, 26, 2)
sec2.addMon("Gulpin", 13, 110, 26, 2)
sec2.addMon("Magikarp", 10, 117, 20, 2)
sec2.addMon("Goldeen", 10, 117, 33, 2)
sec2.addMon("Oddish", 13, 117, 21, 2)
sec2.addMon("Volbeat", null, 117, null, 1)
sec2.addMon("Illumise", null, 117, null, 1)
sec2.addMon("Torchic", 5, 117, 16, 2)
sec2.addMon("Geodude", 9, "Granite Cave 1F", 25, 2)
sec2.addMon("Zubat", 10, "Granite Cave B1F", 24, 3, ["Catch first to start getting happiness", "You could get a lvl 11 one on B2F, but then you would have to avoid encounters until you come back up"])
sec2.addMon("Makuhita", 11, "Granite Cave B1F", 24, 2)
sec2.addMon("Sableye", null, "Granite Cave B1F", null, 1)
sec2.addMon("Aron", 12, "Granite Cave B2F", "32,42", 3)
sec2.addNote("Skip Brawley. Will be doing Watson next")
sec2.addNote("Grab the bike and rock smash when at mauville")
sec2.addNote("Use the pokemon center in mauville last")
sec2.addNote("Make sure to have teleporter (abra/ralts line) in party when done with section")
sec2.addNote("Total Pokemon obtained should be 66")
sec2.add2Div("sec2")
//=============================================================
// || Pre Gym 3 ||
//=============================================================
let sec3 = new Section("Pre Gym 3")
sec3.addMon("Nosepass", null, "Granite Cave", null, 1)
sec3.addMon("Numel", 22, "Jagged Pass", 33, 2)
sec3.addMon("Machop", 22, "Jagged Pass", 28, 2)
sec3.addMon("Spoink", 22, "Jagged Pass", 28, 2)
sec3.addMon("Koffing", 16, "Fiery Path", 35, 2)
sec3.addMon("Grimer", 14, "Fiery Path", 38, 2)
sec3.addMon("Slugma", 16, "113", 38, 2)
sec3.addMon("Torkoal", null, "Fiery Path", null, 1)
sec3.addMon("Spinda", null, 113, null, 1)
sec3.addMon("Skarmory", null, 113, null, 1)
sec3.addMon("Swablu", 17, 114, 35, 2)
sec3.addMon("Seviper", null, 114, null, 1)
sec3.addMon("Lombre", null, 114, null, 1)
sec3.addMon("Nuzleaf", null, 114, null, 1)
sec3.addMon("Solrock", null, "Meteor Falls", null, 1, ["Get one holding a sun stone"])
sec3.addMon("Wynaut", 5, "Lavaridge", 15, 1)
sec3.addMon("Delcatty", null, null, null, 1)
sec3.addMon("Bellossom", null, null, null, 1)
sec3.addNote("Get dig on route 114")
sec3.addNote("Grab the moon stone in meteor falls")
sec3.addNote("When hatching Wynaut, get strength in Rustboro Tunnel")
sec3.addNote("Should have 90 pokemon")
sec3.add2Div("sec3")
let sec4 = new Section("Pre Gym 4/5")
sec4.addMon("Anorith (breed)", 5, 117, null, 1, ["Breed with Tentacool"])
sec4.addMon("Sandshrew", 22, "Mirage Tower", 22, 2)
sec4.addMon("Cacnea", 22, "Desert", 32, 2)
sec4.addMon("Baltoy", 21, "Desert", 36, 2)
sec4.addMon("Trapinch", 24, "Mirage Tower", "35,45", 3)
sec4.addMon("Anorith", 20, "Mirage Tower", 40, 1, ["Must be female"])
sec4.addNote("Get fire stone in Fiery Path")
sec4.addNote("Evolve desert pokemon before leaving Mauville")
sec4.addNote("Will use Mauville as TP point")
sec4.addNote("Leave extra slot in party to get fossil")
sec4.add2Div("sec4")
let sec5 = new Section("Pre Gym 6")
sec5.addMon("Jigglypuff", null, "115", null, 1, ["Must be female", "Only need 1 since Wigglytuff is unobtainable", "Jigglypuff has 4 syllables"])
sec5.addMon("Corfish", 20, "117", 30, 2)
sec5.addMon("Tropius", null, "119", null, 1)
sec5.addMon("Carvana", null, "119", null, 1)
sec5.addMon("Feebas", null, "119", null, 2, ["Make sure the one that's going to evolve has a Rash, Quiet, Modest or Mild nature", "If you get a mild nature, you won't get the 10% boost with the kelpsy berries."])
sec5.addMon("Barboach", 30, "120", 30, 2)
sec5.addMon("Absol", null, "120", null, 1)
sec5.addMon("Corsola", null, "128", null, 1)
sec5.addMon("Luvdisk", null, "128", null, 1)
sec5.addMon("Horsea", 30, "132", 32, 2)
sec5.addMon("Sharpedo", null, "132", null, 1)
sec5.addMon("Azuril", null, "Breed", null, 1)
sec5.addMon("Igglybuff", null, "Breed", null, 1)
sec5.addMon("Wynaut", null, "Breed", null, 1)
sec5.addMon("Pichu", null, "Breed", null, 1)
sec5.addMon("Wailmer", 39, "Lilycove", 40, 2, ["Get super rod beforehand"])
sec5.addMon("Staryu", null, "Lilycove", null, 2, ["Need to get super rod beforehand"])
sec5.addMon("Vulpix", null, "Mt. Pyre (Outside)", null, 2)
sec5.addMon("Shuppet", 30, "Mt. Pyre (summit)", 37, 2)
sec5.addMon("Duskoll", 30, "Mt. Pyre (summit)", 37, 2)
sec5.addMon("Chimecho", null, "Mt. Pyre (summit)", null, 1)
sec5.addMon("Magnemite", null, "New Mauville", null, 1)
sec5.addMon("Magneton", null, "New Mauville", null, 1)
sec5.addMon("Voltorb", null, "New Mauville", null, 1)
sec5.addMon("Electrode", null, "New Mauville", null, 1)
sec5.addMon("Natu", null, "Safari Zone (Northeast)", null, 1)
sec5.addMon("Phanphy", 25, "Safari Zone (Northeast)", 25, 2)
sec5.addMon("Heracross", null, "Safari Zone (Northeast)", null, 1)
sec5.addMon("Xatu", null, "Safari Zone (Northeast)", null, 1)
sec5.addMon("Doduo", null, "Safari Zone (Northwest)", null, 1)
sec5.addMon("Dodrio", null, "Safari Zone (Northwest)", null, 1)
sec5.addMon("Psyduck", null, "Safari Zone (Northwest)", null, 1)
sec5.addMon("Golduck", null, "Safari Zone (Northwest)", null, 1)
sec5.addMon("Pinsir", null, "Safari Zone (Northwest)", null, 1)
sec5.addMon("Rhyhorn", 29, "Safari Zone (Northwest)", 42, 2)
sec5.addMon("Pikachu", null, "Safari Zone (Southeast/west)", null, 2, ["1 needs to be female"])
sec5.addMon("Girafarig", null, "Safari Zone (Southeast/west)", null, 1)
sec5.addMon("Snorunt", 30, "Shoal Cave", 42, 2)
sec5.addMon("Spheal", 32, "Shoal Cave", "32,44", 3)
sec5.addMon("Castform", null, "Weather Institute", null, 1, ["Have an open party space"])
sec5.addMon("Shiftree", null, null, null, 1)
sec5.addMon("Kechleon", null, null, null, 1)
sec5.addMon("Gloom", null, "121/123/Safari Zone", null, 1, ["You can catch any of them and this can be done before the end of the next section"])
sec5.addNote("Grab the berries near Jigglypuff")
sec5.addNote("Get good rod before new mauville")
sec5.addNote("Get thunderstone in New Mauville")
sec5.addNote("<s>Get acro bike before leaving for Fourtree</s>You will need both bikes in the safri zone, so you'll have to come back with the other bike.")
sec5.addNote("Get Leaf stone on 118")
sec5.addNote("Set fourtree city as new teleport hub")
sec5.addNote("Get chesto berries on route 121")
sec5.addNote("Get sea incense in Mt. Pyre")
sec5.addNote("Get lax incense in Mt. Pyre")
sec5.addNote("Breed Jigglypuff/Pikachu/Maril with pikachu/minun/plusle")
sec5.addNote("Breed Wobbafett with a male grimer/koffing/swalot")
sec5.addNote("Super Rod in Mossdeep City from fisherman in house east of gym")
sec5.addNote("Set mossdeep as TP point after defeating team aqua")
sec5.addNote("When you enter the space center in mossdeep, check what item you need to get. Might be in the next section.")
sec5.addNote("Should end with 156 Pokemon")
sec5.add2Div("sec5")
sec6 = new Section("Pre Gym 7")
sec6.addMon("Ludicolo", null, null, null, 1)
sec6.addMon("Starmie", null, null, null, 1)
sec6.addMon("Clamperl", null, "124 (Underwater)", null, 1)
sec6.addMon("Relicanth", null, "124 (Underwater)", null, 1)
sec6.addMon("Chinchou", 26,"124 (Underwater)",27,2)
sec6.addMon("Regirock", null, "111", null, 1)
sec6.addMon("Regice", null, "105", null, 1)
sec6.addMon("Registeel", null, "120", null, 1)
sec6.addMon("Rayquaza", null, "Sky Pillar", null, 1, ["Since it'll be used as an HM slave, and water moves are all special in gen III, catch one with a high special attack."])
sec6.addMon("Vileploom", null, null, null, 1)
sec6.addNote("You will need 1 leaf and 2 water stones. You get them by trading shards to the guy in the house on 114. Relicanth has the shard for a leaf stone and clamperl has the shard for a water stone.")
sec6.addNote("Since you need relicanth and wailord in your party to do the regis, I recommend to leave Mossdeep with an empty party slot and Wailord. For information on how to do the puzzle, see <a href=\"https://www.serebii.net/emerald/regi.shtml\">here</a>.")
sec6.addNote("Rayquaza will be your second/third HM slave as it can learn every HM except flash (your teleported can learn flash).")
sec6.addNote("Rayquaza will (probably) end the run with surf, waterfall, dive, and fly, so you mihgt as well teach them all at once.")
sec6.addNote("Should end with 167 Pokemon")
sec6.add2Div("sec6")
sec7 = new Section("Pre Gym 8")
sec7.addMon("Mawile", null, "Victory Road B1", null, 1)
sec7.addMon("Bagon", 35, "Meteor Falls B1F 2R", "30,50", 3)
sec7.addNote("I recomend getting Mawile first, getting the teleport point in Fourtree, then getting Bagon. Last section without fly!")
sec7.addNote("You can't fly to the E4 so get Mawile and get out.")
sec7.add2Div("sec7")
sec8 = new Section("Postgame")
sec8.addMon("Beldum",5, "Mossdeep/Breed", "20,45", 3, ["You get 1 from Steven's house then you'll need to breed 2 with ditto."])
sec8.addMon("Latias", null, null, null, 1, ["Go between routes until it appears"])
sec8.addMon("Groudon", null, null, null, 1, ["The man in the weather institute will tell you what route it's on."])
sec8.addMon("Kyogre", null, null, null, 1, ["The man in the weather institute will tell you what route it's on."])
sec8.addMon("Ditto", null, "Desert Underpass", null, 1)
sec8.addMon("Lileep", 20, "Desert Underpass/Breed", 40, 2)
sec8.addMon("Meoweth", 7, "Battle Frontier/Breed", 28, 2)
sec8.addMon("Sudowoodo", null, "Battle Frontier", null, 1, ["Need wailmer pail"])
sec8.addMon("Smeargle", null, "Artisan's Cave", null, 1)
sec8.addMon("Hoothoot", 35, "Safari Zone Southeast",20, 2)
sec8.addMon("Spinarak", 33, "Safari Zone Southeast", 22, 2)
sec8.addMon("Mareep",34 , "Safari Zone Southeast", "15,30", 3)
sec8.addMon("Aipom", null, "Safari Zone Southeast", null, 1)
sec8.addMon("Sunkern", null, "Safari Zone Southeast", null, 2)
sec8.addMon("Snubbull", 34, "Safari Zone Southeast", 23, 2)
sec8.addMon("Gligar", null, "Safari Zone Southeast", null, 1)
sec8.addMon("Stantler", null, "Safari Zone Southeast", null, 1)
sec8.addMon("Wooper", null, "Safari Zone Southeast", null, 1)
sec8.addMon("Quagsire", null, "Safari Zone Southeast", null, 1)
sec8.addMon("Remoraid", null, "Safari Zone Southeast", null, 1)
sec8.addMon("Octillery", null, "Safari Zone Southeast", null, 1)
sec8.addMon("Ledyba",33 , "Safari Zone Northeast", 18, 2)
sec8.addMon("Pineco", 34, "Safari Zone Northeast", 31, 2)
sec8.addMon("Teddiursa", 34, "Safari Zone Northeast", 30, 2)
sec8.addMon("Houndour",36 , "Safari Zone Northeast", 24, 2)
sec8.addMon("Miltank", null, "Safari Zone Northeast", null, 1)
sec8.addMon("Shuckle", null, "Safari Zone Northeast", null, 1)
sec8.addNote("You end with 212 Pokemon")
sec8.add2Div("sec8")
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))