File tree Expand file tree Collapse file tree 2 files changed +29
-2
lines changed
GeneralsMD/Code/GameEngine/Source
GameLogic/Object/Collide/CrateCollide Expand file tree Collapse file tree 2 files changed +29
-2
lines changed Original file line number Diff line number Diff line change @@ -4513,8 +4513,21 @@ GameMessageDisposition CommandTranslator::translateGameMessage(const GameMessage
45134513 if (!pObject)
45144514 continue ;
45154515
4516- ExperienceTracker *et = pObject->getExperienceTracker ();
4517- if (!et || !et->isTrainable ())
4516+ ExperienceTracker* et;
4517+ Bool isRiderTrainable = true ;
4518+
4519+ const ContainModuleInterface* contain = pObject->getContain ();
4520+ if (contain && contain->isRiderChangeContain ())
4521+ {
4522+ if (Object* rider = (Object*)contain->friend_getRider ())
4523+ {
4524+ et = rider->getExperienceTracker ();
4525+ isRiderTrainable = et && et->isTrainable ();
4526+ }
4527+ }
4528+
4529+ et = pObject->getExperienceTracker ();
4530+ if (!et || !isRiderTrainable || !et->isTrainable ())
45184531 continue ;
45194532
45204533 VeterancyLevel oldVet = et->getVeterancyLevel ();
Original file line number Diff line number Diff line change 4242#include " GameClient/GameText.h"
4343#include " GameClient/InGameUI.h"
4444#include " GameLogic/ExperienceTracker.h"
45+ #include " GameLogic/Module/ContainModule.h"
4546#include " GameLogic/Object.h"
4647
4748// -------------------------------------------------------------------------------------------------
@@ -163,6 +164,19 @@ Bool SalvageCrateCollide::eligibleForLevel( Object *other )
163164 if ( !other->getExperienceTracker ()->isTrainable () )
164165 return FALSE ;
165166
167+ #if !RETAIL_COMPATIBLE_CRC
168+ const ContainModuleInterface* contain = other->getContain ();
169+ if (contain && contain->isRiderChangeContain ())
170+ {
171+ if (Object* rider = (Object*)contain->friend_getRider ())
172+ {
173+ const ExperienceTracker* et = rider->getExperienceTracker ();
174+ if (!et || !et->isTrainable ())
175+ return FALSE ;
176+ }
177+ }
178+ #endif
179+
166180 return TRUE ;
167181}
168182
You can’t perform that action at this time.
0 commit comments