@@ -842,25 +842,42 @@ namespace Battle {
842842
843843 if (IsInBattle ()) {
844844 if (entry->IsActivated ()) {
845- if (CRO::Read32 (address[0 ]) == 0x3A00001 ) {
846- if (!CRO::Write32 (address[0 ], {0xE3A00001 , 0xEA000000 })) {
847- if (!CRO::Write32 (address[2 ], 0xA000005 )) {
848- if (!CRO::Write32 (address[3 ], {0xE3A00001 , 0xEA000000 }))
849- return ;
850- }
851- }
845+ for (int i = 0 ; i < address.size (); i++)
846+ CRO::Toggle (address[i], true );
847+
848+ if (ProcessPlus::Read32 (0x8098A6C ) == 0xA000000 ) {
849+ if (ProcessPlus::Read32 (0x66902C ) == 0 )
850+ Process::Write32 (0x66902C , 0x10 );
851+ }
852+
853+ if (ProcessPlus::Read32 (0x66902C ) != 0 ) {
854+ Process::Read32 (0x66902C , data32);
855+ data32 += 0xFFFFFFFF ;
856+ Process::Write32 (0x66902C , data32);
857+ }
858+
859+ if (ProcessPlus::Read32 (0x66902C ) == 1 ) {
860+ ProcessPlus::Write32 (address[0 ], {0xE3A00001 , 0xEA000000 });
861+ Process::Write32 (address[2 ], 0xA000005 );
862+ ProcessPlus::Write32 (address[3 ], {0xE3A00001 , 0xEA000000 });
863+
864+ for (int i = 0 ; i < address.size (); i++)
865+ CRO::Toggle (address[i], false );
852866 }
853867 }
854868
855869 if (!entry->IsActivated ()) {
856- if ( CRO::Read32 (address[ 0 ]) == 0xE3A00001 ) {
857- if (! CRO::Write32 (address[0 ], { 0x3A00001 , 0xA000000 })) {
858- if (! CRO::Write32 (address[ 2 ], 0x2401C03 )) {
859- if (! CRO::Write32 (address[3 ], { 0x3A00001 , 0xA000000 }))
860- return ;
861- }
862- }
870+ for ( int i = 0 ; i < address. size (); i++)
871+ CRO::Toggle (address[i ], true );
872+
873+ if (ProcessPlus::Read32 (address[0 ]) == 0xE3A00001 ) {
874+ ProcessPlus::Write32 (address[ 0 ], { 0x3A00001 , 0xA000000 }) ;
875+ Process::Write32 (address[ 2 ], 0x2401C03 );
876+ ProcessPlus::Write32 (address[ 3 ], { 0x3A00001 , 0xA000000 });
863877 }
878+
879+ for (int i = 0 ; i < address.size (); i++)
880+ CRO::Toggle (address[i], false );
864881 }
865882 }
866883 }
0 commit comments