Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LevelUpBaseLvlConfig #540

Merged
merged 7 commits into from
Oct 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion EngineHacks/Config.event
Original file line number Diff line number Diff line change
Expand Up @@ -362,12 +362,15 @@ MESSAGE Please see the README.md there or ask @Vesly for help.
//When leveling up, the game rerolls (up to 5 times) until you gain at least this many points
#define MIN_STAT_GAIN 1 // vanilla is 1

// If true, fixed/bracketed levels will consider your lowest level as the level inputted in the character table
#define BRACKETING_USE_BASE_LEVEL False

//If true, Fixed Growths mode will exist.
// Note: this takes promotion level into account, but does not take stat boosters into account
#define FIXED_GROWTHS_MODE False

//ID of flag to use for fixed growths mode, if enabled (also works if flag here is defined as 0)
#define FIXED_GROWTHS_FLAG_ID 0xEF
#define FIXED_GROWTHS_FLAG_ID 0xEF

//If true, Stat bracketing mode will exist. This keeps your stats within X points of the average.
// Note: this takes promotion level into account, but does not take stat boosters into account
Expand Down
52 changes: 31 additions & 21 deletions EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ u8 GetUnitPromotionLevel(struct Unit* unit) // https://github.com/FireEmblemUniv
int uid = unit->pCharacterData->number;
if (uid > 0x45) { return maxLevel; }
int result = *(gBWLDataStorage + 0x10 * (uid - 1) + 8); // repurpose bwl->moveAmt into bwl->promotionLvl
struct ClassData* table = &(*classTablePoin)[unit->pCharacterData->defaultClass];
if ((unit->pCharacterData->attributes & CA_PROMOTED) || (table->attributes & CA_PROMOTED)) { return 0; } // if the character started as promoted, they should have 0 as their promotion level
if (result < 10) { return 10; }

if (result > maxLevel) { return maxLevel; }
Expand All @@ -45,11 +47,13 @@ u8 NewPromoHandler_SetInitStat(struct ProcPromoHandler *proc) // repoint so we a
return 0;
}


extern int OldGetAverageStat(int growth, int levels);
int GetAverageStat(int growth, int stat, struct Unit* unit, int levels) { // unit required because bunit includes stats from temp boosters (eg. weapon provides +5 str) in their raw stats
int result = 0;
int baseStat = GetBaseStatFromDefinition(stat, unit);

result = ((growth * levels) / 100) + baseStat;

return result;

}
Expand Down Expand Up @@ -97,33 +101,44 @@ int GetMaxStatFromDefinition(int id, struct Unit* unit) { // only used to avoid
}

int GetNumberOfLevelUps(struct BattleUnit* bu) { // This doesn't really account for trainees, but there isn't much we can do about that
int numberOfLevels = bu->unit.level - 1;
int numberOfLevels = bu->unit.level - 1;
if (GrowthOptions_Link.BRACKETING_USE_BASE_LEVEL) {
numberOfLevels -= (bu->unit.pCharacterData->baseLevel) - 1;
if (numberOfLevels < 0) { numberOfLevels = 0; }
}

if ((bu->unit.pCharacterData->attributes | bu->unit.pClassData->attributes) & CA_PROMOTED) {
numberOfLevels += GetUnitPromotionLevel(&bu->unit);
int promLevel = GetUnitPromotionLevel(&bu->unit);
if (promLevel > 0) { promLevel--; }
numberOfLevels += promLevel;
}
if (numberOfLevels < 0) return 0; // probably unnecessary
return numberOfLevels;
}

int NewGetStatIncrease(int growth, int mode, int stat, struct BattleUnit* bu, struct Unit* unit) {
int result = 0;
if ((stat == magStat) && (!gMagGrowth)) { return 0; }

int currentStat = GetStatFromDefinition(stat, unit);
if (GetMaxStatFromDefinition(stat, unit) < currentStat+1) { return 0; } // no point trying to raise a stat if we've hit the caps. This'll improve our rerolled statups when caps have been hit

if (mode == fixedGrowths) {
int averageStat = GetAverageStat(growth, stat, unit, GetNumberOfLevelUps(bu));
while (growth > 100) {
result++;
growth -= 100;
}
if (currentStat < averageStat) {
int prevLevel = GetNumberOfLevelUps(bu);
int levels = prevLevel+1; //so the first levelup isn't always blank in fixed growths

if (((growth * prevLevel) / 100) < ((growth * levels) / 100)) {
result++;
}
return result;
}

if (mode == bracketedGrowths) {
int averageStat = GetAverageStat(growth, stat, unit, GetNumberOfLevelUps(bu));
int averageStat = GetAverageStat(growth, stat, unit, GetNumberOfLevelUps(bu)+1);
while (growth > 100) {
result++;
growth -= 100;
Expand Down Expand Up @@ -152,14 +167,7 @@ int NewGetStatIncrease(int growth, int mode, int stat, struct BattleUnit* bu, s
return result;
}

extern int (*gGet_Hp_Growth)(struct Unit* unit);
extern int (*gGet_Str_Growth)(struct Unit* unit);
extern int (*gGet_Skl_Growth)(struct Unit* unit);
extern int (*gGet_Spd_Growth)(struct Unit* unit);
extern int (*gGet_Def_Growth)(struct Unit* unit);
extern int (*gGet_Res_Growth)(struct Unit* unit);
extern int (*gGet_Luk_Growth)(struct Unit* unit);
extern int (*gMagGrowth)(struct Unit* unit);


void CheckBattleUnitLevelUp(struct BattleUnit* bu) {
if (CanBattleUnitGainLevels(bu) && bu->unit.exp >= 100) {
Expand Down Expand Up @@ -192,14 +200,16 @@ void CheckBattleUnitLevelUp(struct BattleUnit* bu) {
bu->unit.exp = UNIT_EXP_DISABLED;
}

int hpGrowth = gGet_Hp_Growth(&bu->unit);
int strGrowth = gGet_Str_Growth(&bu->unit);
int sklGrowth = gGet_Skl_Growth(&bu->unit);
int spdGrowth = gGet_Spd_Growth(&bu->unit);
int defGrowth = gGet_Def_Growth(&bu->unit);
int resGrowth = gGet_Res_Growth(&bu->unit);
int lukGrowth = gGet_Luk_Growth(&bu->unit);

int hpGrowth = gGet_Hp_Growth(unit);
int strGrowth = gGet_Str_Growth(unit);
int sklGrowth = gGet_Skl_Growth(unit);
int spdGrowth = gGet_Spd_Growth(unit);
int defGrowth = gGet_Def_Growth(unit);
int resGrowth = gGet_Res_Growth(unit);
int lukGrowth = gGet_Luk_Growth(unit);
int magGrowth = 0;

if (gMagGrowth) { magGrowth = gMagGrowth(&bu->unit); }

bu->changeHP = NewGetStatIncrease(hpGrowth, mode, hpStat, bu, unit);
Expand Down
12 changes: 10 additions & 2 deletions EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,21 @@
#include "include/mapanim.h"
#include "include/classchg.h"


extern struct ClassData* classTablePoin[];

int GetBaseStatFromDefinition(int id, struct Unit* unit);
int GetStatFromDefinition(int id, struct Unit* unit);
int GetAverageStat(int growth, int stat, struct Unit* unit, int levels);



extern int (*gGet_Hp_Growth)(struct Unit* unit);
extern int (*gGet_Str_Growth)(struct Unit* unit);
extern int (*gGet_Skl_Growth)(struct Unit* unit);
extern int (*gGet_Spd_Growth)(struct Unit* unit);
extern int (*gGet_Def_Growth)(struct Unit* unit);
extern int (*gGet_Res_Growth)(struct Unit* unit);
extern int (*gGet_Luk_Growth)(struct Unit* unit);
extern int (*gMagGrowth)(struct Unit* unit);



Expand Down Expand Up @@ -65,6 +72,7 @@ u8 STACKABLE_GROWTH_BOOSTS : 1;
u8 ENEMY_NPC_FIXED_GROWTHS : 1;
u8 USE_STAT_COLORS : 1;
u8 STAT_BRACKETING_EXISTS : 1;
u8 BRACKETING_USE_BASE_LEVEL : 1;
u8 METIS_TOME_BOOST;
u16 FIXED_GROWTHS_FLAG_ID;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,35 @@ POP
ALIGN 4
PUSH
ORG CURRENTOFFSET+$1;GetUnitPromotionLevel:
ORG CURRENTOFFSET+$3c;SetUnitPromotionLevel:
ORG CURRENTOFFSET+$68;SetUnitPromotionLevel:
ORG CURRENTOFFSET+$18;NewPromoHandler_SetInitStat:
ORG CURRENTOFFSET+$28;GetStatFromDefinition:
ORG CURRENTOFFSET+$44;GetBaseStatFromDefinition:
ORG CURRENTOFFSET+$a8;GetAverageStat:
ORG CURRENTOFFSET+$28;GetMaxStatFromDefinition:
ORG CURRENTOFFSET+$50;GetNumberOfLevelUps:
ORG CURRENTOFFSET+$5c;NewGetStatIncrease:
ORG CURRENTOFFSET+$e8;CheckBattleUnitLevelUp:
ORG CURRENTOFFSET+$48;NewGetStatIncrease:
ORG CURRENTOFFSET+$f8;CheckBattleUnitLevelUp:
POP
WORD $68410003 $4A0B681B $791B7909 $2B455C50 $4A09DC0A $11B3B01 $2A095CD2 $1C03D907 $D8024290 $E18061B $1C134770 $200AE7FA $46C0E7FA
WORD $B5300003 $4A156841 $5C507909 $7913681A $DC182B45 $6A942180 $420C0049 $4C10D116 $68227955 $436C2454 $6A921912 $D10D420A $3B014A0C $5CD2011B $D90D2A09 $42901C03 $61BD806 $BC300E18 $4708BC02 $E7FA2000 $61B1C13 $E7F60E18 $E7F4200A
POIN Class_Level_Cap_Table
WORD $203E89C $791B6803 $DC042B45 $3B014A02 $18D2011B $47707211 $203E894 $23302200 $6B8254C2 $D0092A00 $791B6813 $DC052B45 $3B014903 $18C9011B $720B7A13 $47702000 $203E894 $D81B2807 $804B0E $469F581B $56082019 $233A4770 $E7FB5CC8 $56082012 $2014E7F8 $E7F55608 $56082015 $2016E7F2 $E7EF5608 $56082017 $2018E7EC $E7E95608 $E7E72000
POIN CURRENTOFFSET+1640
WORD $8017AB8 $203E89C $791B6803 $DC042B45 $3B014A02 $18D2011B $47707211 $203E894 $23302200 $6B8254C2 $D0092A00 $791B6813 $DC052B45 $3B014903 $18C9011B $720B7A13 $47702000 $203E894 $D81B2807 $804B0E $469F581B $56082019 $233A4770 $E7FB5CC8 $56082012 $2014E7F8 $E7F55608 $56082015 $2016E7F2 $E7EF5608 $56082017 $2018E7EC $E7E95608 $E7E72000
POIN CURRENTOFFSET+1636
WORD $D8492807 $804B25 $469F581B $680B2012 $47705618 $7912680A $524B21 $684A5CD0 $4B207912 $5CD30092 $E7F218C0 $680B200C $684B5618 $61B7ADB $18C0161B $200DE7E9 $5618680B $7B1B684B $161B061B $E7E018C0 $680B200E $684B5618 $61B7B5B $18C0161B $200FE7D7 $5618680B $7B9B684B $161B061B $E7CE18C0 $680B2010 $684B5618 $61B7BDB $18C0161B $2011E7C5 $5618680B $7C1B684B $161B061B $E7BC18C0 $E7BA2000
POIN CURRENTOFFSET+1512
POIN CURRENTOFFSET+1508
POIN MagCharTable
POIN MagClassTable
WORD $6B570 $110008 $F7FF001C $2164FFA5 $4B040005 $43700020 $FACEF000 $BC701940 $4708BC02 $80D18FD $D81E2807 $804B10 $469F581B $7912684A $924B0E $7898189B $20144770 $5618684B $2015E7FA $5618684B $2016E7F6 $5618684B $2017E7F2 $5618684B $2018E7EE $5618684B $20FFE7EA $46C0E7E8
POIN CURRENTOFFSET+1420
WORD $6B570 $110008 $F7FF001C $2164FFA5 $4B040005 $43700020 $FACCF000 $BC701940 $4708BC02 $80D18FD $D81E2807 $804B10 $469F581B $7912684A $924B0E $7898189B $20144770 $5618684B $2015E7FA $5618684B $2016E7F6 $5618684B $2017E7F2 $5618684B $2018E7EE $5618684B $20FFE7EA $46C0E7E8
POIN CURRENTOFFSET+1416
POIN MagClassTable
WORD $B5102308 $56C36801 $6A8A6840 $43226A84 $5D23B01 $4A0FD511 $5C107900 $2A45790A $490DDC0A $1123A01 $29095C89 $1C02D90F $D8084288 $E100612 $43D8181B $401817C0 $BC02BC10 $1C0A4708 $E100612 $200AE7F4 $46C0E7F2
POIN Class_Level_Cap_Table
WORD $203E89C $46C6B5F0 $4B500 $104688 $159906 $F7FF001F $9906FF15 $280006 $FF9AF7FF $DD1842B0 $2B014643 $2B02D03A $2500D015 $DD032C64 $35013C64 $DCFB2C64 $204B26 $FA50F000 $41981E43 $28182D $46B8BC80 $BC02BCF0 $25004708 $38E7F7 $FFA2F7FF $79906 $F7FF0028 $2164FF0D $4B1B0005 $43780020 $FA36F000 $25001940 $DD032C64 $35013C64 $DCFB2C64 $681B4B15 $42B318C3 $4B14DDDB $18F6681B $DACF4286 $E7D43501 $F7FF0038 $9906FF7F $280007 $FEEAF7FF $52164 $204B09 $F0004378 $1940FA13 $2C642500 $3C64DD03 $2C643501 $4286DCFB $3501DABB $46C0E7B9 $8000CA1 $80D18FD
WORD $2408B510 $781B4B0F $68025704 $D412065B $68433C01 $6A9B6A92 $5DB4313 $F7FFD505 $2800FEE9 $3801D001 $43E01824 $402017C0 $BC02BC10 $230B4708 $1AE456D3 $17DB43E3 $E7E6401C
POIN GrowthOptions_Link
WORD $46C6B5F0 $46880004 $1F0015 $2A07B500 $9906D023 $F7FF0028 $9906FF1D $280006 $FFA2F7FF $DD1C42B0 $2B014643 $2B02D01B $2500D033 $DD032C64 $35013C64 $DCFB2C64 $204B28 $FA56F000 $41981E43 $28182D $46B8BC80 $BC02BCF0 $4B234708 $2B00681B $2500D1D7 $2500E7F3 $DD032C64 $35013C64 $DCFB2C64 $F7FF0038 $26FF9F $21644346 $4F1A0030 $FA37F000 $46802164 $F0001930 $4580FA32 $3501DADB $38E7D9 $FF8CF7FF $79906 $F7FF0028 $3701FEF7 $21640005 $43780020 $F0004B0D $1940FA1D $2C642500 $3C64DD03 $2C643501 $4B09DCFB $18C3681B $DDBC42B3 $681B4B07 $428618F6 $3501DAB0 $46C0E7B5 $8000CA1
POIN gMagGrowth
WORD $80D18FD
POIN PreventWhenAboveAverageBy_Link
POIN ForceWhenBelowAverageBy_Link
WORD $46DEB5F0 $464E4657 $B5E04645 $B08B4BD1 $F0000004 $2800F9F3 $7A63D002 $D8082B63 $BCF0B00B $46B246BB $46A046A9 $BC01BCF0 $200B4700 $56204BC8 $F0009309 $4DC7F9DF $7782B $7DA2600 $E1BDD500 $D500069B $2301E1AF $469A43B3 $7A237A62 $33013A64 $61B0612 $161B0E12 $72237262 $68216860 $6A896A85 $3094329 $E0DCD400 $D1002B0A $4BB7E0DF $681B0020 $F9B8F000 $90074BB5 $20681B $F9B2F000 $46814BB3 $20681B $F9ACF000 $90084BB1 $20681B $F9A6F000 $90024BAF $20681B $F9A0F000 $90034BAD $20681B $F99AF000 $90054BAB $20681B $F994F000 $681B4BA9 $2B009006 $E185D100 $F0000020 $9004F98B $22000023 $97000031 $F7FF9807 $2373FF11 $162D0605 $220154E5 $310023 $97004648 $FF06F7FF $6002374 $54E01600 $232202 $182D0031 $98089700 $FEFAF7FF $6002375 $54E01600 $232203 $19450031 $98029700 $FEEEF7FF $6002376 $54E01600 $232204 $19450031 $98039700 $FEE2F7FF $6002377 $54E01600 $232205 $19450031 $98059700 $FED6F7FF $6002378 $54E01600 $232206 $19450031 $98069700 $FECAF7FF $6002379 $54E01600 $232207 $311945 $98049700 $FEBEF7FF $600237A $54E01600 $46984B76 $68124642 $23011945 $DC0042AA $61B2300 $4653D033 $D0302B00 $469A2305 $37003B $469A4656 $56E32374 $D03D2B00 $56E3237A $D04B2B00 $56E32376 $D0592B00 $469B2377 $2B0056E3 $2378D066 $56E3469B $D0742B00 $469B2379 $2B0056E3 $E081D100 $469B2373 $2B0056E3 $E08ED100 $469B2375 $2B0056E3 $E0B7D100 $2E003E01 $200BD1D4 $56209B09 $F8E8F000 $4B550021 $F8E4F000 $4954E6F4 $5C097900 $DA00428B $216EE71F $1A9B5C63 $23FF5463 $E7187263 $22014653 $399300 $46480023 $FE5CF7FF $6002374 $54E01600 $681B4643 $42AB182D $E7D6DCB0 $22074653 $399300 $98040023 $FE4AF7FF $600237A $54E01600 $681B4643 $42AB182D $E7C4DCA2 $22034653 $399300 $98020023 $FE38F7FF $6002376 $54E01600 $681B4643 $42AB182D $E7B2DC94 $22044653 $399300 $98030023 $FE26F7FF $600465B $54E01600 $681B4643 $42AB182D $E786DD00 $4653E79F $93002205 $230039 $F7FF9805 $465BFE13 $16000600 $464354E0 $182D681B $DD0042AB $E78CE778 $22064653 $399300 $98060023 $FE00F7FF $600465B $54E01600 $681B4643 $42AB182D $E76BDD00 $4653E779 $93002200 $230039 $F7FF9807 $465BFDED $16000600 $464354E0 $182D681B $DD0042AB $E766E75E $802B9F5 $8019431
WORD $46DEB5F0 $464E4657 $B5E04645 $B08B4BD1 $F0000004 $2800F9F3 $7A63D002 $D8082B63 $BCF0B00B $46B246BB $46A046A9 $BC01BCF0 $200B4700 $56204BC8 $F0009309 $4EC7F9DF $57833 $7DA2700 $E1BDD500 $D500069B $2301E1AF $469A43BB $7A237A62 $33013A64 $61B0612 $161B0E12 $72237262 $68216860 $6A896A86 $3094331 $E0DBD400 $D1002B0A $4BB7E0DE $681B0028 $F9B8F000 $90074BB5 $28681B $F9B2F000 $46814BB3 $28681B $F9ACF000 $90084BB1 $28681B $F9A6F000 $90024BAF $28681B $F9A0F000 $90034BAD $28681B $F99AF000 $90054BAB $28681B $F994F000 $681B4BA9 $2B009006 $E185D100 $F0000020 $9004F98B $22000023 $95000039 $F7FF9807 $2373FF09 $16360606 $220154E6 $390023 $95004648 $FEFEF7FF $6002374 $54E01600 $232202 $18360039 $98089500 $FEF2F7FF $6002375 $54E01600 $232203 $19860039 $98029500 $FEE6F7FF $6002376 $54E01600 $232204 $19860039 $98039500 $FEDAF7FF $6002377 $54E01600 $232205 $19860039 $98059500 $FECEF7FF $6002378 $54E01600 $232206 $19860039 $98069500 $FEC2F7FF $6002379 $54E01600 $232207 $391986 $98049500 $FEB6F7FF $600237A $54E01600 $46984B76 $68124642 $23011986 $DC0042B2 $61B2300 $4653D032 $D02F2B00 $469A2305 $4655002B $2374469A $2B0056E3 $237AD03D $2B0056E3 $2376D04B $2B0056E3 $2377D059 $56E3469B $D0662B00 $469B2378 $2B0056E3 $2379D074 $56E3469B $D1002B00 $2373E081 $56E3469B $D1002B00 $2375E08E $56E3469B $D1002B00 $3D01E0B8 $D1D42D00 $9B09200B $F0005620 $21F8E9 $F0004B55 $E6F5F8E5 $79004954 $428B5C09 $E720DA00 $5C63216E $54631A9B $726323FF $4653E719 $93002201 $230039 $F7FF4648 $2374FE55 $16000600 $464354E0 $1836681B $DCB042B3 $4653E7D6 $93002207 $230039 $F7FF9804 $237AFE43 $16000600 $464354E0 $1836681B $DCA242B3 $4653E7C4 $93002203 $230039 $F7FF9802 $2376FE31 $16000600 $464354E0 $1836681B $DC9442B3 $4653E7B2 $93002204 $230039 $F7FF9803 $465BFE1F $16000600 $464354E0 $1836681B $DD0042B3 $E79FE786 $22054653 $399300 $98050023 $FE0CF7FF $600465B $54E01600 $681B4643 $42B31836 $E778DD00 $4653E78C $93002206 $230039 $F7FF9806 $465BFDF9 $16000600 $464354E0 $1836681B $DD0042B3 $E779E76B $22004653 $399300 $98070023 $FDE6F7FF $600465B $54E01600 $681B4643 $42B31836 $E75EDD00 $46C0E766 $802B9F5 $8019431
POIN GrowthOptions_Link
POIN gGet_Hp_Growth
POIN gGet_Str_Growth
Expand All @@ -46,31 +48,31 @@ POIN gMagGrowth
POIN minStatGain_Link
WORD $802BF25
POIN Class_Level_Cap_Table
WORD $22024653 $399300 $98080023 $FDBEF7FF $600465B $54E01600 $681B4643 $42AB182D $E735DD00 $4D10E737 $68284B10 $F820F000 $D0112800 $26022301 $E647469A $4B0B8868 $F816F000 $D1041E06 $2B00886B $782BD001 $2601E636 $E633782B $2B00682B $E632D0EA $93042300 $46C0E67A
WORD $22024653 $399300 $98080023 $FDB6F7FF $600465B $54E01600 $681B4643 $42B31836 $E734DD00 $4E10E736 $68304B10 $F820F000 $D0112800 $27022301 $E647469A $4B0B8870 $F816F000 $D1041E07 $2B008873 $7833D001 $2701E636 $E6337833 $2B006833 $E632D0EA $93042300 $46C0E67A
POIN BRACKETED_GROWTHS_FLAG_ID_Link
WORD $8083DA9 $46C04718
WORD $8083DA9 $47384718
ALIGN 4
POIN CURRENTOFFSET-1680
POIN CURRENTOFFSET-1678
POIN CURRENTOFFSET-1676
POIN CURRENTOFFSET-1674
POIN CURRENTOFFSET-1672
POIN CURRENTOFFSET-1670
POIN CURRENTOFFSET-1716
POIN CURRENTOFFSET-1714
POIN CURRENTOFFSET-1624
POIN CURRENTOFFSET-1610
POIN CURRENTOFFSET-1596
POIN CURRENTOFFSET-1582
POIN CURRENTOFFSET-1568
POIN CURRENTOFFSET-1554
POIN CURRENTOFFSET-1680
POIN CURRENTOFFSET-1668
POIN CURRENTOFFSET-1666
POIN CURRENTOFFSET-1712
POIN CURRENTOFFSET-1710
POIN CURRENTOFFSET-1620
POIN CURRENTOFFSET-1606
POIN CURRENTOFFSET-1592
POIN CURRENTOFFSET-1578
POIN CURRENTOFFSET-1564
POIN CURRENTOFFSET-1550
POIN CURRENTOFFSET-1676
POIN CURRENTOFFSET-1426
POIN CURRENTOFFSET-1470
POIN CURRENTOFFSET-1672
POIN CURRENTOFFSET-1422
POIN CURRENTOFFSET-1466
POIN CURRENTOFFSET-1462
POIN CURRENTOFFSET-1458
POIN CURRENTOFFSET-1454
POIN CURRENTOFFSET-1450
POIN CURRENTOFFSET-1508
POIN CURRENTOFFSET-1446
POIN CURRENTOFFSET-1504
1 change: 1 addition & 0 deletions EngineHacks/Necessary/GrowthGetters/C/Installer.event
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "CheckBattleUnitLevelUp.lyn.event"
#include "HookPromo.lyn.event"


PUSH
// do not save squares moved in BWL
ORG $A4862
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

//Don't touch these
#define Growth_Options "FIXED_GROWTHS_MODE|(FIXED_GROWTHS_DONT_BOOST<<1)|(STACKABLE_GROWTH_BOOSTS<<2)|(ENEMY_NPC_FIXED_GROWTHS<<3)|(USE_STAT_COLORS<<4)|(STAT_BRACKETING_EXISTS<<5)|(METIS_TOME_BOOST<<8)|((FIXED_GROWTHS_FLAG_ID&0xFF)<<0x10)|((FIXED_GROWTHS_FLAG_ID&0xFF00)<<0x10)"
#define Growth_Options "FIXED_GROWTHS_MODE|(FIXED_GROWTHS_DONT_BOOST<<1)|(STACKABLE_GROWTH_BOOSTS<<2)|(ENEMY_NPC_FIXED_GROWTHS<<3)|(USE_STAT_COLORS<<4)|(STAT_BRACKETING_EXISTS<<5)|(BRACKETING_USE_BASE_LEVEL<<6)|(METIS_TOME_BOOST<<8)|((FIXED_GROWTHS_FLAG_ID&0xFF)<<0x10)|((FIXED_GROWTHS_FLAG_ID&0xFF00)<<0x10)"
#define Stat_Page_Ram_Loc 0x203FFF0