Closed PatheticMustan closed 4 years ago
g.a.get("GameConstants.Build.DEBUG")
call and apply may be useful in this situation...
I will research that. Sounds like something you would find on debugMisc
...
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.
You don't have a computer for this?
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.
So where do you put the g.a.get("GameConstants.Build.DEBUG")
script?
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...
couldn't you make a script to find g
..... 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.
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
}),
Now the question is, how do we access this object?
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.
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???
Tampermonkey may possibly work w/ that...
Hmmm... This was one of the first things I saw on the console today...
Notice the gameConstants.
So how did you find the gameConstants things without actually accessing them?
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...
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 .
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. 😨
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 .
Definitely. Absolutely worth it. :>
👍
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 .
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 .
game.min.js I'm not really experienced using tampermonkey, or anything. I've never really used it :P
That's fine, neither am I.
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?
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: and and and a few more stats. But the most significant thing I think is this: So I might be wrong, but I think I may have found something of use.
No clue what any of that means but good job figuring this stuff out guys, your a pretty good team.
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 .
what is the best way to learn to code? I've always wanted to
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 .
ok, thanks.!
if only we could access GameConstants... mairacles would happen in this repo
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 .
IDK
I got custom messages
@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.
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?
you'll have to use tampermonkey for that though wouldn't you
Still would totally be worth it 🤔
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 .
What is tampermonkey
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 .
Oh cool
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: it goes on and on but I don't know how to edit or access it in any way
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.
Okay
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.
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.