From 28ae5317ca33c46f23971a84d872fa0968ea89f3 Mon Sep 17 00:00:00 2001 From: Goppier <96147255+Goppier@users.noreply.github.com> Date: Thu, 19 Oct 2023 23:04:06 +0200 Subject: [PATCH] Initial commit --- FeebasCoordinates.py | 65 ++++++++ Recources/Feebas_Spot_Indicator.png | Bin 0 -> 133 bytes Recources/Hoenn_Route_119_E.png | Bin 0 -> 69614 bytes blendTest.py | 24 +++ feebasCalcs.py | 173 +++++++++++++++++++++ main.py | 231 ++++++++++++++++++++++++++++ trendyPhrase.py | 216 ++++++++++++++++++++++++++ 7 files changed, 709 insertions(+) create mode 100644 FeebasCoordinates.py create mode 100644 Recources/Feebas_Spot_Indicator.png create mode 100644 Recources/Hoenn_Route_119_E.png create mode 100644 blendTest.py create mode 100644 feebasCalcs.py create mode 100644 main.py create mode 100644 trendyPhrase.py diff --git a/FeebasCoordinates.py b/FeebasCoordinates.py new file mode 100644 index 0000000..11f9263 --- /dev/null +++ b/FeebasCoordinates.py @@ -0,0 +1,65 @@ +FEEBAS_COORDINATES = [ + [0, 0],[0, 0],[0, 0],[0, 0], + [18*16, 18*16], [18*16, 19*16], [19*16, 19*16], [16*16, 20*16], [17*16, 20*16], [18*16, 20*16], [19*16, 20*16], + [17*16, 21*16], [18*16, 21*16], [19*16, 21*16], [17*16, 22*16], [18*16, 22*16], [19*16, 22*16], [17*16, 23*16], + [18*16, 23*16], [19*16, 23*16], [17*16, 24*16], [18*16, 24*16], [19*16, 24*16], [17*16, 29*16], [18*16, 29*16], + [19*16, 29*16], [17*16, 30*16], [18*16, 30*16], [19*16, 30*16], [16*16, 31*16], [17*16, 31*16], [18*16, 31*16], + [19*16, 31*16], [20*16, 31*16], [16*16, 32*16], [17*16, 32*16], [18*16, 32*16], [19*16, 32*16], [20*16, 32*16], + [16*16, 35*16], [17*16, 35*16], [18*16, 35*16], [19*16, 35*16], + [20*16, 35*16], [16*16, 36*16], [17*16, 36*16], [18*16, 36*16], [19*16, 36*16], [20*16, 36*16], [16*16, 37*16], + [17*16, 37*16], [18*16, 37*16], [19*16, 37*16], [20*16, 37*16], + [16*16, 38*16], [17*16, 38*16], [18*16, 38*16], [19*16, 38*16], [20*16, 38*16], [21*16, 38*16], [22*16, 38*16], + [16*16, 39*16], [17*16, 39*16], [18*16, 39*16], [19*16, 39*16], [20*16, 39*16], [21*16, 39*16], [22*16, 39*16], + [16*16, 40*16], [17*16, 40*16], [18*16, 40*16], [19*16, 40*16], [20*16, 40*16], [21*16, 40*16], [22*16, 40*16], + [16*16, 41*16], [17*16, 41*16], [18*16, 41*16], [19*16, 41*16], [20*16, 41*16], [21*16, 41*16], [22*16, 41*16], + [16*16, 42*16], [17*16, 42*16], [18*16, 42*16], [19*16, 42*16], [20*16, 42*16], [21*16, 42*16], [22*16, 42*16], [23*16, 42*16], + [16*16, 43*16], [17*16, 43*16], [18*16, 43*16], [19*16, 43*16], [20*16, 43*16], [21*16, 43*16], [22*16, 43*16], [23*16, 43*16], [24*16, 43*16], [25*16, 43*16], [26*16, 43*16], [27*16, 43*16], [28*16, 43*16], [29*16, 43*16], [30*16, 43*16], + [19*16, 44*16], [20*16, 44*16], [21*16, 44*16], [22*16, 44*16], [23*16, 44*16], [24*16, 44*16], [25*16, 44*16], [26*16, 44*16], [27*16, 44*16], [28*16, 44*16], [29*16, 44*16], [30*16, 44*16], [31*16, 44*16], [32*16, 44*16], + [20*16, 45*16], [21*16, 45*16], [22*16, 45*16], [23*16, 45*16], [24*16, 45*16], [25*16, 45*16], [26*16, 45*16], [27*16, 45*16], [28*16, 45*16], [29*16, 45*16], [30*16, 45*16], [31*16, 45*16], [32*16, 45*16], + [23*16, 46*16], [24*16, 46*16], [25*16, 46*16], [26*16, 46*16], [27*16, 46*16], [28*16, 46*16], [29*16, 46*16], [30*16, 46*16], [31*16, 46*16], [32*16, 46*16], [33*16, 46*16], [34*16, 46*16], + [27*16, 47*16], [28*16, 47*16], [29*16, 47*16], [30*16, 47*16], [31*16, 47*16], [32*16, 47*16], [33*16, 47*16], [34*16, 47*16], + [30*16, 48*16], [31*16, 48*16], [32*16, 48*16], [33*16, 48*16], [34*16, 48*16], + [31*16, 49*16], [32*16, 49*16], [33*16, 49*16], [34*16, 49*16], [35*16, 49*16], + [31*16, 50*16], [32*16, 50*16], [33*16, 50*16], + [31*16, 51*16], [32*16, 51*16], [33*16, 51*16], + [31*16, 52*16], [32*16, 52*16], [33*16, 52*16], [34*16, 52*16], [35*16, 52*16], + [31*16, 53*16], [32*16, 53*16], [33*16, 53*16], [34*16, 53*16], [35*16, 53*16], + [33*16, 54*16], [34*16, 54*16], [35*16, 54*16], + [33*16, 55*16], [34*16, 55*16], [35*16, 55*16], + [31*16, 56*16], [32*16, 56*16], [33*16, 56*16], [34*16, 56*16], [35*16, 56*16], + [31*16, 57*16], [32*16, 57*16], [33*16, 57*16], [34*16, 57*16], [35*16, 57*16], + [30*16, 58*16], [31*16, 58*16], [32*16, 58*16], [33*16, 58*16], [34*16, 58*16], [35*16, 58*16], + [27*16, 59*16], [28*16, 59*16], [29*16, 59*16], [30*16, 59*16], [31*16, 59*16], [32*16, 59*16], [33*16, 59*16], [34*16, 59*16], + [26*16, 60*16], [27*16, 60*16], [28*16, 60*16], [29*16, 60*16], [30*16, 60*16], [31*16, 60*16], [32*16, 60*16], [33*16, 60*16], + [26*16, 61*16], [27*16, 61*16], [28*16, 61*16], [29*16, 61*16], [30*16, 61*16], [31*16, 61*16], + [26*16, 62*16], [27*16, 62*16], [28*16, 62*16], [29*16, 62*16], [30*16, 62*16], [31*16, 62*16], + [26*16, 63*16], [27*16, 63*16], [28*16, 63*16], [29*16, 63*16], [30*16, 63*16], [31*16, 63*16], [32*16, 63*16], + [24*16, 64*16], [25*16, 64*16], [26*16, 64*16], [27*16, 64*16], [28*16, 64*16], [29*16, 64*16], + [24*16, 65*16], [25*16, 65*16], [26*16, 65*16], [27*16, 65*16], [28*16, 65*16], + [22*16, 66*16], [23*16, 66*16], [24*16, 66*16], [25*16, 66*16], [26*16, 66*16], [27*16, 66*16], [28*16, 66*16], + [22*16, 67*16], [23*16, 67*16], [24*16, 67*16], [25*16, 67*16], [26*16, 67*16], [27*16, 67*16], [28*16, 67*16], + [22*16, 68*16], [23*16, 68*16], [24*16, 68*16], [25*16, 68*16], [26*16, 68*16], + [20*16, 69*16], [21*16, 69*16], [22*16, 69*16], [23*16, 69*16], [24*16, 69*16], [25*16, 69*16], [26*16, 69*16], + [20*16, 70*16], [21*16, 70*16], [22*16, 70*16], [23*16, 70*16], [24*16, 70*16], [25*16, 70*16], + [20*16, 71*16], [21*16, 71*16], [22*16, 71*16], [23*16, 71*16], [24*16, 71*16], [25*16, 71*16], + [20*16, 72*16], [21*16, 72*16], [22*16, 72*16], [23*16, 72*16], [24*16, 72*16], [25*16, 72*16], + [20*16, 73*16], [21*16, 73*16], [22*16, 73*16], [23*16, 73*16], + [21*16, 74*16], + [21*16, 75*16], + [21*16, 83*16],[22*16, 83*16],[23*16, 83*16], + [14*16, 98*16], + [14*16, 99*16], + [14*16, 100*16],[15*16, 100*16],[16*16, 100*16],[19*16, 100*16],[20*16, 100*16],[23*16, 100*16],[24*16, 100*16], + [14*16, 101*16],[15*16, 101*16],[16*16, 101*16],[17*16, 101*16],[18*16, 101*16],[19*16, 101*16],[20*16, 101*16],[21*16, 101*16],[22*16, 101*16],[23*16, 101*16],[24*16, 101*16], + [14*16, 102*16],[15*16, 102*16],[16*16, 102*16],[17*16, 102*16],[18*16, 102*16],[19*16, 102*16],[20*16, 102*16],[21*16, 102*16],[22*16, 102*16],[23*16, 102*16],[24*16, 102*16], + [14*16, 103*16],[15*16, 103*16],[16*16, 103*16],[17*16, 103*16],[18*16, 103*16],[19*16, 103*16],[20*16, 103*16],[21*16, 103*16],[22*16, 103*16],[23*16, 103*16],[24*16, 103*16], + [14*16, 104*16],[15*16, 104*16],[16*16, 104*16],[17*16, 104*16],[18*16, 104*16],[19*16, 104*16],[20*16, 104*16],[21*16, 104*16],[22*16, 104*16],[23*16, 104*16],[24*16, 104*16],[25*16, 104*16], + [14*16, 105*16],[15*16, 105*16],[16*16, 105*16],[17*16, 105*16],[18*16, 105*16],[19*16, 105*16],[20*16, 105*16],[21*16, 105*16],[22*16, 105*16],[23*16, 105*16],[24*16, 105*16],[25*16, 105*16], + [9*16, 106*16],[10*16, 106*16],[11*16, 106*16],[12*16, 106*16],[13*16, 106*16],[14*16, 106*16],[15*16, 106*16],[16*16, 106*16],[17*16, 106*16],[18*16, 106*16],[19*16, 106*16],[20*16, 106*16],[23*16, 106*16],[24*16, 106*16],[25*16, 106*16], + [7*16, 107*16],[8*16, 107*16],[9*16, 107*16],[10*16, 107*16],[11*16, 107*16],[12*16, 107*16],[13*16, 107*16],[14*16, 107*16],[15*16, 107*16],[16*16, 107*16],[17*16, 107*16],[18*16, 107*16],[19*16, 107*16],[20*16, 107*16],[23*16, 107*16],[24*16, 107*16],[25*16, 107*16], + [9*16, 108*16],[10*16, 108*16],[11*16, 108*16],[12*16, 108*16],[13*16, 108*16],[14*16, 108*16],[15*16, 108*16],[16*16, 108*16],[17*16, 108*16],[18*16, 108*16],[19*16, 108*16],[20*16, 108*16],[21*16, 108*16],[22*16, 108*16],[23*16, 108*16],[24*16, 108*16],[25*16, 108*16], + [9*16, 109*16],[10*16, 109*16],[11*16, 109*16],[12*16, 109*16],[13*16, 109*16],[14*16, 109*16],[15*16, 109*16],[16*16, 109*16],[17*16, 109*16],[18*16, 109*16],[19*16, 109*16],[20*16, 109*16],[21*16, 109*16],[22*16, 109*16],[23*16, 109*16], + [8*16, 110*16],[9*16, 110*16],[10*16, 110*16],[11*16, 110*16],[12*16, 110*16],[13*16, 110*16],[14*16, 110*16],[15*16, 110*16],[16*16, 110*16],[17*16, 110*16],[18*16, 110*16],[19*16, 110*16], + [8*16, 111*16],[9*16, 111*16],[10*16, 111*16],[11*16, 111*16],[12*16, 111*16], + [7*16, 112*16],[8*16, 112*16] +] \ No newline at end of file diff --git a/Recources/Feebas_Spot_Indicator.png b/Recources/Feebas_Spot_Indicator.png new file mode 100644 index 0000000000000000000000000000000000000000..b031bb952b26908280f6461fe78b205edc26c072 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucK`Boc#}EtuY} Uz{U7f51=XrPgg&ebxsLQ05_x`bN~PV literal 0 HcmV?d00001 diff --git a/Recources/Hoenn_Route_119_E.png b/Recources/Hoenn_Route_119_E.png new file mode 100644 index 0000000000000000000000000000000000000000..51d294e8257d5256566d0b0653d9d7aa6352cda6 GIT binary patch literal 69614 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 literal 0 HcmV?d00001 diff --git a/blendTest.py b/blendTest.py new file mode 100644 index 0000000..4cd0ca0 --- /dev/null +++ b/blendTest.py @@ -0,0 +1,24 @@ +from PIL import Image + +photo_image_path = "Hoenn_Route_119_E.png" +watermark_image_path = "RED.png" + +image = Image.open(photo_image_path).convert('RGBA') +watermark = Image.open(watermark_image_path).convert('RGBA') +layer = Image.new('RGBA', image.size, (0, 0, 0, 0)) +layer.paste(watermark, (0, 0)) +layer.paste(watermark, (32, 0)) + +# Create a copy of the layer +layer2 = layer.copy() + +# Put alpha on the copy +layer2.putalpha(180) + +# merge layers with mask +layer.paste(layer2, layer) + + +result = Image.alpha_composite(image, layer) + +result.show() \ No newline at end of file diff --git a/feebasCalcs.py b/feebasCalcs.py new file mode 100644 index 0000000..48abc94 --- /dev/null +++ b/feebasCalcs.py @@ -0,0 +1,173 @@ +from tkinter import ttk +from tkinter import * + +from trendyPhrase import group_conditions, group_lifestyles, group_hobbies, DewfordTrend +from FeebasCoordinates import FEEBAS_COORDINATES + + + + +class FeebasCalculator: + def __init__(self, trainer_id, lottery_number, trendy_phrase_1, trendy_phrase_2, is_rs): + self.is_feebas_found = False + if not((trendy_phrase_1 in group_conditions) and ((trendy_phrase_2 in group_lifestyles) or (trendy_phrase_2 in group_hobbies))): + return + if(trainer_id == '' or lottery_number == ''): + return + self.trainer_id = int(trainer_id) + self.secret_id = 0 + self.lottery_number = int(lottery_number) + self.trendy_phrase_1 = trendy_phrase_1 + self.trendy_phrase_2 = trendy_phrase_2 + self.starting_seeds = [] + self.calculated_feebas_spots = [] + self.rng_counter = 0 + self.vblank = 0xFFFFFFFF + + if(is_rs): + self.seedRng(0x5A0) + else: + self.seedRng(self.trainer_id) + + self.findFeebasStartingPoint() + for x in self.starting_seeds: + self.findFeebasSpots(x) + if(self.is_feebas_found == True): + break + if(self.is_feebas_found == False): + print("FUCK") + return + + self.seedRng(self.dewford_trends[0].getRandomValue()) + + x = 0 + while(x != 6): + feebas_id = self.getFeebasRandomValue() % 447 + if(feebas_id == 0): + feebas_id = 447 + if(feebas_id >= 4): + self.calculated_feebas_spots.append(FEEBAS_COORDINATES[feebas_id]) + x += 1 + + return + + def isFeebasFound(self): + return self.is_feebas_found + + def getFeebasSpotCoordinates(self): + return self.calculated_feebas_spots + + def getSecretId(self): + return self.secret_id + + def seedRng(self, seed): + self.random_value = seed & 0xFFFFFFFF + + def getFeebasRandomValue(self): + self.random_value = 0x41C64E6D * self.random_value + 0x00003039 + self.random_value &= 0xFFFFFFFF + return (self.random_value >> 16) + + def getRandomValue(self): + self.random_value = 0x41C64E6D * self.random_value + 0x00006073 + self.random_value &= 0xFFFFFFFF + self.rng_counter += 1 + if(self.vblank == self.rng_counter): + self.random_value = 0x41C64E6D * self.random_value + 0x00006073 + self.random_value &= 0xFFFFFFFF + self.rng_counter += 1 + #print(self.vblank) + return (self.random_value >> 16) + + def getPreviousRandomValue(self): + self.random_value = 0xEEB9EB65 * self.random_value + 0x0A3561A1; + self.random_value &= 0xFFFFFFFF + return (self.random_value >> 16) + + def findFeebasStartingPoint(self): + self.starting_seeds = [] + for x in range(20000): + random_value = self.getRandomValue() + if(random_value == self.lottery_number): + self.starting_seeds.append(self.random_value) + print(self.starting_seeds) + + def findFeebasSpots(self, lottery_seed): + reverse_steps = 50 + lottery_no = 0 + final_trendy_prase = ["NO", "FEEBAS"] + while((self.lottery_number != lottery_no) or (final_trendy_prase[0] != self.trendy_phrase_1 or final_trendy_prase[1] != self.trendy_phrase_2)): + self.seedRng(lottery_seed) + #print(lottery_seed) + self.rng_counter = 0 + for x in range(reverse_steps): + self.getPreviousRandomValue() + self.nameItLaterGAMER() + + final_trendy_prase = self.dewford_trends[0].getPhrase() + + lottery_no = self.getRandomValue() + + reverse_steps -= 1 + if(reverse_steps < 30): + print("UGH") + return + print("FOUND!!!!!") + print(self.dewford_trends[0].getRandomValue()) + self.is_feebas_found = True + + def nameItLaterGAMER(self): + self.secret_id = self.getRandomValue() + print(self.secret_id) + self.getRandomValue() + self.getRandomValue() + self.getRandomValue() + self.dewford_trends = [] + for x in range(5): + new_trend = DewfordTrend() + phrase_1 = group_conditions[self.getRandomValue() % len(group_conditions)] + if(self.getRandomValue() & 1 == 1): + phrase_2 = group_lifestyles[self.getRandomValue() % len(group_lifestyles)] + else: + phrase_2 = group_hobbies[self.getRandomValue() % len(group_hobbies)] + new_trend.setPhrase(phrase_1, phrase_2) + #print(phrase_1) + new_trend.setIsGainingTrendiness(self.getRandomValue() & 1) + + rando = self.getRandomValue() % 98 + if (rando > 50): + rando = self.getRandomValue() % 98 + if (rando > 80): + rando = self.getRandomValue() % 98 + + new_trend.setMaxTrendiness(rando + 30) + new_trend.setTrendiness((self.getRandomValue() % (rando + 1)) + 30) + new_trend.setRandomValue(self.getRandomValue()) + + self.dewford_trends.append(new_trend) + self.sortTrends() + + + def sortTrends(self): + for x in range(5): + y = x + 1 + while(y < 5): + if(self.compareTrends(y, x)): + self.SWAP(self.dewford_trends, y, x) + y += 1 + + def compareTrends(self, a, b): + if(self.dewford_trends[a].getTrendiness() > self.dewford_trends[b].getTrendiness()): + return True + if(self.dewford_trends[a].getTrendiness() < self.dewford_trends[b].getTrendiness()): + return False + if(self.dewford_trends[a].getMaxTrendiness() > self.dewford_trends[b].getMaxTrendiness()): + return True + if(self.dewford_trends[a].getMaxTrendiness() < self.dewford_trends[b].getMaxTrendiness()): + return False + + return (self.getRandomValue() & 1) + + def SWAP(self, list, pos1, pos2): + list[pos1], list[pos2] = list[pos2], list[pos1] + return list diff --git a/main.py b/main.py new file mode 100644 index 0000000..c4346d6 --- /dev/null +++ b/main.py @@ -0,0 +1,231 @@ +from tkinter import ttk +from tkinter import * +from ttkwidgets.autocomplete import AutocompleteCombobox +from feebasCalcs import FeebasCalculator + +from trendyPhrase import group_conditions, group_lifestyles, group_hobbies + +# pip install pillow +from PIL import Image, ImageTk + + +class Route119: + def __init__(self, root): + self.root = root + self.canvas = Canvas(self.root, width=320, height=560, bg="white") + image = Image.open('./Recources/Hoenn_Route_119_E.png') + self.render = ImageTk.PhotoImage(image) + img = self.canvas.create_image(192, 960, image=self.render) + self.canvas.place(relx=0.25,rely=0.5,anchor=CENTER) + + self.current_image_xpos = 192 + self.current_image_ypos = 960 + + self.current_mouse_xpos = 0 + self.current_mouse_ypos = 0 + + self.canvas.bind('', self.mousePressCanvas) + self.canvas.bind("", self.mouseMove) + + self.trendy_1 = group_conditions.copy() + self.trendy_1.sort() + + self.trendy_2 = group_lifestyles + group_hobbies + self.trendy_2.sort() + + self.var = IntVar() + self.var.set(1) + self.ruby_sapphire_checkbox = ttk.Checkbutton(self.root, text='Ruby/Sapphire',variable=self.var, onvalue=1, offvalue=0, command=self.rs_selected) + self.ruby_sapphire_checkbox.place(x=320*0.55/2+320, y=150, anchor="center") + + self.ruby_sapphire_checkbox = ttk.Checkbutton(self.root, text='Emerald',variable=self.var, onvalue=0, offvalue=1, command=self.rs_selected) + self.ruby_sapphire_checkbox.place(x=320*1.45/2+320, y=150, anchor="center") + # Create Dropdown menu + self.drop1 = AutocompleteCombobox(root, completevalues=self.trendy_1) + self.drop1.place(x=320*0.55/2+320, y=360, anchor="center") + self.drop1.config(width = 17) + + self.drop2 = AutocompleteCombobox(root, completevalues=self.trendy_2) + self.drop2.place(x=320*1.45/2+320, y=360, anchor="center") + self.drop2.config(width = 17) + + vcmd = (self.root.register(self.validateNumber), '%d', '%i', '%P', '%s', '%S', '%v', '%V', '%W') + + tid_label = ttk.Label(root, text='Trainer ID') + tid_label.place(x=320*1.5/7+320, y=200, anchor="w") + + sv = StringVar() + sv.trace("w", lambda name, index, mode, sv=sv: self.maxNumberCallback(sv, 0xFFFF, 0)) + self.tid_entry = ttk.Entry(root, validate="key", validatecommand=vcmd, textvariable=sv, width=10) + self.tid_entry.place(x=320*3.5/7+320, y=200, anchor="w") + + lot_label = ttk.Label(root, text='Lottery No.') + lot_label.place(x=320*1.5/7+320, y=225, anchor="w") + + sv = StringVar() + sv.trace("w", lambda name, index, mode, sv=sv: self.maxNumberCallback(sv, 0xFFFF, 1)) + self.lot_enrty = ttk.Entry(root, validate="key", validatecommand=vcmd, textvariable=sv, width=10) + self.lot_enrty.place(x=320*3.5/7+320, y=225, anchor="w") + + sid_label = ttk.Label(root, text='Secret ID') + sid_label.place(x=320*1.5/7+320, y=250, anchor="w") + + self.sid_entry = ttk.Label(root, text='') + self.sid_entry.place(x=320*3.5/7+320, y=250, anchor="w") + + calc_button = ttk.Button(root, text='Calculate', command=self.calculateFeebasSpots, state= NORMAL) + calc_button.place(x=320*2/7+320, y=430, anchor="center") + clear_button = ttk.Button(root, text='Clear', command=self.clearFeebasSpots, state= NORMAL) + clear_button.place(x=320*5/7+320, y=430, anchor="center") + + self.feebas_spot_buttons = [] + + spot_button = ttk.Button(root, text='1', command= lambda: self.goToFeebasSpot(0), state= DISABLED, width=4) + spot_button.place(x=320/7+320, y=500, anchor="center") + self.feebas_spot_buttons.append(spot_button) + + spot_button = ttk.Button(root, text='2', command= lambda: self.goToFeebasSpot(1), state= DISABLED, width=4) + spot_button.place(x=320*2/7+320, y=500, anchor="center") + self.feebas_spot_buttons.append(spot_button) + + spot_button = ttk.Button(root, text='3', command= lambda: self.goToFeebasSpot(2), state= DISABLED, width=4) + spot_button.place(x=320*3/7+320, y=500, anchor="center") + self.feebas_spot_buttons.append(spot_button) + + spot_button = ttk.Button(root, text='4', command= lambda: self.goToFeebasSpot(3), state= DISABLED, width=4) + spot_button.place(x=320*4/7+320, y=500, anchor="center") + self.feebas_spot_buttons.append(spot_button) + + spot_button = ttk.Button(root, text='5', command= lambda: self.goToFeebasSpot(4), state= DISABLED, width=4) + spot_button.place(x=320*5/7+320, y=500, anchor="center") + self.feebas_spot_buttons.append(spot_button) + + spot_button = ttk.Button(root, text='6', command= lambda: self.goToFeebasSpot(5), state= DISABLED, width=4) + spot_button.place(x=320*6/7+320, y=500, anchor="center") + self.feebas_spot_buttons.append(spot_button) + + def goToFeebasSpot(self, spot_id): + calculated_spots = self.feebas_calcs.getFeebasSpotCoordinates() + # x(0) = 480 + # x(640) = -160 + # y{0) = 1400 + # y(2240) = -840 + + self.current_image_xpos = (640 - calculated_spots[spot_id][0] - 160) + self.current_image_ypos = (2240 - calculated_spots[spot_id][1] - 840) + if(self.current_image_xpos > 16*20): + self.current_image_xpos = 16*20 + elif(self.current_image_xpos < 0): + self.current_image_xpos = 0 + if(self.current_image_ypos > 16*60): + self.current_image_ypos = 16*60 + elif(self.current_image_ypos < -16*12): + self.current_image_ypos = -16*12 + + img = self.canvas.create_image(self.current_image_xpos, self.current_image_ypos, image=self.render) + + def calculateFeebasSpots(self): + self.feebas_calcs = FeebasCalculator(self.tid_entry.get(), self.lot_enrty.get(), self.drop1.get(), self.drop2.get(), self.var.get()) + + if(self.feebas_calcs.isFeebasFound() == False): + self.root.bell() + return + + image = Image.open("./Recources/Hoenn_Route_119_E.png").convert('RGBA') + watermark = Image.open("./Recources/Feebas_Spot_Indicator.png").convert('RGBA') + layer = Image.new('RGBA', image.size, (0, 0, 0, 0)) + print(self.feebas_calcs.getSecretId()) + self.sid_entry.config(text=str(self.feebas_calcs.getSecretId())) + calculated_spots = self.feebas_calcs.getFeebasSpotCoordinates() + for xy in calculated_spots: + layer.paste(watermark, (xy[0], xy[1])) + xy = xy[:2] + layer2 = layer.copy() + layer2.putalpha(180) + layer.paste(layer2, layer) + result = Image.alpha_composite(image, layer) + self.render = ImageTk.PhotoImage(result) + img = self.canvas.create_image(self.current_image_xpos, self.current_image_ypos, image=self.render) + + for spot in self.feebas_spot_buttons: + spot['state'] = "normal" + + def clearFeebasSpots(self): + image = Image.open('./Recources/Hoenn_Route_119_E.png') + self.render = ImageTk.PhotoImage(image) + img = self.canvas.create_image(self.current_image_xpos, self.current_image_ypos, image=self.render) + + for spot in self.feebas_spot_buttons: + spot['state'] = "disabled" + + def mousePressCanvas(self, e): + self.current_mouse_xpos = e.x + self.current_mouse_ypos = e.y + + def mouseMove(self, e): + x_diff = self.current_mouse_xpos - e.x + y_diff = self.current_mouse_ypos - e.y + self.current_image_xpos -= x_diff + self.current_image_ypos -= y_diff + if(self.current_image_xpos > 16*20): + self.current_image_xpos = 16*20 + elif(self.current_image_xpos < 0): + self.current_image_xpos = 0 + if(self.current_image_ypos > 16*60): + self.current_image_ypos = 16*60 + elif(self.current_image_ypos < -16*12): + self.current_image_ypos = -16*12 + self.current_mouse_xpos = e.x + self.current_mouse_ypos = e.y + + img = self.canvas.create_image(self.current_image_xpos, self.current_image_ypos, image=self.render) + + def maxNumberCallback(self, sv, max_number, id): + current_number = 0 + try: + current_number = int(sv.get()) + except ValueError: + print("Nothing") + + if current_number > max_number: + if(id == 0): + self.tid_entry.delete(0, END) + self.tid_entry.insert(0, "65535") + else: + self.lot_enrty.delete(0, END) + self.lot_enrty.insert(0, "65535") + current_number = max_number + self.root.bell() + + def rs_selected(self): + print("SELECTED") + + def validateNumber(self, d, i, P, s, S, v, V, W): + # %d = Type of action (1=insert, 0=delete, -1 for others) + # %i = index of char string to be inserted/deleted, or -1 + # %P = value of the entry if the edit is allowed + # %s = value of entry prior to editing + # %S = the text string being inserted or deleted, if any + # %v = the type of validation that is currently set + # %V = the type of validation that triggered the callback + # (key, focusin, focusout, forced) + # %W = the tk name of the widget + + # Disallow anything that isn't a number + if S.isnumeric(): + return True + else: + self.root.bell() + return False + + + +root = Tk() + +root.wm_title("Finding Feebas") +root.geometry("640x560") +root.resizable(0,0) + +app = Route119(root) + +root.mainloop() \ No newline at end of file diff --git a/trendyPhrase.py b/trendyPhrase.py new file mode 100644 index 0000000..e2fa65f --- /dev/null +++ b/trendyPhrase.py @@ -0,0 +1,216 @@ +class DewfordTrend: + def __init__(self): + self.trendiness = 0 + self.max_trendiness = 0 + self.is_gaining_trendiness = False + self.random_value = 0 + self.easy_chat_words = ["", ""] + + def setTrendiness(self, value): + self.trendiness = value + + def getTrendiness(self): + return self.trendiness + + def setMaxTrendiness(self, value): + self.max_trendiness = value + + def getMaxTrendiness(self): + return self.max_trendiness + + def setIsGainingTrendiness(self, value): + self.is_gaining_trendiness = value + + def getIsGainingTrendiness(self): + return self.is_gaining_trendiness + + def setRandomValue(self, value): + self.random_value = value + + def getRandomValue(self): + return self.random_value + + def setPhrase(self, phrase_1, phrase_2): + self.easy_chat_words[0] = phrase_1 + self.easy_chat_words[1] = phrase_2 + + def getPhrase(self): + return self.easy_chat_words + + +group_conditions=[ + "HOT", + "EXISTS", + "EXCESS", + "APPROVED", + "HAS", + "GOOD", + "LESS", + "MOMENTUM", + "GOING", + "WEIRD", + "BUSY", + "TOGETHER", + "FULL", + "ABSENT", + "BEING", + "NEED", + "TASTY", + "SKILLED", + "NOISY", + "BIG", + "LATE", + "CLOSE", + "DOCILE", + "AMUSING", + "ENTERTAINING", + "PERFECTION", + "PRETTY", + "HEALTHY", + "EXCELLENT", + "UPSIDEDOWN", + "COLD", + "REFRESHING", + "UNAVOIDABLE", + "MUCH", + "OVERWHELMING", + "FABULOUS", + "ELSE", + "EXPENSIVE", + "CORRECT", + "IMPOSSIBLE", + "SMALL", + "DIFFERENT", + "TIRED", + "SKILL", + "TOP", + "NONSTOP", + "PREPOSTEROUS", + "NONE", + "NOTHING", + "NATURAL", + "BECOMES", + "LUKEWARM", + "FAST", + "LOW", + "AWFUL", + "ALONE", + "BORED", + "SECRET", + "MYSTERY", + "LACKS", + "BEST", + "LOUSY", + "MISTAKE", + "KIND", + "WELL", + "WEAKENED", + "SIMPLE", + "SEEMS", + "BADLY" +] + +group_lifestyles=[ + "CHORES", + "HOME", + "MONEY", + "ALLOWANCE", + "BATH", + "CONVERSATION", + "SCHOOL", + "COMMEMORATE", + "HABIT", + "GROUP", + "WORD", + "STORE", + "SERVICE", + "WORK", + "SYSTEM", + "TRAIN", + "CLASS", + "LESSONS", + "INFORMATION", + "LIVING", + "TEACHER", + "TOURNAMENT", + "LETTER", + "EVENT", + "DIGITAL", + "TEST", + "DEPT_STORE", + "TELEVISION", + "PHONE", + "ITEM", + "NAME", + "NEWS", + "POPULAR", + "PARTY", + "STUDY", + "MACHINE", + "MAIL", + "MESSAGE", + "PROMISE", + "DREAM", + "KINDERGARTEN", + "LIFE", + "RADIO", + "RENTAL", + "WORLD" +] + +group_hobbies=[ + "IDOL", + "ANIME", + "SONG", + "MOVIE", + "SWEETS", + "CHAT", + "CHILD_S_PLAY", + "TOYS", + "MUSIC", + "CARDS", + "SHOPPING", + "CAMERA", + "VIEWING", + "SPECTATOR", + "GOURMET", + "GAME", + "RPG", + "COLLECTION", + "COMPLETE", + "MAGAZINE", + "WALK", + "BIKE", + "HOBBY", + "SPORTS", + "SOFTWARE", + "SONGS", + "DIET", + "TREASURE", + "TRAVEL", + "DANCE", + "CHANNEL", + "MAKING", + "FISHING", + "DATE", + "DESIGN", + "LOCOMOTIVE", + "PLUSH_DOLL", + "PC", + "FLOWERS", + "HERO", + "NAP", + "HEROINE", + "FASHION", + "ADVENTURE", + "BOARD", + "BALL", + "BOOK", + "FESTIVAL", + "COMICS", + "HOLIDAY", + "PLANS", + "TRENDY", + "VACATION", + "LOOK" +] \ No newline at end of file