26class EconomyTradeableComponent {
30 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastTradingPlayer;
31 ::ll::TypedStorage<4, 4, int> mUpdateMerchantTimer;
32 ::ll::TypedStorage<1, 1, bool> mAddRecipeOnUpdate;
33 ::ll::TypedStorage<4, 4, int> mRiches;
34 ::ll::TypedStorage<8, 8, ::Actor&> mOwner;
35 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::MerchantRecipeList>> mOffers;
36 ::ll::TypedStorage<8, 32, ::std::string> mDisplayName;
37 ::ll::TypedStorage<8, 32, ::std::string> mGeneratedTablePath;
38 ::ll::TypedStorage<1, 1, bool> mConvertedFromVillagerV1;
39 ::ll::TypedStorage<4, 4, int> mDiscountDegradationTimeStamp;
44 EconomyTradeableComponent& operator=(EconomyTradeableComponent
const&);
45 EconomyTradeableComponent(EconomyTradeableComponent
const&);
46 EconomyTradeableComponent();
51 MCAPI
void _calculateDemandPrices(
54 int nearbyCuredDiscount,
55 int heroEffectAmplifier,
56 bool hasHeroOfTheVillage,
60 MCAPI
bool _generateTrades();
62 MCAPI ::TradeTable* _getTradeTable();
64 MCAPI uint _getTradeTierFromCurrentExp()
const;
66 MCAPI
void _rearrangeTradeList(::std::vector<::Trade>& tradeList, uint64 sampleCount);
68 MCAPI
void _setMaxTradeTier(
int tradeTier);
70 MCAPI
void _setTradeTier(
int tradeTier);
74 MCAPI ::UpdateTradePacket createDataPacket(::ContainerID containerID);
78 MCAPI ::IntRange getCurrentCuredDiscount()
const;
80 MCAPI
int getCurrentNearbyCuredDiscount()
const;
84 MCAPI ::MerchantRecipeList* getOffers();
86 MCAPI uint getTradeTier()
const;
90 MCAPI
void matchExpAndTier();
92 MCAPI
void newServerAiStep();
94 MCAPI
void notifyTrade(
int recipeIndex,
int numTrades);
98 MCAPI
void setCurrentTradeExp(
int currentTradeExp);
104 MCAPI
void setNearbyCuredDiscount(
int discount);
106 MCAPI
void tryIncrementCuredDiscount();
108 MCAPI
void tryIncrementNearbyCuredDiscount();