Cheat Mod Ren'Py Pokemon Academy Life Forever Cheat Injector [v1.47] [Sleepingkirby]

5.00 star(s) 1 Vote

sleepingkirby

Well-Known Member
Aug 8, 2017
1,106
1,712
Bro, take a break. I think everyone here would be more than fine with you taking some time off to spend time with your wife.
Thank you. But I meant wrote to set expectations. It's good practice (and almost a reflex) for any programmer. Plus, I don't want people to think I got hit by a bus or something if I just disappear.
 
  • Like
Reactions: IAmHere!!!

sleepingkirby

Well-Known Member
Aug 8, 2017
1,106
1,712
Thank you. But I meant wrote to set expectations. It's good practice (and almost a reflex) for any programmer. Plus, I don't want people to think I got hit by a bus or something if I just disappear.
Would it be possible to increase Pikachu's Liberation Limit? It allows him to learn new moves and it increases after every trainer battle.
View attachment 4847009
So, the other night, my wife was like "Go home. Rest." But nothing kills the motivation to rest like missing your wife. So I updated the cheat. Not enough energy yet to update the thread, but also would appreciate it if someone did a full test:
Windows:
Linux:

Just click on the number (the 335/342 in the screenshot) and it should increase the max liberation limit.

Thank you.
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,106
1,712
Thank you for your patience everyone. My wife is better. Injector has been updated to version 1.46. Fixed an issue with how some of the stats was modified in the cheat. Also liberation limit can now be increased.
 

SuperiorLaw

Newbie
Jan 2, 2019
25
35
Is it possible to add some way to cheat at the coordinating contest thing? Cause god damn I barely know wtf i'm doing, but I really don't want to lose :c
 
Last edited:

sleepingkirby

Well-Known Member
Aug 8, 2017
1,106
1,712
Is it possible to add some way to cheat at the coordinating contest thing? Cause god damn I barely know wtf i'm doing, but I really don't want to lose :c
I actually looked into this. It's not easy but its possible. I had asked for some feedback about how to implement it but got no reply so I didn't put it in. If you have an idea/opinion, feel free to contribute.
 

SuperiorLaw

Newbie
Jan 2, 2019
25
35
I actually looked into this. It's not easy but its possible. I had asked for some feedback about how to implement it but got no reply so I didn't put it in. If you have an idea/opinion, feel free to contribute.
I dunno how it works, but if you could increase the Coordinating Knowledge, that might be the easiest way? Since that presumably gives us points in the contests themselves, so if we can powerlevel it, then the contest itself would more or less be won regardless of what we do?
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,106
1,712
I dunno how it works, but if you could increase the Coordinating Knowledge, that might be the easiest way? Since that presumably gives us points in the contests themselves, so if we can powerlevel it, then the contest itself would more or less be won regardless of what we do?
Oh, I actually answered that here. (I didn't remember until now). Long story short, I don't think coordinating knowledge helps you win.
 

SuperiorLaw

Newbie
Jan 2, 2019
25
35
Oh, I actually answered that here. (I didn't remember until now). Long story short, I don't think coordinating knowledge helps you win.
I checked with the discord, apparently it does help you win. It's just not worth getting it super high (Which is where cheats/mods come into play ;D)
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,106
1,712
I checked with the discord, apparently it does help you win. It's just not worth getting it super high (Which is where cheats/mods come into play ;D)
How? When I looked into the code, I didn't see a place where coordinating knowledge affects the score.

I just search through the entire code base:
Code:
sleepingkirby@AnimalKirby:~/Games/PokemonAcademyLifeForever-5.3.2025-linux/game$ findExecGrep -Hwin "*.rpy" "coordinatingknowledge"
./functions.rpy:189:        global coordinatingknowledge
./functions.rpy:200:            coordinatingknowledge += moodchangevalue
./functions.rpy:2134:default coordinatingknowledge = 0
./misc/pickelective.rpy:111:                $ coordinatingknowledge += 3
./screens.rpy:909:        text "Coordinating Knowledge: " + str(coordinatingknowledge) color "#FF69B4" outlines [ (absolute(10), "#000", absolute(0), absolute(0)) ] size 40 align (1.0, 1.0)
./scenes/2_May/010529Saturday/010529.rpy:260:    $ coordinatingknowledge += 50
./scenes/2_May/010529Saturday/010529.rpy:264:    $ coordinatingknowledge += coordinatorpointsup
./scenes/2_May/010529Saturday/010529.rpy:269:    $ coordinatingknowledge += coordinatorpointsup
./scenes/2_May/010529Saturday/010529.rpy:274:    $ coordinatingknowledge += coordinatorpointsup
./scenes/2_May/010529Saturday/010529.rpy:279:    $ coordinatingknowledge += coordinatorpointsup
./scenes/2_May/010529Saturday/010529.rpy:284:    $ coordinatingknowledge += coordinatorpointsup
./scenes/2_May/010529Saturday/010529.rpy:289:    $ coordinatingknowledge += coordinatorpointsup
./scenes/2_May/010529Saturday/010529.rpy:294:    $ coordinatingknowledge += coordinatorpointsup
./scenes/2_May/010529Saturday/010529.rpy:299:    $ coordinatingknowledge += coordinatorpointsup
./scenes/2_May/010529Saturday/010529.rpy:304:    $ coordinatingknowledge += coordinatorpointsup
./scenes/2_May/010529Saturday/010529.rpy:309:    $ coordinatingknowledge += coordinatorpointsup
./scenes/2_May/010531Monday/010531secondhomeroom.rpy:352:            Coordinator(first_name, condition=coordinatingknowledge, isprotag=True, contestsprite="")
./scenes/2_May/010531Monday/010531secondhomeroom.rpy:421:$ coordinatingknowledge += 10
./scenes/3_June/010602Wednesday/010602secondhomeroom.rpy:739:                                $ coordinatingknowledge += 20
./scenes/3_June/010602Wednesday/010602secondhomeroom.rpy:1048:        Coordinator(first_name, condition=coordinatingknowledge, isprotag=True, contestsprite="")
./scenes/3_June/010602Wednesday/010602secondhomeroom.rpy:1148:$ coordinatingknowledge += 30
sleepingkirby@AnimalKirby:~/Games/PokemonAcademyLifeForever-5.3.2025-linux/game$
These are the only times the variable "coordinatingknowledge" is referenced. They refer to are in a homeroom event but none of these lines are in the actual contest files here:
Code:
sleepingkirby@AnimalKirby:~/Games/PokemonAcademyLifeForever-5.3.2025-linux/game$ ls -la ./contests/*
-rw-r--r-- 1 sleepingkirby sleepingkirby  7303 May  4 09:55 ./contests/contestfunctions.rpy
-rw-r--r-- 1 sleepingkirby sleepingkirby  4452 May  4 10:26 ./contests/contestfunctions.rpyc
-rw-r--r-- 1 sleepingkirby sleepingkirby 19829 May  4 09:55 ./contests/contestscreens.rpy
-rw-r--r-- 1 sleepingkirby sleepingkirby 40798 May  4 10:26 ./contests/contestscreens.rpyc
-rw-r--r-- 1 sleepingkirby sleepingkirby 25231 May  4 09:55 ./contests/contests.rpy
-rw-r--r-- 1 sleepingkirby sleepingkirby 22488 Jan 19 13:05 ./contests/contests.rpy.bak
-rw-r--r-- 1 sleepingkirby sleepingkirby 27939 May  4 10:26 ./contests/contests.rpyc
-rw-r--r-- 1 sleepingkirby sleepingkirby 24020 May  4 09:55 ./contests/coordinator.rpy
-rw-r--r-- 1 sleepingkirby sleepingkirby 12784 May  4 10:26 ./contests/coordinator.rpyc
-rw-r--r-- 1 sleepingkirby sleepingkirby  3688 Mar  9 10:26 ./contests/judge.rpy
-rw-r--r-- 1 sleepingkirby sleepingkirby  2552 May  4 10:26 ./contests/judge.rpyc
So, unless you know the line of code where it does affect it, I'm pretty sure it doesn't.
 
Last edited:

SuperiorLaw

Newbie
Jan 2, 2019
25
35
Unfortunately I know nothing about the code or how to find out. According to the peeps in discord, apparently having more contest knowledge than who you're against gives 50 points for the first impression. Grouping up with someone (Yellow or Klara) gives you more Knowledge.
So it doesn't increase too much that it's a definite win, but it helps a little bit
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,106
1,712
Unfortunately I know nothing about the code or how to find out. According to the peeps in discord, apparently having more contest knowledge than who you're against gives 50 points for the first impression. Grouping up with someone (Yellow or Klara) gives you more Knowledge.
So it doesn't increase too much that it's a definite win, but it helps a little bit
I think you're talking about this:

Code:
python:
    for i in range(1, 11):
        Turn = i
        for coord in Coordinators:
            coord.CurrentPoints += coord.GetPointsOnTurn(i)
        renpy.pause(1)
So, according to this (since lists/arrays start at 0, not 1),it actually skips the initial condition factor when calculating the points. I don't mind turning that into a button but, I'm not sure if it really helps with the contest at this point. If I'm wrong, please correct me.
Which, again doesn't really help. So, instead of going on about something that kinda, sorta, maybe will help, why don't you pick from one of these options that will definitely help?
But let's say I find a way modify the points. Even if I do that, I'll still need to write a custom function to search through all the coordinators to find your character to modify those points.

I'd like to reiterate. I'm not saying this is impossible. I'm saying this is not easy. I'd have to inject a custom function in addition to a custom button, which can only be used after, at least, the first round. I've done this before, it's just not an easy thing.

Also, another way to help (not guarantee) you win, is a button to refill your energy. But you'd have to click that on every round to refill it.

So, those are my ideas for how to make this work.
  1. A button to make all the points in the previous rounds some large number
  2. A (separate) button to refill your energy for that round.
If that sounds good. Tell me so and I'll get started. If not, throw me some ideas and we'll discuss further.
At this point, it's kind of like, you have a genie and you're asking him to help with a foot race. And when he asks "Do you want to have better stamina or faster top speed?", you're going "...I heard if my shoes are tied tighter, that might help me win."

And, in case you're new here. I don't play this game. I know how the code works but I don't know the player experience short of testing out the features.

On top of all of that, I am a programmer. That is my day job. I'm doing this because people have been nice to me about it, but I won't waste time implementing a feature that will kind of, maybe, sort of work but won't do anything. Or worse, something that will take the game out of the game. I have side projects I could be doing. So please, think and carefully consider what you're asking for and what it means for your experience and enjoyment of the game. Because it's very easy for me to mod the game for you to click a button that makes a screen appears that says "You win". To make something that allows people to enjoy the same game in new and different ways is something that takes thought,heart and consideration.
 

SuperiorLaw

Newbie
Jan 2, 2019
25
35
Didn't mean to be annoying about it, also didn't see your previous ideas. Was just offering my thoughts from the game itself, I appreciate what you've done already and have no real idea of how annoying or complicated programming can be.

A seperate button to refill the energy for the round is probably the best option, if it's not too much trouble.
 
  • Like
Reactions: sleepingkirby

sleepingkirby

Well-Known Member
Aug 8, 2017
1,106
1,712
Didn't mean to be annoying about it, also didn't see your previous ideas. Was just offering my thoughts from the game itself, I appreciate what you've done already and have no real idea of how annoying or complicated programming can be.

A seperate button to refill the energy for the round is probably the best option, if it's not too much trouble.
No problem. As I wrote here:
We all start somewhere. As long as you're respectful and have modicum of actual thought and comprehension, I'm fine with more questions. (You'd be surprised how many times I'll get someone coming on to one of my cheat injector threads going. "It doesn't work. How do I fix it?" And refusing to provide any more information. I'm looking at one right now that's asking how to fix an out of memory issue. Like, that's not even the cheat injector's fault.)
Just know that a lot of programming, or rather, logical deductions that's at the core of programming, is about truth finding/determination. For someone to go "I heard this works." without or refusing to provide proof or documentation just sounds like, to us, someone hoping something is true. And, if it's not, they'll almost always blame us if it's not. I invite you to look at the people around you. I'm sure you'll see a few around you that's like that. But also, stuff like that is how racist/sexist/old wives tales/anti-vax/flat earth/conspiracy theories start. And every time someone does that and it goes uncheck, the world is worse for it. I'm not even exaggerating. The snake oil part of the snake oil salesman was a Chinese remedy that had preventative medicinal value in a very limited scope. But westerners saw it, misunderstood it, thought it was a miracle drug, and fraudulently sold it to the American culture.
The other thing I can tell you is, truth determination is often very complicated. Knowing if you have an apple if you're holding one is easy, but determine it for sure via an image can be near impossible (as it can be a picture of an apple, a fake apple, another fruit that happens to look like an apple, etc.)

With that said, I'll look into this tomorrow after work. The energy button should be pretty easy. Definitely the easier of the two options. If you have any more questions, feel free to ask. I just ask that a) You take time to think it through so you know what you're asking/what you're asking for (i.e. don't assume if you don't know, among other things). b) and if I provide you with information, please make sure to read through it. I don't write these responses flippantly. I make sure to provide as accurate and comprehensive an answer as I can not only to provide documentation, but so people can understand what is real and isn't. A good example is shiny pokemon in this game. At a glance, you'd think it's completely possible. But as I discovered here, the answer isn't as simple as it is or it is not possible
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,106
1,712
Didn't mean to be annoying about it, also didn't see your previous ideas. Was just offering my thoughts from the game itself, I appreciate what you've done already and have no real idea of how annoying or complicated programming can be.

A seperate button to refill the energy for the round is probably the best option, if it's not too much trouble.
Version updated to 1.47. In the "contest help" menu, there's now a text button that refills your contest energy. Please refer to OP screenshots if you don't know where this is.
 
  • Like
Reactions: SuperiorLaw
5.00 star(s) 1 Vote