Just tried this, almost there, it gives 999 points every time you order and edict, but it also locks your points, most likely because it goes over a limit.
And what's the problem of locking your edict points? Is it preventing you from acquiring edicts?
It's a hardcoded value of 999 edict points you get.
And the max carryover is addressed modifying the second function.
We are essentially avoiding limits, hence why you see 999 edict points.
If the second function wasn't modified, everytime you sleep you'd be limited to the max between your current edict points and the max carry over. Which I believe is 2 or 3 depending on what you chose as a beginning perk.
If it's breaking functionality elsewhere, lmk.
If not, you're essentially complaining that you always have 999 edict points
If warranted, I can pull everything out into easily setable functions and variables, that would allow you to bypass the normal edict calculations if you want to, and if you want to reset it back to normal you can just change one variable.
Edit:
Okay, I've actually tested this change and it'll allow you to set and learn skills that are available. And all you need to do is set a variable to true or false.
You'll have to modify two files listed here.
First file is
RemtairyEdicts.js copy and paste this section over the Edicts section or comment out the original section and paste mine above.
Code:
/////////////
// Edict Points
///////////////
/*
Complain to tetrayrok if things don't work
Usage:
set cheatEdict = true if you want to cheat and the points: to whatever you want to have for edict points
*/
Game_Actor.prototype.cheatEdict = {
cheat: true,
edictPoints: 50,
stsAsp: 50
};
Game_Actor.prototype.getStoredEdictPoints = function() {
if (Game_Actor.prototype.cheatEdict.cheat === true) return Game_Actor.prototype.cheatEdict.edictPoints;
return this._storedEdictPoints;
};
Game_Actor.prototype.resetEdictPoints = function() {
if (Game_Actor.prototype.cheatEdict.cheat === true) {
this._storedEdictPoints = Game_Actor.prototype.cheatEdict.edictPoints;
this.setAsp(Game_Actor.prototype.cheatEdict.edictPoints);
return;
}
this._storedEdictPoints = 0;
this.setAsp(0);
};
Game_Actor.prototype.getNewDayEdictPoints = function() {
if (Game_Actor.prototype.cheatEdict.cheat === true) {
this._storedEdictPoints = Game_Actor.prototype.cheatEdict.edictPoints;
// return Game_Actor.prototype.cheatEdict.edictPoints;
return;
}
let unusedPoints = Math.max(this._storedEdictPoints, this.stsAsp());
this.resetEdictPoints();
let points = 2;
if(Prison.easyMode()) points++;
else if(Prison.hardMode() && Prison.date % 2 === 0) points--;
if(this.hasEdict(EDICT_PARTIALLY_RESTORE_BUREAUCRACY)) {
if(this.hasEdict(EDICT_REDIRECT_SUBSIDIES)) {
if(Prison.date % 2 === 1)
points++;
}
else
points++;
}
let maxCarryover = 0;
maxCarryover += this.titleEfficientAdminstrator_carryoverUnusedEdictPoint();
if(this.hasEdict(EDICT_REPAIR_MEETING_ROOM)) maxCarryover += 1;
points += Math.min(maxCarryover, unusedPoints);
if($gameSwitches.value(SWITCH_POST_CAPTAIN_INTERMISSION_ID))
points = 0;
this._storedEdictPoints = points;
};
Game_Actor.prototype.transferEdictPointsToStorage = function() {
if (Game_Actor.prototype.cheatEdict.cheat === true) {
this._storedEdictPoints = Game_Actor.prototype.cheatEdict.edictPoints;
return;
}
if(this.stsAsp() > 0) {
this._storedEdictPoints = this.stsAsp();
this.setAsp(0);
}
};
Game_Actor.prototype.transferEdictPointsFromStorage = function() {
if (Game_Actor.prototype.cheatEdict.cheat === true) {
this._storedEdictPoints = Game_Actor.prototype.cheatEdict.edictPoints;
return;
}
if(this._storedEdictPoints > 0) {
this.getAsp(this._storedEdictPoints);
this._storedEdictPoints = 0;
}
};
Second. You need to modify this function in
FTKR_SkillTreeSystem.js
Why do we need to change this?
Because the skillTree system will deny your eligibility to learn edicts even though you have enough edict points based on _stsSp.
Code:
Game_Actor.prototype.stsAsp = function() {
if (Game_Actor.prototype.cheatEdict) { // complain to tetrayrok if it doesn't work
this._stsSp = Game_Actor.prototype.cheatEdict.stsAsp;
}
return this._stsSp || 0;
};
How do you use it?
Code:
Game_Actor.prototype.cheatEdict = {
cheat: true, <--- setting this to true will give you unlimited edicts to learn stuff because it's forever 50, barring you hasve the gold, setting it to false should revert behaviour to normal
edictPoints: 50,
stsAsp: 50
};
Turning off cheat to false should revert everything to normal usage. This way, if you want to revert to original behaviour it's easy to do.
I can probably refactor it to only make changes in RemtairyEdicts, because I noticed skillTree just assigns it's own local variable stsSp from RemtairyEdicts stsAsp but oh well, uh no one is paying me for this and if it works it works.
ENJOY.