diff --git a/EngineHacks/Config.event b/EngineHacks/Config.event index 6b42f6b084..2032ba7fa0 100644 --- a/EngineHacks/Config.event +++ b/EngineHacks/Config.event @@ -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 diff --git a/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.c b/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.c index a43e13049c..2965e446d6 100644 --- a/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.c +++ b/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.c @@ -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; } @@ -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; } @@ -97,9 +101,16 @@ 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; @@ -107,23 +118,27 @@ int GetNumberOfLevelUps(struct BattleUnit* bu) { // This doesn't really account 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; @@ -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) { @@ -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); diff --git a/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.h b/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.h index cb42822105..614e32a8b8 100644 --- a/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.h +++ b/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.h @@ -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); @@ -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; }; diff --git a/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.lyn.event b/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.lyn.event index 70863890a8..8bc7bfcc4d 100644 --- a/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.lyn.event +++ b/EngineHacks/Necessary/GrowthGetters/C/CheckBattleUnitLevelUp.lyn.event @@ -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 @@ -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 diff --git a/EngineHacks/Necessary/GrowthGetters/C/Installer.event b/EngineHacks/Necessary/GrowthGetters/C/Installer.event index 5947faeb00..8538cbf965 100644 --- a/EngineHacks/Necessary/GrowthGetters/C/Installer.event +++ b/EngineHacks/Necessary/GrowthGetters/C/Installer.event @@ -2,6 +2,7 @@ #include "CheckBattleUnitLevelUp.lyn.event" #include "HookPromo.lyn.event" + PUSH // do not save squares moved in BWL ORG $A4862 diff --git a/EngineHacks/Necessary/ModularStatScreen/DisplayGrowthsOptions/DisplayGrowthsOptions.event b/EngineHacks/Necessary/ModularStatScreen/DisplayGrowthsOptions/DisplayGrowthsOptions.event index ed4408e96b..e96f30fff9 100644 --- a/EngineHacks/Necessary/ModularStatScreen/DisplayGrowthsOptions/DisplayGrowthsOptions.event +++ b/EngineHacks/Necessary/ModularStatScreen/DisplayGrowthsOptions/DisplayGrowthsOptions.event @@ -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 \ No newline at end of file