diff --git a/Minecraft.Client/Common/Consoles_App.h b/Minecraft.Client/Common/Consoles_App.h index f34553c7..d5c31ca7 100644 --- a/Minecraft.Client/Common/Consoles_App.h +++ b/Minecraft.Client/Common/Consoles_App.h @@ -97,7 +97,7 @@ public: */ static const int GAME_DEFINED_PROFILE_DATA_BYTES = 2*972; // per user #else - static const int GAME_DEFINED_PROFILE_DATA_BYTES = 2*972; // per user + static const int GAME_DEFINED_PROFILE_DATA_BYTES = 3*972; // per user #endif unsigned int uiGameDefinedDataChangedBitmask; diff --git a/Minecraft.Client/LocalPlayer.cpp b/Minecraft.Client/LocalPlayer.cpp index 6f0268dc..97552309 100644 --- a/Minecraft.Client/LocalPlayer.cpp +++ b/Minecraft.Client/LocalPlayer.cpp @@ -978,7 +978,7 @@ void LocalPlayer::awardStat(Stat *stat, byteArray param) // AWARD : Porkchop, cook and eat a porkchop. { Stat *cookPorkchop, *eatPorkchop; - cookPorkchop = GenericStats::itemsCrafted(Item::porkChop_cooked_Id); + cookPorkchop = GenericStats::itemsSmelted(Item::porkChop_cooked_Id); eatPorkchop = GenericStats::itemsUsed(Item::porkChop_cooked_Id); if ( stat == cookPorkchop || stat == eatPorkchop ) diff --git a/Minecraft.World/Achievements.cpp b/Minecraft.World/Achievements.cpp index b62dd1fb..62806529 100644 --- a/Minecraft.World/Achievements.cpp +++ b/Minecraft.World/Achievements.cpp @@ -120,7 +120,7 @@ void Achievements::staticCtor() #ifdef _EXTENDED_ACHIEVEMENTS Achievements::eatPorkChop = (new Achievement(eAward_eatPorkChop, L"eatPorkChop", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->setAwardLocallyOnly()->postConstruct(); #else - Achievements::eatPorkChop = (new Achievement(eAward_eatPorkChop, L"eatPorkChop", 0, 0, Tile::treeTrunk, (Achievement *) buildSword, "034", IDS_ACHIEVE_NAME_EAT_PORKCHOP, IDS_ACHIEVE_DESC_EAT_PORKCHOP))->postConstruct(); + Achievements::eatPorkChop = (new Achievement(eAward_eatPorkChop, L"eatPorkChop", 0, 0, Tile::treeTrunk, (Achievement *) buildSword, "034", IDS_ACHIEVE_NAME_EAT_PORKCHOP, IDS_ACHIEVE_DESC_EAT_PORKCHOP))->setAwardLocallyOnly()->postConstruct(); #endif Achievements::play100Days = (new Achievement(eAward_play100Days, L"play100Days", 0, 0, Tile::treeTrunk, (Achievement *) buildSword, "035", IDS_ACHIEVE_NAME_PLAY_100_DAYS, IDS_ACHIEVE_DESC_PLAY_100_DAYS))->setAwardLocallyOnly()->postConstruct(); Achievements::arrowKillCreeper = (new Achievement(eAward_arrowKillCreeper, L"arrowKillCreeper", 0, 0, Tile::treeTrunk, (Achievement *) buildSword, "036", IDS_ACHIEVE_NAME_ARROW_KILL_CREEPER, IDS_ACHIEVE_DESC_ARROW_KILL_CREEPER))->postConstruct(); diff --git a/Minecraft.World/CommonStats.cpp b/Minecraft.World/CommonStats.cpp index 9010f94c..f740905a 100644 --- a/Minecraft.World/CommonStats.cpp +++ b/Minecraft.World/CommonStats.cpp @@ -113,6 +113,7 @@ Stat *CommonStats::get_itemsUsed(int itemId) #endif if (itemId == Item::porkChop_cooked_Id) return Stats::blocksPlaced[itemId]; + else return nullptr; //return nullptr; } diff --git a/Minecraft.World/FurnaceResultSlot.cpp b/Minecraft.World/FurnaceResultSlot.cpp index 84e0b747..ea7c3139 100644 --- a/Minecraft.World/FurnaceResultSlot.cpp +++ b/Minecraft.World/FurnaceResultSlot.cpp @@ -77,7 +77,7 @@ void FurnaceResultSlot::checkTakeAchievements(shared_ptr carried) } } -#ifdef _DURANGO + if (!player->level->isClientSide && removeCount > 0) { player->awardStat( @@ -85,11 +85,11 @@ void FurnaceResultSlot::checkTakeAchievements(shared_ptr carried) GenericStats::param_itemsSmelted(carried->id, carried->getAuxValue(), removeCount) ); } -#else + if (carried->id == Item::ironIngot_Id) player->awardStat(GenericStats::acquireIron(), GenericStats::param_acquireIron()); if (carried->id == Item::fish_cooked_Id) player->awardStat(GenericStats::cookFish(), GenericStats::param_cookFish()); //if (carried->id == Item::porkChop_cooked_Id) GenericStats::itemsCrafted(Item::porkChop_cooked_Id); -#endif + removeCount = 0; } diff --git a/Minecraft.World/GenericStats.cpp b/Minecraft.World/GenericStats.cpp index 9bcf81e9..e4f0969e 100644 --- a/Minecraft.World/GenericStats.cpp +++ b/Minecraft.World/GenericStats.cpp @@ -2,6 +2,7 @@ #include "Monster.h" +#include "Item.h" #include "GenericStats.h" GenericStats *GenericStats::instance = nullptr; @@ -835,7 +836,10 @@ byteArray GenericStats::param_itemsSmelted(int id, int aux, int count) byteArray GenericStats::param_itemsUsed(shared_ptr plr, shared_ptr itm) { - if ( (plr != nullptr) && (itm != nullptr) ) return instance->getParam_itemsUsed(plr, itm); + if ((plr != nullptr) && (itm != nullptr)) { + if (itm->id == Item::porkChop_cooked_Id) return instance->param_eatPorkChop(); + return instance->getParam_itemsUsed(plr, itm); + } else return instance->getParam_noArgs(); } diff --git a/Minecraft.World/Stat.cpp b/Minecraft.World/Stat.cpp index 97a655c7..686ff671 100644 --- a/Minecraft.World/Stat.cpp +++ b/Minecraft.World/Stat.cpp @@ -16,12 +16,12 @@ void Stat::_init() awardLocallyOnly = false; } -Stat::Stat(int id, const wstring& name, StatFormatter *formatter) : id(id), name(name), formatter(formatter) +Stat::Stat(int id, const wstring& name1, StatFormatter *formatter) : id(id), name(name1), formatter(formatter) { _init(); } -Stat::Stat(int id, const wstring& name) : id(id), name(name), formatter(defaultFormatter) +Stat::Stat(int id, const wstring& name1) : id(id), name(name1), formatter(defaultFormatter) { _init(); } diff --git a/Minecraft.World/Stats.cpp b/Minecraft.World/Stats.cpp index ea19d134..5d0e7b9d 100644 --- a/Minecraft.World/Stats.cpp +++ b/Minecraft.World/Stats.cpp @@ -527,8 +527,8 @@ void Stats::buildAdditionalStats() generalStat->postConstruct(); } - biomesVisisted = StatArray(23); - for (unsigned int i = 0; i < 23; i++) + biomesVisisted = StatArray(170); + for (unsigned int i = 0; i < 170; i++) { generalStat = new GeneralStat(offset++, L"biomesVisited." + std::to_wstring(i)); generalStats->push_back(generalStat);