@@ -78,6 +78,7 @@ BNM::Class UserCharacterFactory{};
7878BNM::Class CharacterStaticUsecase{};
7979BNM::Class UserCharactersUsecase{};
8080BNM::Class CharacterStatic{};
81+ BNM::Class List{};
8182
8283void (*old_AddItem)(void *instance, void *item, int count);
8384
@@ -88,25 +89,31 @@ void new_AddItem(void *instance, void *item, int count) {
8889void (*old_AddCharacterTemptation)(void *instance, void *character, int added);
8990
9091void new_AddCharacterTemptation (void *instance, void *character, int added) {
91- return new_AddCharacterTemptation (instance, character, added * feature.temptation );
92+ return old_AddCharacterTemptation (instance, character, added * feature.temptation );
9293}
9394
9495void (*old_Load)(void *instance);
9596
9697void new_Load (void *instance) {
9798 old_Load (instance);
9899 if (feature.characters ) {
99- auto userCharacterFactory = static_cast <BNM::Field<BNM::IL2CPP::Il2CppObject *>>(UserCharacterFactory .GetField (
100+ auto userCharacterFactory = static_cast <BNM::Field<BNM::IL2CPP::Il2CppObject *>>(UserCharactersUsecase .GetField (
100101 " userCharacterFactory" ))[instance]();
101- auto characterStaticUsecase = static_cast <BNM::Field<BNM::IL2CPP::Il2CppObject *>>(CharacterStaticUsecase .GetField (
102- " userCharacterFactory " ))[userCharacterFactory]();
103- auto characters = static_cast <BNM::Property<BNM::Structures::Mono::List<BNM:: IL2CPP::Il2CppObject *> >>(UserCharacterFactory .GetProperty (
102+ auto characterStaticUsecase = static_cast <BNM::Field<BNM::IL2CPP::Il2CppObject *>>(UserCharacterFactory .GetField (
103+ " characterStaticUsecase " ))[userCharacterFactory]();
104+ auto characters = static_cast <BNM::Property<BNM::IL2CPP::Il2CppObject *>>(CharacterStaticUsecase .GetProperty (
104105 " Characters" ))[characterStaticUsecase]();
106+ auto CharactersList = List.GetGeneric (
107+ {CharacterStatic});
108+ auto count = static_cast <BNM::Property<int >>(CharactersList.GetProperty (
109+ " Count" ))[characters]();
110+ auto getItem = static_cast <BNM::Method<BNM::IL2CPP::Il2CppObject *>>(CharactersList.GetMethod (
111+ " get_Item" ))[characters];
105112 BNM::Method<void > AddCharacterOrExperience = UserCharactersUsecase.GetMethod (
106113 " AddCharacterOrExperience" )[instance];
107114 BNM::Property<int > Id = CharacterStatic.GetProperty (" Id" );
108- for (int i = 0 ; i < characters. size ; ++i) {
109- AddCharacterOrExperience (Id[characters[i] ](), 100 );
115+ for (int i = 0 ; i < count ; ++i) {
116+ AddCharacterOrExperience (Id[getItem (i) ](), 100 );
110117 }
111118 }
112119}
@@ -129,6 +136,7 @@ void OnLoaded() {
129136 AssemblyCSharp);
130137 UserCharactersUsecase = BNM::Class (" WetWealth.Characters" , " UserCharactersUsecase" ,
131138 AssemblyCSharp);
139+ List = BNM::Class (" System.Collections.Generic" , " List`1" , BNM::Image (" mscorlib" ));
132140 auto AddCharacterTemptation = UserCharactersUsecase.GetMethod (" AddCharacterTemptation" );
133141 auto Load = UserCharactersUsecase.GetMethod (" Load" );
134142
0 commit comments