Prodigy-Hacking / ProdigyMathGameHacking

Prodigy Hacking: Hacking for the right reasons. | Questions? Ask on our Discord. https://discord.gg/XQDfbfq
https://prodigyhacking.com
Other
17 stars 10 forks source link

Game Constants Research #7

Closed PatheticMustan closed 4 years ago

PatheticMustan commented 4 years ago

A while ago, there was a "GameConstants" object that allowed us to modify things that would actually make us godly. Things like enemy radius detection rate, easy mode, enemy modifiers, walk speed...

After a recent update, this object was moved somewhere else. I'm not exactly sure where, but I know that some of the debugMisc methods try to get/set GameConstants. I'd like to figure out how to read, and modify GameConstants.

PatheticMustan commented 4 years ago
g.a.get("GameConstants.Build.DEBUG")
PatheticMustan commented 4 years ago

call and apply may be useful in this situation...

ArcerionDev commented 4 years ago

I will research that. Sounds like something you would find on debugMisc...

PatheticMustan commented 4 years ago

debugMisc.applyDebugOptions actually just updates the current settings using the constants. That means if we can edit the game constants, and call applyDebugOptions, we can finish easy mode. I'm not able to look into it until I actually get a computer.

ArcerionDev commented 4 years ago

You don't have a computer for this?

PatheticMustan commented 4 years ago

Uh, I've been testing on an iPad, which is not great for development, but I made a few scripts to help me with detective work.

ArcerionDev commented 4 years ago

So where do you put the g.a.get("GameConstants.Build.DEBUG") script?

PatheticMustan commented 4 years ago

I have no idea. I can't figure out how to access g. If I could, we would be able to unlock so many cheats...

JadeGrey commented 4 years ago

couldn't you make a script to find g

PatheticMustan commented 4 years ago

..... That's the problem.

It's not globally available, only certain objects/functions can access it. So we need to figure out how to access g in the context of those thingys.

PatheticMustan commented 4 years ago
t.constants = Object({
            "GameConstants.Build.VERSION": "2-95-0",
            "GameConstants.Build.DEBUG": !1,
            "GameConstants.Build.SHOW_FPS": !1,
            "GameConstants.Build.SHOW_DEBUG_VALUES": [],
            "GameConstants.Build.MUTE_BGM": !1,
            "GameConstants.Build.FRAMEWORK_LOG_LEVEL": 2,
            "GameConstants.Build.ASSETS_LOCATION": "https://cdn.prodigygame.com/game/assets/",
            "GameConstants.Build.TELEPORT": "",
            "GameConstants.Build.QUEST": [],
            "GameConstants.Build.ITEM_TYPE": [],
            "GameConstants.Build.KILL_GORE": !1,
            "GameConstants.Build.EASY_MODE": !1,
            "GameConstants.Build.MEMBERSHIP": !1,
            "GameConstants.Build.SCALE_MODE": 0,
            "GameConstants.Build.ADD_PLAYER_FPS_THRESHOLD_LIMIT": 20,
            "GameConstants.Build.ADD_PLAYER_FPS_THRESHOLD_RENABLE": 25,
            "GameConstants.Build.MAX_ON_SCREEN_PLAYERS_PC": 30,
            "GameConstants.Build.MAX_ON_SCREEN_PLAYERS_MOBILE": 20,
            "GameConstants.Build.MAX_ON_SCREEN_FPS_LIMITED": 5,
            "GameConstants.Build.MIN_ON_SCREEN_PLAYERS": 5,
            "GameConstants.Build.ENABLE_LOADING_METRICS": !0,
            "GameConstants.Build.ENABLE_ADVANCED_METRICS": !0,
            "GameConstants.Build.AUTOMATION": !1,
            "GameConstants.Tower.MAX_FREE_MEMBER_FLOOR": 5,
            "GameConstants.Debug.AUTOSAVE_ENABLED": !0,
            "GameConstants.Debug.POPUPS_ENABLED": !0,
            "GameConstants.Debug.PLAYER_CARDS_ENABLED": !0,
            "GameConstants.Debug.ENABLE_MAP": !1,
            "GameConstants.Debug.AUTO_LOGIN": [],
            "GameConstants.Debug.GET_PET": [],
            "GameConstants.Debug.SET_LEVEL": 0,
            "GameConstants.Debug.DISABLE_ACHIEVEMENTS": !1,
            "GameConstants.Debug.GET_GOLD": 0,
            "GameConstants.Debug.GET_SPELL": 0,
            "GameConstants.Debug.COMPLETE_TUTORIAL": !1,
            "GameConstants.Debug.FORCE_DROPS": [],
            "GameConstants.Debug.SCALE_ENCOUNTER_DISTANCE": 1,
            "GameConstants.Debug.MONSTER_RESPAWN_TIME": 120,
            "GameConstants.Debug.WIZARDS_ENABLED": !0,
            "GameConstants.Debug.AUTO_RESOLVE_BATTLES_ENABLED": !1,
            "GameConstants.Debug.GAME_SPEED": 1,
            "GameConstants.Debug.FAST_GAME_SPEED": 0,
            "GameConstants.Debug.FSM_LOGGING": !1,
            "GameConstants.Debug.DEBUG_LOCALIZATION": !1,
            "GameConstants.Debug.VERBOSE_LOCALIZATION": !1,
            "GameConstants.Debug.AUTO_RESOLVE_TOWER_BATTLES_ENABLED": !1,
            "GameConstants.Debug.EDUCATION_ENABLED": !0,
            "GameConstants.Debug.EDUCATION_LOGGING_ENABLED": !1,
            "GameConstants.Debug.AUTO_ANSWER_CORRECT_PERCENT": 1,
            "GameConstants.Debug.UNLIMITED_WHEEL_SPINS": !1,
            "GameConstants.Debug.SKIP_MEMBERSHIP_WEBSITE": !1,
            "GameConstants.Debug.GIVES_MEMBERSHIP_AFTER_SKIP_WEBSITE": !1,
            "GameConstants.Debug.MONSTER_RADIUS_VISIBLE": !1,
            "GameConstants.Debug.CLOSE_BATTLE_RESULTS_SCREEN": !1,
            "GameConstants.Debug.ADD_FAKE_PLAYERS_TO_SCREEN": 0,
            "GameConstants.Debug.OVERRIDE_FPS": 0,
            "GameConstants.Debug.WINNER_EVERY_TIME": !1,
            "GameConstants.Debug.DEBUG_TEST_SCREEN": !1,
            "GameConstants.Debug.NEXT_SKILL_ID": void 0,
            "GameConstants.Debug.PA_COOLDOWN_EXPIRED": void 0,
            "GameConstants.Debug.DEPRECATED_IOS": !1,
            "GameConstants.Debug.SCHOOL_START_HOUR": 8,
            "GameConstants.Debug.SCHOOL_END_HOUR": 16,
            "GameConstants.Mailer.TEST_MAIL": !1,
            "GameConstants.FriendsList.TEST_FRIENDS_LIST": !1,
            "GameConstants.Features.ENABLE_HOUSE_MOVING": !0,
            "GameConstants.Features.Wheel.COOLDOWN": 5,
            "GameConstants.Features.Wheel.DEFAULT_SPINS": 1,
            "GameConstants.Features.Wheel.MEMBER_SPINS": 2,
            "GameConstants.Features.Wheel.SPIN_TIME": 15e3,
            "GameConstants.Features.SplitTests.PLAY_AT_HOME": !0,
            "GameConstants.Features.SplitTests.CHARACTER_CREATION_TIME": 0,
            "GameConstants.Features.LevelLock.ACADEMY": 15,
            "GameConstants.Features.TrialMembership.PARENT_ATTACH_TIMEOUT": 864e5,
            "GameConstants.Features.DailyQuestions.NOTIFICATION_TIMEOUT": 9e5,
            "GameConstants.Features.ENABLE_MONSTER_SPAWNING": !0,
            "GameConstants.Battle.VALID_PARENT_EMAIL_STARS_PERCENTAGE": .05,
            "GameConstants.Battle.MEMBER_STARS_PERCENTAGE": .5,
            "GameConstants.Battle.STARS_EARNED_PER_OPPONENT": 10,
            "GameConstants.Battle.MAX_NUM_PETS": 1,
            "GameConstants.Battle.ATTACK_DAMAGE_OVERRIDE": null,
            "GameConstants.Battle.ESCAPE_CHANCE": .75,
            "GameConstants.Battle.CATCH_COST": 50,
            "GameConstants.Battle.CATCH_COST_GOLD": 500,
            "GameConstants.Battle.ALWAYS_SWITCH": !1,
            "GameConstants.Battle.FORCE_CAST": -1,
            "GameConstants.Battle.FORCE_OPPONENT_CAST": -1,
            "GameConstants.Battle.ENEMY_ACCURACY_OVERRIDE": -1,
            "GameConstants.Battle.SET_BENCH": null,
            "GameConstants.Battle.AUTOMATION_ACTIONS": Object({}),
            "GameConstants.Battle.AUTO_ATTACK_ENABLED": !1,
            "GameConstants.Battle.AUTO_ATTACK_PAUSE": !1,
            "GameConstants.Battle.SKIP_ENEMY_TURN": !1,
            "GameConstants.Battle.SKIP_PLAYER_TURN": !1,
            "GameConstants.Battle.HIDE_TEMP_HEALTHBAR": !1,
            "GameConstants.Mira.MAX_HP": 1e5,
            "GameConstants.Mira.DIFFICULTY": 10,
            "GameConstants.Grandoff.MAX_HP": 12e3,
            "GameConstants.Grandoff.DIFFICULTY": 3,
            "GameConstants.Pippet.MAX_HP": null,
            "GameConstants.Pippet.DIFFICULTY": 3,
            "GameConstants.Cebollini.MAX_HP": null,
            "GameConstants.Cebollini.DIFFICULTY": 3,
            "GameConstants.ShadowGerald.MAX_HP": null,
            "GameConstants.ShadowGerald.DIFFICULTY": 7,
            "GameConstants.Gerald.MAX_HP": null,
            "GameConstants.Gerald.DIFFICULTY": 4,
            "GameConstants.OldOne.MAX_HP": null,
            "GameConstants.OldOne.DIFFICULTY": 4,
            "GameConstants.IceWyrm1.MAX_HP": null,
            "GameConstants.IceWyrm1.DIFFICULTY": 3,
            "GameConstants.IceWyrm2.MAX_HP": null,
            "GameConstants.IceWyrm2.DIFFICULTY": 4,
            "GameConstants.FrostyStorm.MAX_HP": null,
            "GameConstants.FrostyStorm.DIFFICULTY": 3,
            "GameConstants.StormyStorm.MAX_HP": null,
            "GameConstants.StormyStorm.DIFFICULTY": 4,
            "GameConstants.RainyStorm.MAX_HP": null,
            "GameConstants.RainyStorm.DIFFICULTY": 3,
            "GameConstants.SandyStorm.MAX_HP": null,
            "GameConstants.SandyStorm.DIFFICULTY": 3,
            "GameConstants.Inactivity.DIALOG_TIMER_SECONDS": 1500,
            "GameConstants.Inactivity.LOG_OUT_TIMER_SECONDS": 300,
            "GameConstants.Inactivity.CANNOT_CONNECT_TIMER_SECONDS": 120,
            "GameConstants.Inactivity.NETWORK_BOOT_TIMER_SECONDS": 6e4,
            "GameConstants.Audio.DEFAULT_SOUND_VOLUME": .9,
            "GameConstants.Audio.DEFAULT_MUSIC_VOLUME": .3,
            "GameConstants.Audio.DEFAULT_VOICE_VOLUME": 1,
            "GameConstants.LocationSelection.NONE": "none",
            "GameConstants.LocationSelection.HOME": "home",
            "GameConstants.LocationSelection.SCHOOL": "school",
            "GameConstants.PVP.INVITE_TIMEOUT": 6e4,
            "GameConstants.PVP.OVERRIDE_USER_RANK": null,
            "GameConstants.PVP.OVERRIDE_USER_POINTS": null,
            "GameConstants.PVP.OVERRIDE_USER_LEADERBOARD": null,
            "GameConstants.PVP.BOT_TEAM": null,
            "GameConstants.PVP.TIMER_ENABLED": !0,
            "GameConstants.PVP.STARS_PER_QUESTION": 2,
            "GameConstants.TITAN.HP_MULTIPLIER": 1.5,
            "GameConstants.CO_OP_TITAN.TITAN_HP": 10,
            "GameConstants.CO_OP_TITAN.CRYSTAL_HP": 5,
            "GameConstants.CO_OP_TITAN.ATTACK_FREQUENCY": 2,
            "GameConstants.CO_OP_TITAN.TITAN_DIFFICULTY": 5,
            "GameConstants.CO_OP_TITAN.TITAN_BOUNTY": 10,
            "GameConstants.CO_OP_TITAN.HOST_HEARTBEAT_TIME": 5e3,
            "GameConstants.CO_OP_TITAN.CLIENT_HEARTBEAT_TIMEOUT": 2e4,
            "GameConstants.DailyQuestions.OVERRIDE_LAST_LOGIN": -1,
            "GameConstants.DailyQuestions.OVERRIDE_DATE_TODAY": -1,
            "GameConstants.MorphMarbles.MORPH_DURATION_OVERRIDE": null
        }),
PatheticMustan commented 4 years ago

Now the question is, how do we access this object?

PatheticMustan commented 4 years ago

Notable:

"GameConstants.Build.EASY_MODE": !1,
"GameConstants.Debug.EDUCATION_ENABLED": !0,
"GameConstants.Debug.AUTO_ANSWER_CORRECT_PERCENT": 1,
"GameConstants.Debug.MONSTER_RADIUS_VISIBLE": !1,
"GameConstants.Battle.ESCAPE_CHANCE": .75

Explanation of these

Easy Mode & Education Enabled - Basically, you hit 100% of your attacks, and you get to skip the questions. Monster Radius Visible - The radius that monsters can spot you. If we set this to 0, we can walk right past monsters. In the past, this was insanely overpowered. Escape Chance - A little obvious, your chance of escaping.

PatheticMustan commented 4 years ago

Since Prodigy loads in it's script before anything else, maybe we can have an extension edit the script before it's loaded, set it to our own values, then load it in???

ArcerionDev commented 4 years ago

Tampermonkey may possibly work w/ that...

ArcerionDev commented 4 years ago

image Hmmm... This was one of the first things I saw on the console today...

ArcerionDev commented 4 years ago

Notice the gameConstants.

ArcerionDev commented 4 years ago

So how did you find the gameConstants things without actually accessing them?

PatheticMustan commented 4 years ago

I found it in toString of the various functions. The functions couldn't access them when I ran it in dev tools, so it must have been accessible to the functions while the game was loading... I think? Most of those functions are only for dev testing, the only reason we're able to have any of the hacks we do is because of no anti-cheat, and developers who left the testing functions inside production...

ArcerionDev commented 4 years ago

Ok, so we could attempt to use Tampermonkey or similar to automatically access these functions?

On Fri, Feb 21, 2020, 11:40 PM Mustan Pathetic notifications@github.com wrote:

I found it in toString of the various functions. The functions couldn't access them when I ran it in dev tools, so it must have been accessible to the functions while the game was loading... I think? Most of those functions are only for dev testing, the only reason we're able to have any of the hacks we do is because of no anti-cheat, and developers who left the testing functions inside production...

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/PatheticMustan/ProdigyMathGameHacking/issues/7?email_source=notifications&email_token=AOQ7MLDJW5NOPVLF4J645TTRECUDNA5CNFSM4KVK6AP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMUW5FQ#issuecomment-589917846, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQ7MLA4TL2IX2NPCZOFNETRECUDNANCNFSM4KVK6APQ .

PatheticMustan commented 4 years ago

In theory, yes...... It depends on how they load the scripts and stuff. I tried setting a breakpoint in the minified file, but it crashed Chrome. 😨

ArcerionDev commented 4 years ago

Ok, should we attempt messing with it further?

On Sat, Feb 22, 2020, 8:49 PM Mustan Pathetic notifications@github.com wrote:

In theory, yes...... It depends on how they load the scripts and stuff. I tried setting a breakpoint in the minified file, but it crashed Chrome. 😨

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/PatheticMustan/ProdigyMathGameHacking/issues/7?email_source=notifications&email_token=AOQ7MLH2QOAQI3FUCAIVRL3REHI3RA5CNFSM4KVK6AP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMVPGYY#issuecomment-590017379, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQ7MLEVE3ODRE3Y4DPHHETREHI3RANCNFSM4KVK6APQ .

PatheticMustan commented 4 years ago

Definitely. Absolutely worth it. :>

ArcerionDev commented 4 years ago

👍

On Sat, Feb 22, 2020, 9:35 PM Mustan Pathetic notifications@github.com wrote:

Definitely. Absolutely worth it. :>

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/PatheticMustan/ProdigyMathGameHacking/issues/7?email_source=notifications&email_token=AOQ7MLCGNSIBTKZM25YPKXLREHOIZA5CNFSM4KVK6AP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMVPZ4Y#issuecomment-590019827, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQ7MLCXHJE36BKWMKBN5FTREHOIZANCNFSM4KVK6APQ .

ArcerionDev commented 4 years ago

So which script are you making a breakpoint of?

On Sun, Feb 23, 2020, 8:14 PM Aleksander Nauman < aleksander.nauman@gorhamschools.org> wrote:

👍

On Sat, Feb 22, 2020, 9:35 PM Mustan Pathetic notifications@github.com wrote:

Definitely. Absolutely worth it. :>

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/PatheticMustan/ProdigyMathGameHacking/issues/7?email_source=notifications&email_token=AOQ7MLCGNSIBTKZM25YPKXLREHOIZA5CNFSM4KVK6AP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMVPZ4Y#issuecomment-590019827, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQ7MLCXHJE36BKWMKBN5FTREHOIZANCNFSM4KVK6APQ .

PatheticMustan commented 4 years ago

game.min.js I'm not really experienced using tampermonkey, or anything. I've never really used it :P

ArcerionDev commented 4 years ago

That's fine, neither am I.

ArcerionDev commented 4 years ago

So I'm not really following what you are trying to do here. I understand you are trying to prettify the code (game.min.js), but that code isn't really valid. Is there something I'm missing here?

ArcerionDev commented 4 years ago

Wait, I think I found something! I put this into the console:

PIXI.game.prodigy.gameConstants = Object({
            "GameConstants.Build.VERSION": "2-95-0",
            "GameConstants.Build.DEBUG": !1,
            "GameConstants.Build.SHOW_FPS": !1,
            "GameConstants.Build.SHOW_DEBUG_VALUES": [],
            "GameConstants.Build.MUTE_BGM": !1,
            "GameConstants.Build.FRAMEWORK_LOG_LEVEL": 2,
            "GameConstants.Build.ASSETS_LOCATION": "https://cdn.prodigygame.com/game/assets/",
            "GameConstants.Build.TELEPORT": "",
            "GameConstants.Build.QUEST": [],
            "GameConstants.Build.ITEM_TYPE": [],
            "GameConstants.Build.KILL_GORE": !1,
            "GameConstants.Build.EASY_MODE": !1,
            "GameConstants.Build.MEMBERSHIP": !1,
            "GameConstants.Build.SCALE_MODE": 0,
            "GameConstants.Build.ADD_PLAYER_FPS_THRESHOLD_LIMIT": 20,
            "GameConstants.Build.ADD_PLAYER_FPS_THRESHOLD_RENABLE": 25,
            "GameConstants.Build.MAX_ON_SCREEN_PLAYERS_PC": 30,
            "GameConstants.Build.MAX_ON_SCREEN_PLAYERS_MOBILE": 20,
            "GameConstants.Build.MAX_ON_SCREEN_FPS_LIMITED": 5,
            "GameConstants.Build.MIN_ON_SCREEN_PLAYERS": 5,
            "GameConstants.Build.ENABLE_LOADING_METRICS": !0,
            "GameConstants.Build.ENABLE_ADVANCED_METRICS": !0,
            "GameConstants.Build.AUTOMATION": !1,
            "GameConstants.Tower.MAX_FREE_MEMBER_FLOOR": 5,
            "GameConstants.Debug.AUTOSAVE_ENABLED": !0,
            "GameConstants.Debug.POPUPS_ENABLED": !0,
            "GameConstants.Debug.PLAYER_CARDS_ENABLED": !0,
            "GameConstants.Debug.ENABLE_MAP": !1,
            "GameConstants.Debug.AUTO_LOGIN": [],
            "GameConstants.Debug.GET_PET": [],
            "GameConstants.Debug.SET_LEVEL": 0,
            "GameConstants.Debug.DISABLE_ACHIEVEMENTS": !1,
            "GameConstants.Debug.GET_GOLD": 0,
            "GameConstants.Debug.GET_SPELL": 0,
            "GameConstants.Debug.COMPLETE_TUTORIAL": !1,
            "GameConstants.Debug.FORCE_DROPS": [],
            "GameConstants.Debug.SCALE_ENCOUNTER_DISTANCE": 1,
            "GameConstants.Debug.MONSTER_RESPAWN_TIME": 120,
            "GameConstants.Debug.WIZARDS_ENABLED": !0,
            "GameConstants.Debug.AUTO_RESOLVE_BATTLES_ENABLED": !1,
            "GameConstants.Debug.GAME_SPEED": 1,
            "GameConstants.Debug.FAST_GAME_SPEED": 0,
            "GameConstants.Debug.FSM_LOGGING": !1,
            "GameConstants.Debug.DEBUG_LOCALIZATION": !1,
            "GameConstants.Debug.VERBOSE_LOCALIZATION": !1,
            "GameConstants.Debug.AUTO_RESOLVE_TOWER_BATTLES_ENABLED": !1,
            "GameConstants.Debug.EDUCATION_ENABLED": !0,
            "GameConstants.Debug.EDUCATION_LOGGING_ENABLED": !1,
            "GameConstants.Debug.AUTO_ANSWER_CORRECT_PERCENT": 1,
            "GameConstants.Debug.UNLIMITED_WHEEL_SPINS": !1,
            "GameConstants.Debug.SKIP_MEMBERSHIP_WEBSITE": !1,
            "GameConstants.Debug.GIVES_MEMBERSHIP_AFTER_SKIP_WEBSITE": !1,
            "GameConstants.Debug.MONSTER_RADIUS_VISIBLE": !1,
            "GameConstants.Debug.CLOSE_BATTLE_RESULTS_SCREEN": !1,
            "GameConstants.Debug.ADD_FAKE_PLAYERS_TO_SCREEN": 0,
            "GameConstants.Debug.OVERRIDE_FPS": 0,
            "GameConstants.Debug.WINNER_EVERY_TIME": !1,
            "GameConstants.Debug.DEBUG_TEST_SCREEN": !1,
            "GameConstants.Debug.NEXT_SKILL_ID": void 0,
            "GameConstants.Debug.PA_COOLDOWN_EXPIRED": void 0,
            "GameConstants.Debug.DEPRECATED_IOS": !1,
            "GameConstants.Debug.SCHOOL_START_HOUR": 8,
            "GameConstants.Debug.SCHOOL_END_HOUR": 16,
            "GameConstants.Mailer.TEST_MAIL": !1,
            "GameConstants.FriendsList.TEST_FRIENDS_LIST": !1,
            "GameConstants.Features.ENABLE_HOUSE_MOVING": !0,
            "GameConstants.Features.Wheel.COOLDOWN": 5,
            "GameConstants.Features.Wheel.DEFAULT_SPINS": 1,
            "GameConstants.Features.Wheel.MEMBER_SPINS": 2,
            "GameConstants.Features.Wheel.SPIN_TIME": 15e3,
            "GameConstants.Features.SplitTests.PLAY_AT_HOME": !0,
            "GameConstants.Features.SplitTests.CHARACTER_CREATION_TIME": 0,
            "GameConstants.Features.LevelLock.ACADEMY": 15,
            "GameConstants.Features.TrialMembership.PARENT_ATTACH_TIMEOUT": 864e5,
            "GameConstants.Features.DailyQuestions.NOTIFICATION_TIMEOUT": 9e5,
            "GameConstants.Features.ENABLE_MONSTER_SPAWNING": !0,
            "GameConstants.Battle.VALID_PARENT_EMAIL_STARS_PERCENTAGE": .05,
            "GameConstants.Battle.MEMBER_STARS_PERCENTAGE": .5,
            "GameConstants.Battle.STARS_EARNED_PER_OPPONENT": 10,
            "GameConstants.Battle.MAX_NUM_PETS": 1,
            "GameConstants.Battle.ATTACK_DAMAGE_OVERRIDE": null,
            "GameConstants.Battle.ESCAPE_CHANCE": .75,
            "GameConstants.Battle.CATCH_COST": 50,
            "GameConstants.Battle.CATCH_COST_GOLD": 500,
            "GameConstants.Battle.ALWAYS_SWITCH": !1,
            "GameConstants.Battle.FORCE_CAST": -1,
            "GameConstants.Battle.FORCE_OPPONENT_CAST": -1,
            "GameConstants.Battle.ENEMY_ACCURACY_OVERRIDE": -1,
            "GameConstants.Battle.SET_BENCH": null,
            "GameConstants.Battle.AUTOMATION_ACTIONS": Object({}),
            "GameConstants.Battle.AUTO_ATTACK_ENABLED": !1,
            "GameConstants.Battle.AUTO_ATTACK_PAUSE": !1,
            "GameConstants.Battle.SKIP_ENEMY_TURN": !1,
            "GameConstants.Battle.SKIP_PLAYER_TURN": !1,
            "GameConstants.Battle.HIDE_TEMP_HEALTHBAR": !1,
            "GameConstants.Mira.MAX_HP": 1e5,
            "GameConstants.Mira.DIFFICULTY": 10,
            "GameConstants.Grandoff.MAX_HP": 12e3,
            "GameConstants.Grandoff.DIFFICULTY": 3,
            "GameConstants.Pippet.MAX_HP": null,
            "GameConstants.Pippet.DIFFICULTY": 3,
            "GameConstants.Cebollini.MAX_HP": null,
            "GameConstants.Cebollini.DIFFICULTY": 3,
            "GameConstants.ShadowGerald.MAX_HP": null,
            "GameConstants.ShadowGerald.DIFFICULTY": 7,
            "GameConstants.Gerald.MAX_HP": null,
            "GameConstants.Gerald.DIFFICULTY": 4,
            "GameConstants.OldOne.MAX_HP": null,
            "GameConstants.OldOne.DIFFICULTY": 4,
            "GameConstants.IceWyrm1.MAX_HP": null,
            "GameConstants.IceWyrm1.DIFFICULTY": 3,
            "GameConstants.IceWyrm2.MAX_HP": null,
            "GameConstants.IceWyrm2.DIFFICULTY": 4,
            "GameConstants.FrostyStorm.MAX_HP": null,
            "GameConstants.FrostyStorm.DIFFICULTY": 3,
            "GameConstants.StormyStorm.MAX_HP": null,
            "GameConstants.StormyStorm.DIFFICULTY": 4,
            "GameConstants.RainyStorm.MAX_HP": null,
            "GameConstants.RainyStorm.DIFFICULTY": 3,
            "GameConstants.SandyStorm.MAX_HP": null,
            "GameConstants.SandyStorm.DIFFICULTY": 3,
            "GameConstants.Inactivity.DIALOG_TIMER_SECONDS": 1500,
            "GameConstants.Inactivity.LOG_OUT_TIMER_SECONDS": 300,
            "GameConstants.Inactivity.CANNOT_CONNECT_TIMER_SECONDS": 120,
            "GameConstants.Inactivity.NETWORK_BOOT_TIMER_SECONDS": 6e4,
            "GameConstants.Audio.DEFAULT_SOUND_VOLUME": .9,
            "GameConstants.Audio.DEFAULT_MUSIC_VOLUME": .3,
            "GameConstants.Audio.DEFAULT_VOICE_VOLUME": 1,
            "GameConstants.LocationSelection.NONE": "none",
            "GameConstants.LocationSelection.HOME": "home",
            "GameConstants.LocationSelection.SCHOOL": "school",
            "GameConstants.PVP.INVITE_TIMEOUT": 6e4,
            "GameConstants.PVP.OVERRIDE_USER_RANK": null,
            "GameConstants.PVP.OVERRIDE_USER_POINTS": null,
            "GameConstants.PVP.OVERRIDE_USER_LEADERBOARD": null,
            "GameConstants.PVP.BOT_TEAM": null,
            "GameConstants.PVP.TIMER_ENABLED": !0,
            "GameConstants.PVP.STARS_PER_QUESTION": 2,
            "GameConstants.TITAN.HP_MULTIPLIER": 1.5,
            "GameConstants.CO_OP_TITAN.TITAN_HP": 10,
            "GameConstants.CO_OP_TITAN.CRYSTAL_HP": 5,
            "GameConstants.CO_OP_TITAN.ATTACK_FREQUENCY": 2,
            "GameConstants.CO_OP_TITAN.TITAN_DIFFICULTY": 5,
            "GameConstants.CO_OP_TITAN.TITAN_BOUNTY": 10,
            "GameConstants.CO_OP_TITAN.HOST_HEARTBEAT_TIME": 5e3,
            "GameConstants.CO_OP_TITAN.CLIENT_HEARTBEAT_TIMEOUT": 2e4,
            "GameConstants.DailyQuestions.OVERRIDE_LAST_LOGIN": -1,
            "GameConstants.DailyQuestions.OVERRIDE_DATE_TODAY": -1,
            "GameConstants.MorphMarbles.MORPH_DURATION_OVERRIDE": null
        })

And then I got this: Screenshot 2020-02-24 at 1 13 04 PM and Screenshot 2020-02-24 at 1 12 47 PM and Screenshot 2020-02-24 at 1 12 36 PM and a few more stats. But the most significant thing I think is this: image So I might be wrong, but I think I may have found something of use.

LaneLunsford commented 4 years ago

No clue what any of that means but good job figuring this stuff out guys, your a pretty good team.

ArcerionDev commented 4 years ago

It's ok, it's just nerd stuff :)

On Mon, Feb 24, 2020 at 4:29 PM LaneLunsford notifications@github.com wrote:

No clue what any of that means but good job figuring this stuff out guys, your a pretty good team.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/PatheticMustan/ProdigyMathGameHacking/issues/7?email_source=notifications&email_token=AOQ7MLED6G47SRZN7RBB7CLREQ35DA5CNFSM4KVK6AP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMZTHRA#issuecomment-590558148, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQ7MLHTBSJTT3MWYYXVJPDREQ35DANCNFSM4KVK6APQ .

LaneLunsford commented 4 years ago

what is the best way to learn to code? I've always wanted to

ArcerionDev commented 4 years ago

Make a free account on codecademy.com, upgrade to pro if you have enough money, and try and find courses at like, your school or college, or pursue a career if you're out of school.

On Mon, Feb 24, 2020 at 4:40 PM LaneLunsford notifications@github.com wrote:

what is the best way to learn to code? I've always wanted to

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/PatheticMustan/ProdigyMathGameHacking/issues/7?email_source=notifications&email_token=AOQ7MLFA4THKJD7RUUTPAVTREQ5FDA5CNFSM4KVK6AP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMZUJCQ#issuecomment-590562442, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQ7MLB222DX5DRLWBKNXMLREQ5FDANCNFSM4KVK6APQ .

LaneLunsford commented 4 years ago

ok, thanks.!

Titanium-Encryption commented 4 years ago

if only we could access GameConstants... mairacles would happen in this repo

ArcerionDev commented 4 years ago

We think we may have hit a breakthrough...(?)

On Mon, Feb 24, 2020 at 8:38 PM Titanium-Encryption < notifications@github.com> wrote:

if only we could access GameConstants... mairacles would happen in this repo

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/PatheticMustan/ProdigyMathGameHacking/issues/7?email_source=notifications&email_token=AOQ7MLBXZAKCN3HRVNNKL43RERZCVA5CNFSM4KVK6AP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM2GQRQ#issuecomment-590637126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQ7MLC6ZNFDRWLNKRMPCXDRERZCVANCNFSM4KVK6APQ .

Titanium-Encryption commented 4 years ago

IDK

Titanium-Encryption commented 4 years ago

I got custom messages

PatheticMustan commented 4 years ago

@LaneLunsford, I highly suggest learning from javascript.info. It's a really good site to learn Javascript, and they simplify a lot of the hard concepts.

ArcerionDev commented 4 years ago

So this function PIXI.game.prodigy.network.open accesses a function as you open the page. Maybe we can use this function to alter the gameConstants function before it's returned to null?

LaneLunsford commented 4 years ago

you'll have to use tampermonkey for that though wouldn't you

PatheticMustan commented 4 years ago

Still would totally be worth it 🤔

ArcerionDev commented 4 years ago

Yeah

On Fri, Feb 28, 2020 at 11:13 PM Mustan Pathetic notifications@github.com wrote:

Still would totally be worth it 🤔

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/PatheticMustan/ProdigyMathGameHacking/issues/7?email_source=notifications&email_token=AOQ7MLAUJNHZ3Z6C6ELDGZ3RFHOHNA5CNFSM4KVK6AP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENLE67A#issuecomment-592859004, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQ7MLHW5P72W6ADZK4GGELRFHOHNANCNFSM4KVK6APQ .

Exoticc commented 4 years ago

What is tampermonkey

ArcerionDev commented 4 years ago

It's an extension that can quickly imploy scripts

On Thu, Mar 5, 2020 at 12:44 PM Magmischief notifications@github.com wrote:

What is tampermonkey

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/PatheticMustan/ProdigyMathGameHacking/issues/7?email_source=notifications&email_token=AOQ7MLEY3GRYWGNJ7JA26HLRF7QIRA5CNFSM4KVK6AP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEN6HDLQ#issuecomment-595358126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOQ7MLEQ5HHTT7CSMK4D4V3RF7QIRANCNFSM4KVK6APQ .

Exoticc commented 4 years ago

Oh cool

ghost commented 4 years ago

I think I found something in https://code.prodigygame.com/code/2-96-1/game.min.js?v=2-96-1 if you search through it for gameConstants then you can find: image it goes on and on but I don't know how to edit or access it in any way

PatheticMustan commented 4 years ago

Quote from myself:

PatheticMustan commented 25 days ago ..... That's the problem.

It's not globally available, only certain objects/functions can access it. So we need to figure out how to access g in the context of those thingys.

ghost commented 4 years ago

Okay

ghost commented 4 years ago

What is tampermonkey

TamperMonkey is a Google Chrome (and Opera and Chromium) plugin similar to GreaseMonkey for Firefox. It allows you to inject additional JavaScript into web pages you load in your browser, adding features, removing features, or in our case doing hacky, automated things.