feat: achievements, minecraft store, languages, auto lb sendStats, more Language Strings
This commit is contained in:
@@ -8,26 +8,34 @@
|
||||
void Achievement::_init()
|
||||
{
|
||||
isGoldenVar = false;
|
||||
|
||||
if (x < Achievements::xMin) Achievements::xMin = x;
|
||||
if (y < Achievements::yMin) Achievements::yMin = y;
|
||||
if (x > Achievements::xMax) Achievements::xMax = x;
|
||||
if (y > Achievements::yMax) Achievements::yMax = y;
|
||||
}
|
||||
|
||||
Achievement::Achievement(int id, const wstring& name, int x, int y, Item *icon, Achievement *reqs)
|
||||
Achievement::Achievement(int id, const wstring& name, int x, int y, Item *icon, Achievement *reqs, string iconI, int nameID1, int descID1)
|
||||
: Stat( Achievements::ACHIEVEMENT_OFFSET + id, I18n::get(wstring(L"achievement.").append(name)) ), desc( I18n::get(wstring(L"achievement.").append(name).append(L".desc"))), icon( new ItemInstance(icon) ), x(x), y(y), reqs(reqs)
|
||||
{
|
||||
iconInt = iconI;
|
||||
nameID = nameID1;
|
||||
descID = descID1;
|
||||
}
|
||||
|
||||
Achievement::Achievement(int id, const wstring& name, int x, int y, Tile *icon, Achievement *reqs)
|
||||
Achievement::Achievement(int id, const wstring& name, int x, int y, Tile *icon, Achievement *reqs, string iconI, int nameID1, int descID1)
|
||||
: Stat( Achievements::ACHIEVEMENT_OFFSET + id, I18n::get(wstring(L"achievement.").append(name)) ), desc( I18n::get(wstring(L"achievement.").append(name).append(L".desc"))), icon( new ItemInstance(icon) ), x(x), y(y), reqs(reqs)
|
||||
{
|
||||
iconInt = iconI;
|
||||
nameID = nameID1;
|
||||
descID = descID1;
|
||||
}
|
||||
|
||||
Achievement::Achievement(int id, const wstring& name, int x, int y, shared_ptr<ItemInstance> icon, Achievement *reqs)
|
||||
Achievement::Achievement(int id, const wstring& name, int x, int y, shared_ptr<ItemInstance> icon, Achievement *reqs, string iconI, int nameID1, int descID1)
|
||||
: Stat( Achievements::ACHIEVEMENT_OFFSET + id, I18n::get(wstring(L"achievement.").append(name)) ), desc( I18n::get(wstring(L"achievement.").append(name).append(L".desc"))), icon(icon), x(x), y(y), reqs(reqs)
|
||||
{
|
||||
iconInt = iconI;
|
||||
nameID = nameID1;
|
||||
descID = descID1;
|
||||
}
|
||||
|
||||
Achievement *Achievement::setAwardLocallyOnly()
|
||||
@@ -45,9 +53,7 @@ Achievement *Achievement::setGolden()
|
||||
Achievement *Achievement::postConstruct()
|
||||
{
|
||||
Stat::postConstruct();
|
||||
|
||||
Achievements::achievements->push_back(this);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -79,4 +85,4 @@ bool Achievement::isGolden()
|
||||
int Achievement::getAchievementID()
|
||||
{
|
||||
return id - Achievements::ACHIEVEMENT_OFFSET;
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,9 @@ class Achievement : public Stat
|
||||
public:
|
||||
const int x, y;
|
||||
Achievement *reqs;
|
||||
string iconInt;
|
||||
int nameID;
|
||||
int descID;
|
||||
|
||||
private:
|
||||
const wstring desc;
|
||||
@@ -23,9 +26,9 @@ private:
|
||||
void _init();
|
||||
|
||||
public:
|
||||
Achievement(int id, const wstring& name, int x, int y, Item *icon, Achievement *reqs);
|
||||
Achievement(int id, const wstring& name, int x, int y, Tile *icon, Achievement *reqs);
|
||||
Achievement(int id, const wstring& name, int x, int y, shared_ptr<ItemInstance> icon, Achievement *reqs);
|
||||
Achievement(int id, const wstring& name, int x, int y, Item* icon, Achievement* reqs, string iconI = "", int nameID = 0, int descID = 0);
|
||||
Achievement(int id, const wstring& name, int x, int y, Tile* icon, Achievement* reqs, string iconI = "", int nameID = 0, int descID = 0);
|
||||
Achievement(int id, const wstring& name, int x, int y, shared_ptr<ItemInstance> icon, Achievement* reqs, string iconI = "", int nameID = 0, int descID = 0);
|
||||
|
||||
Achievement *setAwardLocallyOnly();
|
||||
Achievement *setGolden();
|
||||
|
||||
@@ -53,14 +53,14 @@ Achievement *Achievements::dispenseWithThis = nullptr;
|
||||
Achievement *Achievements::InToTheNether = nullptr;
|
||||
|
||||
// 4J : WESTY : Added other awards.
|
||||
Achievement *Achievements::socialPost = nullptr;
|
||||
//Achievement *Achievements::socialPost = nullptr;
|
||||
Achievement *Achievements::eatPorkChop = nullptr;
|
||||
Achievement *Achievements::play100Days = nullptr;
|
||||
Achievement *Achievements::arrowKillCreeper = nullptr;
|
||||
Achievement *Achievements::mine100Blocks = nullptr;
|
||||
Achievement *Achievements::kill10Creepers = nullptr;
|
||||
//Achievement *Achievements::mine100Blocks = nullptr;
|
||||
//Achievement *Achievements::kill10Creepers = nullptr;
|
||||
|
||||
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
Achievement *Achievements::overkill = nullptr; // Restored old achivements.
|
||||
Achievement *Achievements::bookcase = nullptr; // Restored old achivements.
|
||||
|
||||
@@ -85,46 +85,46 @@ Achievement *Achievements::bodyGuard = nullptr;
|
||||
Achievement *Achievements::ironMan = nullptr;
|
||||
Achievement *Achievements::zombieDoctor = nullptr;
|
||||
Achievement *Achievements::lionTamer = nullptr;
|
||||
#endif
|
||||
|
||||
|
||||
void Achievements::staticCtor()
|
||||
{
|
||||
Achievements::openInventory = (new Achievement(eAward_TakingInventory, L"openInventory", 0, 0, Item::book, nullptr))->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::mineWood = (new Achievement(eAward_GettingWood, L"mineWood", 2, 1, Tile::treeTrunk, (Achievement *) openInventory))->postConstruct();
|
||||
Achievements::buildWorkbench = (new Achievement(eAward_Benchmarking, L"buildWorkBench", 4, -1, Tile::workBench, (Achievement *) mineWood))->postConstruct();
|
||||
Achievements::buildPickaxe = (new Achievement(eAward_TimeToMine, L"buildPickaxe", 4, 2, Item::pickAxe_wood, (Achievement *) buildWorkbench))->postConstruct();
|
||||
Achievements::buildFurnace = (new Achievement(eAward_HotTopic, L"buildFurnace", 3, 4, Tile::furnace_lit, (Achievement *) buildPickaxe))->postConstruct();
|
||||
Achievements::acquireIron = (new Achievement(eAward_AquireHardware, L"acquireIron", 1, 4, Item::ironIngot, (Achievement *) buildFurnace))->postConstruct();
|
||||
Achievements::buildHoe = (new Achievement(eAward_TimeToFarm, L"buildHoe", 2, -3, Item::hoe_wood, (Achievement *) buildWorkbench))->postConstruct();
|
||||
Achievements::makeBread = (new Achievement(eAward_BakeBread, L"makeBread", -1, -3, Item::bread, (Achievement *) buildHoe))->postConstruct();
|
||||
Achievements::bakeCake = (new Achievement(eAward_TheLie, L"bakeCake", 0, -5, Item::cake, (Achievement *) buildHoe))->postConstruct();
|
||||
Achievements::buildBetterPickaxe = (new Achievement(eAward_GettingAnUpgrade, L"buildBetterPickaxe", 6, 2, Item::pickAxe_stone, (Achievement *) buildPickaxe))->postConstruct();
|
||||
Achievements::cookFish = (new Achievement(eAward_DeliciousFish, L"cookFish", 2, 6, Item::fish_cooked, (Achievement *) buildFurnace))->postConstruct();
|
||||
Achievements::onARail = (new Achievement(eAward_OnARail, L"onARail", 2, 3, Tile::rail, (Achievement *) acquireIron))->setGolden()->postConstruct();
|
||||
Achievements::buildSword = (new Achievement(eAward_TimeToStrike, L"buildSword", 6, -1, Item::sword_wood, (Achievement *) buildWorkbench))->postConstruct();
|
||||
Achievements::killEnemy = (new Achievement(eAward_MonsterHunter, L"killEnemy", 8, -1, Item::bone, (Achievement *) buildSword))->postConstruct();
|
||||
Achievements::killCow = (new Achievement(eAward_CowTipper, L"killCow", 7, -3, Item::leather, (Achievement *) buildSword))->postConstruct();
|
||||
Achievements::flyPig = (new Achievement(eAward_WhenPigsFly, L"flyPig", 8, -4, Item::saddle, (Achievement *) killCow))->setGolden()->postConstruct();
|
||||
Achievements::openInventory = (new Achievement(eAward_TakingInventory, L"openInventory", 0, 0, Item::book, nullptr, "001", IDS_ACHIEVE_NAME_TAKING_INVENTORY, IDS_ACHIEVE_DESC_TAKING_INVENTORY))->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::mineWood = (new Achievement(eAward_GettingWood, L"mineWood", 2, 1, Tile::treeTrunk, (Achievement *) openInventory, "002", IDS_ACHIEVE_NAME_GETTING_WOOD, IDS_ACHIEVE_DESC_GETTING_WOOD))->postConstruct();
|
||||
Achievements::buildWorkbench = (new Achievement(eAward_Benchmarking, L"buildWorkBench", 4, -1, Tile::workBench, (Achievement *) mineWood, "003", IDS_ACHIEVE_NAME_BENCHMARKING, IDS_ACHIEVE_DESC_BENCHMARKING))->postConstruct();
|
||||
Achievements::buildPickaxe = (new Achievement(eAward_TimeToMine, L"buildPickaxe", 4, 2, Item::pickAxe_wood, (Achievement *) buildWorkbench, "004", IDS_ACHIEVE_NAME_TIME_TO_MINE, IDS_ACHIEVE_DESC_TIME_TO_MINE))->postConstruct();
|
||||
Achievements::buildFurnace = (new Achievement(eAward_HotTopic, L"buildFurnace", 3, 4, Tile::furnace_lit, (Achievement *) buildPickaxe, "005", IDS_ACHIEVE_NAME_HOT_TOPIC, IDS_ACHIEVE_DESC_HOT_TOPIC))->postConstruct();
|
||||
Achievements::acquireIron = (new Achievement(eAward_AquireHardware, L"acquireIron", 1, 4, Item::ironIngot, (Achievement *) buildFurnace, "006", IDS_ACHIEVE_NAME_ACQUIRE_HARDWARE, IDS_ACHIEVE_DESC_ACQUIRE_HARDWARE))->postConstruct();
|
||||
Achievements::buildHoe = (new Achievement(eAward_TimeToFarm, L"buildHoe", 2, -3, Item::hoe_wood, (Achievement *) buildWorkbench, "007", IDS_ACHIEVE_NAME_TIME_TO_FARM, IDS_ACHIEVE_DESC_TIME_TO_FARM))->postConstruct();
|
||||
Achievements::makeBread = (new Achievement(eAward_BakeBread, L"makeBread", -1, -3, Item::bread, (Achievement *) buildHoe, "008", IDS_ACHIEVE_NAME_BAKE_BREAD, IDS_ACHIEVE_DESC_BAKE_BREAD))->postConstruct();
|
||||
Achievements::bakeCake = (new Achievement(eAward_TheLie, L"bakeCake", 0, -5, Item::cake, (Achievement *) buildHoe, "009", IDS_ACHIEVE_NAME_THE_LIE, IDS_ACHIEVE_DESC_THE_LIE))->postConstruct();
|
||||
Achievements::buildBetterPickaxe = (new Achievement(eAward_GettingAnUpgrade, L"buildBetterPickaxe", 6, 2, Item::pickAxe_stone, (Achievement *) buildPickaxe, "010", IDS_ACHIEVE_NAME_GETTING_AN_UPGRADE, IDS_ACHIEVE_DESC_GETTING_AN_UPGRADE))->postConstruct();
|
||||
Achievements::cookFish = (new Achievement(eAward_DeliciousFish, L"cookFish", 2, 6, Item::fish_cooked, (Achievement *) buildFurnace, "011", IDS_ACHIEVE_NAME_DELICIOUS_FISH, IDS_ACHIEVE_DESC_DELICIOUS_FISH))->postConstruct();
|
||||
Achievements::onARail = (new Achievement(eAward_OnARail, L"onARail", 2, 3, Tile::rail, (Achievement *) acquireIron, "012", IDS_ACHIEVE_NAME_ON_A_RAIL, IDS_ACHIEVE_DESC_ON_A_RAIL))->setGolden()->postConstruct();
|
||||
Achievements::buildSword = (new Achievement(eAward_TimeToStrike, L"buildSword", 6, -1, Item::sword_wood, (Achievement *) buildWorkbench, "013", IDS_ACHIEVE_NAME_TIME_TO_STRIKE, IDS_ACHIEVE_DESC_TIME_TO_STRIKE))->postConstruct();
|
||||
Achievements::killEnemy = (new Achievement(eAward_MonsterHunter, L"killEnemy", 8, -1, Item::bone, (Achievement *) buildSword, "014", IDS_ACHIEVE_NAME_MONSTER_HUNTER, IDS_ACHIEVE_DESC_MONSTER_HUNTER))->postConstruct();
|
||||
Achievements::killCow = (new Achievement(eAward_CowTipper, L"killCow", 7, -3, Item::leather, (Achievement *) buildSword, "015", IDS_ACHIEVE_NAME_COW_TIPPER, IDS_ACHIEVE_DESC_COW_TIPPER))->postConstruct();
|
||||
Achievements::flyPig = (new Achievement(eAward_WhenPigsFly, L"flyPig", 8, -4, Item::saddle, (Achievement *) killCow, "016", IDS_ACHIEVE_NAME_WHEN_PIGS_FLY, IDS_ACHIEVE_DESC_WHEN_PIGS_FLY))->setGolden()->postConstruct();
|
||||
|
||||
// 4J Stu - The order of these achievemnts is very important, as they map directly to data stored in the profile data. New achievements should be added at the end.
|
||||
|
||||
// 4J : WESTY : Added new achievements. Note, params "x", "y", "icon" and "requires" are ignored on xbox.
|
||||
Achievements::leaderOfThePack = (new Achievement(eAward_LeaderOfThePack, L"leaderOfThePack", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::MOARTools = (new Achievement(eAward_MOARTools, L"MOARTools", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::dispenseWithThis = (new Achievement(eAward_DispenseWithThis, L"dispenseWithThis", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->postConstruct();
|
||||
Achievements::InToTheNether = (new Achievement(eAward_InToTheNether, L"InToTheNether", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->postConstruct();
|
||||
|
||||
Achievements::leaderOfThePack = (new Achievement(eAward_LeaderOfThePack, L"leaderOfThePack", 0, 0, Tile::treeTrunk, (Achievement *) buildSword, "017", IDS_ACHIEVE_NAME_LEADER_OF_THE_PACK, IDS_ACHIEVE_DESC_LEADER_OF_THE_PACK))->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::MOARTools = (new Achievement(eAward_MOARTools, L"MOARTools", 0, 0, Tile::treeTrunk, (Achievement *) buildSword, "018", IDS_ACHIEVE_NAME_MOAR_TOOLS, IDS_ACHIEVE_DESC_MOAR_TOOLS))->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::dispenseWithThis = (new Achievement(eAward_DispenseWithThis, L"dispenseWithThis", 0, 0, Tile::treeTrunk, (Achievement *) buildSword, "019", IDS_ACHIEVE_NAME_DISPENSE_WITH_THIS, IDS_ACHIEVE_DESC_DISPENSE_WITH_THIS))->postConstruct();
|
||||
Achievements::InToTheNether = (new Achievement(eAward_InToTheNether, L"InToTheNether", 0, 0, Tile::treeTrunk, (Achievement *) buildSword, "020", IDS_ACHIEVE_NAME_INTO_THE_NETHER, IDS_ACHIEVE_DESC_INTO_THE_NETHER))->postConstruct();
|
||||
// 4J : WESTY : Added other awards.
|
||||
Achievements::mine100Blocks = (new Achievement(eAward_mine100Blocks, L"mine100Blocks", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::kill10Creepers = (new Achievement(eAward_kill10Creepers, L"kill10Creepers", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->setAwardLocallyOnly()->postConstruct();
|
||||
|
||||
//Achievements::mine100Blocks = (new Achievement(eAward_mine100Blocks, L"mine100Blocks", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->setAwardLocallyOnly()->postConstruct();
|
||||
//Achievements::kill10Creepers = (new Achievement(eAward_kill10Creepers, L"kill10Creepers", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->setAwardLocallyOnly()->postConstruct();
|
||||
#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))->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))->postConstruct();
|
||||
#endif
|
||||
Achievements::play100Days = (new Achievement(eAward_play100Days, L"play100Days", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::arrowKillCreeper = (new Achievement(eAward_arrowKillCreeper, L"arrowKillCreeper", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->postConstruct();
|
||||
Achievements::socialPost = (new Achievement(eAward_socialPost, L"socialPost", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->postConstruct();
|
||||
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();
|
||||
//Achievements::socialPost = (new Achievement(eAward_socialPost, L"socialPost", 0, 0, Tile::treeTrunk, (Achievement *) buildSword))->postConstruct();
|
||||
|
||||
#ifndef _XBOX
|
||||
// WARNING: NO NEW ACHIEVMENTS CAN BE ADDED HERE
|
||||
@@ -133,46 +133,43 @@ void Achievements::staticCtor()
|
||||
// 4J Stu - All new Java achievements removed to stop them using the profile data
|
||||
|
||||
// 4J Stu - This achievment added in 1.8.2, but does not map to any Xbox achievements
|
||||
Achievements::snipeSkeleton = (new Achievement(eAward_snipeSkeleton, L"snipeSkeleton", 7, 0, Item::bow, (Achievement *) killEnemy))->setGolden()->postConstruct();
|
||||
Achievements::snipeSkeleton = (new Achievement(eAward_snipeSkeleton, L"snipeSkeleton", 7, 0, Item::bow, (Achievement *) killEnemy, "021", IDS_ACHIEVE_NAME_SNIPESKELETON, IDS_ACHIEVE_DESC_SNIPESKELETON))->setGolden()->postConstruct();
|
||||
|
||||
// 4J Stu - These added in 1.0.1, but do not map to any Xbox achievements
|
||||
Achievements::diamonds = (new Achievement(eAward_diamonds, L"diamonds", -1, 5, Item::diamond, (Achievement *) acquireIron) )->postConstruct();
|
||||
Achievements::diamonds = (new Achievement(eAward_diamonds, L"diamonds", -1, 5, Item::diamond, (Achievement *) acquireIron, "022", IDS_ACHIEVE_NAME_DIAMONDS, IDS_ACHIEVE_DESC_DIAMONDS) )->postConstruct();
|
||||
//Achievements::portal = (new Achievement(eAward_portal, L"portal", -1, 7, Tile::obsidian, (Achievement *)diamonds) )->postConstruct();
|
||||
Achievements::ghast = (new Achievement(eAward_ghast, L"ghast", -4, 8, Item::ghastTear, (Achievement *)ghast) )->setGolden()->postConstruct();
|
||||
Achievements::blazeRod = (new Achievement(eAward_blazeRod, L"blazeRod", 0, 9, Item::blazeRod, (Achievement *)blazeRod) )->postConstruct();
|
||||
Achievements::potion = (new Achievement(eAward_potion, L"potion", 2, 8, Item::potion, (Achievement *)potion) )->postConstruct();
|
||||
Achievements::theEnd = (new Achievement(eAward_theEnd, L"theEnd", 3, 10, Item::eyeOfEnder, (Achievement *)theEnd) )->setGolden()->postConstruct();
|
||||
Achievements::winGame = (new Achievement(eAward_winGame, L"theEnd2", 4, 13, Tile::dragonEgg, (Achievement *)winGame) )->setGolden()->postConstruct();
|
||||
Achievements::enchantments = (new Achievement(eAward_enchantments, L"enchantments", -4, 4, Tile::enchantTable, (Achievement *)enchantments) )->postConstruct();
|
||||
Achievements::ghast = (new Achievement(eAward_ghast, L"ghast", -4, 8, Item::ghastTear, (Achievement *)ghast, "023", IDS_ACHIEVE_NAME_GHAST, IDS_ACHIEVE_DESC_GHAST) )->setGolden()->postConstruct();
|
||||
Achievements::blazeRod = (new Achievement(eAward_blazeRod, L"blazeRod", 0, 9, Item::blazeRod, (Achievement *)blazeRod, "024", IDS_ACHIEVE_NAME_BLAZEROD, IDS_ACHIEVE_DESC_BLAZEROD) )->postConstruct();
|
||||
Achievements::potion = (new Achievement(eAward_potion, L"potion", 2, 8, Item::potion, (Achievement *)potion, "025", IDS_ACHIEVE_NAME_POTION, IDS_ACHIEVE_DESC_POTION) )->postConstruct();
|
||||
Achievements::theEnd = (new Achievement(eAward_theEnd, L"theEnd", 3, 10, Item::eyeOfEnder, (Achievement *)theEnd, "026", IDS_ACHIEVE_NAME_THE_END, IDS_ACHIEVE_DESC_THE_END) )->setGolden()->postConstruct();
|
||||
Achievements::winGame = (new Achievement(eAward_winGame, L"theEnd2", 4, 13, Tile::dragonEgg, (Achievement *)winGame, "027", IDS_ACHIEVE_NAME_WINGAME, IDS_ACHIEVE_DESC_WINGAME) )->setGolden()->postConstruct();
|
||||
Achievements::enchantments = (new Achievement(eAward_enchantments, L"enchantments", -4, 4, Tile::enchantTable, (Achievement *)enchantments, "028", IDS_ACHIEVE_NAME_ENCHANTMENTS, IDS_ACHIEVE_DESC_ENCHANTMENTS) )->postConstruct();
|
||||
// Achievements::overkill = (new Achievement(eAward_overkill, L"overkill", -4, 1, Item::sword_diamond, (Achievement *)enchantments) )->setGolden()->postConstruct();
|
||||
// Achievements::bookcase = (new Achievement(eAward_bookcase, L"bookcase", -3, 6, Tile::bookshelf, (Achievement *)enchantments) )->postConstruct();
|
||||
#endif
|
||||
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
Achievements::overkill = (new Achievement(eAward_overkill, L"overkill", -4,1, Item::sword_diamond, (Achievement *)enchantments) )->setGolden()->postConstruct();
|
||||
Achievements::bookcase = (new Achievement(eAward_bookcase, L"bookcase", -3,6, Tile::bookshelf, (Achievement *)enchantments) )->postConstruct();
|
||||
|
||||
Achievements::adventuringTime = (new Achievement(eAward_adventuringTime, L"adventuringTime", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::repopulation = (new Achievement(eAward_repopulation, L"repopulation", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::overkill = (new Achievement(eAward_overkill, L"overkill", -4,1, Item::sword_diamond, (Achievement *)enchantments, "029", IDS_ACHIEVE_NAME_OVERKILL, IDS_ACHIEVE_DESC_OVERKILL) )->setGolden()->postConstruct();
|
||||
Achievements::bookcase = (new Achievement(eAward_bookcase, L"bookcase", -3,6, Tile::bookshelf, (Achievement *)enchantments, "030", IDS_ACHIEVE_NAME_BOOKCASE, IDS_ACHIEVE_DESC_BOOKCASE) )->postConstruct();
|
||||
Achievements::adventuringTime = (new Achievement(eAward_adventuringTime, L"adventuringTime", 0,0, Tile::bookshelf, (Achievement*) nullptr, "031", IDS_ACHIEVE_NAME_ADVENTURING_TIME, IDS_ACHIEVE_DESC_ADVENTURING_TIME) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::repopulation = (new Achievement(eAward_repopulation, L"repopulation", 7,-5, Tile::bookshelf, (Achievement*) nullptr, "032", IDS_ACHIEVE_NAME_REPOPULATION, IDS_ACHIEVE_DESC_REPOPULATION) )->postConstruct();
|
||||
//Achievements::porkChoop // // // // // //
|
||||
Achievements::diamondsToYou = (new Achievement(eAward_diamondsToYou, L"diamondsToYou", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::diamondsToYou = (new Achievement(eAward_diamondsToYou, L"diamondsToYou", 0,0, Tile::bookshelf, (Achievement*) nullptr, "033", IDS_ACHIEVE_NAME_DIAMONDS_TO_YOU, IDS_ACHIEVE_DESC_DIAMONDS_TO_YOU) )->postConstruct();
|
||||
//Achievements::passingTheTime = (new Achievement(eAward_play100Days, L"passingTheTime", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
//Achievements::archer = (new Achievement(eAward_arrowKillCreeper, L"archer", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::theHaggler = (new Achievement(eAward_theHaggler, L"theHaggler", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::potPlanter = (new Achievement(eAward_potPlanter, L"potPlanter", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::itsASign = (new Achievement(eAward_itsASign, L"itsASign", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::ironBelly = (new Achievement(eAward_ironBelly, L"ironBelly", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::haveAShearfulDay = (new Achievement(eAward_haveAShearfulDay, L"haveAShearfulDay", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::rainbowCollection = (new Achievement(eAward_rainbowCollection, L"rainbowCollection", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::stayinFrosty = (new Achievement(eAward_stayinFrosty, L"stayingFrosty", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::chestfulOfCobblestone = (new Achievement(eAward_chestfulOfCobblestone, L"chestfulOfCobblestone", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::renewableEnergy = (new Achievement(eAward_renewableEnergy, L"renewableEnergy", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::musicToMyEars = (new Achievement(eAward_musicToMyEars, L"musicToMyEars", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::bodyGuard = (new Achievement(eAward_bodyGuard, L"bodyGuard", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::ironMan = (new Achievement(eAward_ironMan, L"ironMan", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::zombieDoctor = (new Achievement(eAward_zombieDoctor, L"zombieDoctor", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
Achievements::lionTamer = (new Achievement(eAward_lionTamer, L"lionTamer", 0,0, Tile::bookshelf, (Achievement*) nullptr) )->postConstruct();
|
||||
#endif
|
||||
Achievements::theHaggler = (new Achievement(eAward_theHaggler, L"theHaggler", 0,0, Tile::bookshelf, (Achievement*) nullptr, "037", IDS_ACHIEVE_NAME_THE_HAGGLER, IDS_ACHIEVE_DESC_THE_HAGGLER) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::potPlanter = (new Achievement(eAward_potPlanter, L"potPlanter", 0,0, Tile::bookshelf, (Achievement*) nullptr, "038", IDS_ACHIEVE_NAME_POT_PLANTER, IDS_ACHIEVE_DESC_POT_PLANTER) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::itsASign = (new Achievement(eAward_itsASign, L"itsASign", 0,0, Tile::bookshelf, (Achievement*) nullptr, "039", IDS_ACHIEVE_NAME_ITS_A_SIGN, IDS_ACHIEVE_DESC_ITS_A_SIGN) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::ironBelly = (new Achievement(eAward_ironBelly, L"ironBelly", 0,0, Tile::bookshelf, (Achievement*) nullptr, "040", IDS_ACHIEVE_NAME_IRON_BELLY, IDS_ACHIEVE_DESC_IRON_BELLY) )->postConstruct();
|
||||
Achievements::haveAShearfulDay = (new Achievement(eAward_haveAShearfulDay, L"haveAShearfulDay", 0,0, Tile::bookshelf, (Achievement*) nullptr, "041", IDS_ACHIEVE_NAME_HAVE_A_SHEARFUL_DAY, IDS_ACHIEVE_DESC_HAVE_A_SHEARFUL_DAY) )->postConstruct();
|
||||
Achievements::rainbowCollection = (new Achievement(eAward_rainbowCollection, L"rainbowCollection", 0,0, Tile::bookshelf, (Achievement*) nullptr, "042", IDS_ACHIEVE_NAME_RAINBOW_COLLECTION, IDS_ACHIEVE_DESC_RAINBOW_COLLECTION) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::stayinFrosty = (new Achievement(eAward_stayinFrosty, L"stayingFrosty", 0,0, Tile::bookshelf, (Achievement*) nullptr, "043", IDS_ACHIEVE_NAME_STAYING_FROSTY, IDS_ACHIEVE_DESC_STAYING_FROSTY) )->postConstruct();
|
||||
Achievements::chestfulOfCobblestone = (new Achievement(eAward_chestfulOfCobblestone, L"chestfulOfCobblestone", 0,0, Tile::bookshelf, (Achievement*) nullptr, "044", IDS_ACHIEVE_NAME_CHESTFUL_OF_COBBLESTONE, IDS_ACHIEVE_DESC_CHESTFUL_OF_COBBLESTONE) )->setAwardLocallyOnly()->postConstruct();
|
||||
Achievements::renewableEnergy = (new Achievement(eAward_renewableEnergy, L"renewableEnergy", 0,0, Tile::bookshelf, (Achievement*) nullptr, "045", IDS_ACHIEVE_NAME_RENEWABLE_ENERGY, IDS_ACHIEVE_DESC_RENEWABLE_ENERGY) )->postConstruct();
|
||||
Achievements::musicToMyEars = (new Achievement(eAward_musicToMyEars, L"musicToMyEars", 0,0, Tile::bookshelf, (Achievement*) nullptr, "046", IDS_ACHIEVE_NAME_MUSIC_TO_MY_EARS, IDS_ACHIEVE_DESC_MUSIC_TO_MY_EARS) )->postConstruct();
|
||||
Achievements::bodyGuard = (new Achievement(eAward_bodyGuard, L"bodyGuard", 0,0, Tile::bookshelf, (Achievement*) nullptr, "047", IDS_ACHIEVE_NAME_BODYGUARD, IDS_ACHIEVE_DESC_BODYGUARD) )->postConstruct();
|
||||
Achievements::ironMan = (new Achievement(eAward_ironMan, L"ironMan", 0,0, Tile::bookshelf, (Achievement*) nullptr, "048", IDS_ACHIEVE_NAME_IRON_MAN, IDS_ACHIEVE_DESC_IRON_MAN) )->postConstruct();
|
||||
Achievements::zombieDoctor = (new Achievement(eAward_zombieDoctor, L"zombieDoctor", 0,0, Tile::bookshelf, (Achievement*) nullptr, "049", IDS_ACHIEVE_NAME_ZOMBIE_DOCTOR, IDS_ACHIEVE_DESC_ZOMBIE_DOCTOR) )->postConstruct();
|
||||
Achievements::lionTamer = (new Achievement(eAward_lionTamer, L"lionTamer", 0,0, Tile::bookshelf, (Achievement*) nullptr, "050", IDS_ACHIEVE_NAME_LION_TAMER, IDS_ACHIEVE_DESC_LION_TAMER) )->postConstruct();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,25 +1,19 @@
|
||||
#pragma once
|
||||
using namespace std;
|
||||
|
||||
|
||||
class Achievement;
|
||||
|
||||
class Achievements
|
||||
{
|
||||
friend class Achievement;
|
||||
|
||||
protected:
|
||||
static const int ACHIEVEMENT_OFFSET;
|
||||
|
||||
// maximum position of achievements (min and max)
|
||||
public:
|
||||
static const int ACHIEVEMENT_WIDTH_POSITION = 12;
|
||||
static const int ACHIEVEMENT_HEIGHT_POSITION = 12;
|
||||
|
||||
static int xMin, yMin, xMax, yMax;
|
||||
|
||||
static vector<Achievement *> *achievements;
|
||||
|
||||
static Achievement *openInventory;
|
||||
static Achievement *mineWood;
|
||||
static Achievement *buildWorkbench;
|
||||
@@ -36,7 +30,6 @@ public:
|
||||
static Achievement *killEnemy;
|
||||
static Achievement *killCow;
|
||||
static Achievement *flyPig;
|
||||
|
||||
// 4J-JEV: Present on the PS3.
|
||||
static Achievement *snipeSkeleton;
|
||||
static Achievement *diamonds;
|
||||
@@ -47,29 +40,26 @@ public:
|
||||
static Achievement *theEnd;
|
||||
static Achievement *winGame;
|
||||
static Achievement *enchantments;
|
||||
|
||||
// 4J : WESTY : Added new acheivements.
|
||||
static Achievement *leaderOfThePack;
|
||||
static Achievement *MOARTools;
|
||||
static Achievement *dispenseWithThis;
|
||||
static Achievement *InToTheNether;
|
||||
|
||||
// 4J : WESTY : Added other awards.
|
||||
static Achievement *socialPost;
|
||||
//static Achievement *socialPost;
|
||||
static Achievement *eatPorkChop;
|
||||
static Achievement *play100Days;
|
||||
static Achievement *arrowKillCreeper;
|
||||
static Achievement *mine100Blocks;
|
||||
static Achievement *kill10Creepers;
|
||||
//static Achievement *mine100Blocks;
|
||||
//static Achievement *kill10Creepers;
|
||||
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
static Achievement *overkill; // Old achievements;
|
||||
static Achievement *bookcase; // Old achievements;
|
||||
static Achievement *adventuringTime;
|
||||
static Achievement *repopulation;
|
||||
static Achievement *diamondsToYou;
|
||||
static Achievement *passingTheTime;
|
||||
static Achievement *archer;
|
||||
//static Achievement *passingTheTime;
|
||||
//static Achievement *archer;
|
||||
static Achievement *theHaggler;
|
||||
static Achievement *potPlanter;
|
||||
static Achievement *itsASign;
|
||||
@@ -84,9 +74,7 @@ public:
|
||||
static Achievement *ironMan;
|
||||
static Achievement *zombieDoctor;
|
||||
static Achievement *lionTamer;
|
||||
#endif
|
||||
|
||||
static void staticCtor();
|
||||
|
||||
static void init();
|
||||
};
|
||||
};
|
||||
@@ -81,7 +81,8 @@ Stat* CommonStats::get_blocksPlaced(int blockId)
|
||||
#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE)
|
||||
return Stats::blocksPlaced[blockId];
|
||||
#else
|
||||
return nullptr;
|
||||
return Stats::blocksPlaced[blockId];
|
||||
//return nullptr;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -95,7 +96,7 @@ Stat *CommonStats::get_itemsCollected(int itemId, int itemAux)
|
||||
#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE)
|
||||
if (itemId == Tile::wool_Id) return Stats::rainbowCollection[itemAux];
|
||||
#endif
|
||||
|
||||
if (itemId == Tile::wool_Id) return Stats::rainbowCollection[itemAux];
|
||||
if (itemId != Item::emerald_Id) return Stats::itemsCollected[itemId];
|
||||
else return nullptr;
|
||||
}
|
||||
@@ -111,7 +112,8 @@ Stat *CommonStats::get_itemsUsed(int itemId)
|
||||
if (itemId == Item::porkChop_cooked_Id) return Stats::blocksPlaced[itemId];
|
||||
#endif
|
||||
|
||||
return nullptr;
|
||||
if (itemId == Item::porkChop_cooked_Id) return Stats::blocksPlaced[itemId];
|
||||
//return nullptr;
|
||||
}
|
||||
|
||||
Stat *CommonStats::get_itemsBought(int itemId)
|
||||
@@ -133,7 +135,8 @@ Stat *CommonStats::get_enteredBiome(int biomeId)
|
||||
#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE)
|
||||
return Stats::biomesVisisted[biomeId];
|
||||
#else
|
||||
return nullptr;
|
||||
return Stats::biomesVisisted[biomeId];
|
||||
//return nullptr;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -161,17 +164,17 @@ Stat *CommonStats::get_achievement(eAward achievementId)
|
||||
case eAward_MOARTools: return (Stat *) Achievements::MOARTools;
|
||||
case eAward_DispenseWithThis: return (Stat *) Achievements::dispenseWithThis;
|
||||
case eAward_InToTheNether: return (Stat *) Achievements::InToTheNether;
|
||||
case eAward_mine100Blocks: return (Stat *) Achievements::mine100Blocks;
|
||||
case eAward_kill10Creepers: return (Stat *) Achievements::kill10Creepers;
|
||||
//case eAward_mine100Blocks: return (Stat *) Achievements::mine100Blocks;
|
||||
//case eAward_kill10Creepers: return (Stat *) Achievements::kill10Creepers;
|
||||
case eAward_eatPorkChop: return (Stat *) Achievements::eatPorkChop;
|
||||
case eAward_play100Days: return (Stat *) Achievements::play100Days;
|
||||
case eAward_arrowKillCreeper: return (Stat *) Achievements::arrowKillCreeper;
|
||||
case eAward_socialPost: return (Stat *) Achievements::socialPost;
|
||||
//case eAward_socialPost: return (Stat *) Achievements::socialPost;
|
||||
|
||||
#ifndef _XBOX
|
||||
case eAward_snipeSkeleton: return (Stat *) Achievements::snipeSkeleton;
|
||||
case eAward_diamonds: return (Stat *) Achievements::diamonds;
|
||||
case eAward_portal: return (Stat *) nullptr; // TODO
|
||||
//case eAward_portal: return (Stat *) nullptr; // TODO
|
||||
case eAward_ghast: return (Stat *) Achievements::ghast;
|
||||
case eAward_blazeRod: return (Stat *) Achievements::blazeRod;
|
||||
case eAward_potion: return (Stat *) Achievements::potion;
|
||||
@@ -180,7 +183,6 @@ Stat *CommonStats::get_achievement(eAward achievementId)
|
||||
case eAward_enchantments: return (Stat *) Achievements::enchantments;
|
||||
#endif
|
||||
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
case eAward_overkill: return (Stat *) Achievements::overkill; // Restored old ach.
|
||||
case eAward_bookcase: return (Stat *) Achievements::bookcase; // Restored old ach.
|
||||
|
||||
@@ -203,7 +205,7 @@ Stat *CommonStats::get_achievement(eAward achievementId)
|
||||
case eAward_ironMan: return (Stat *) Achievements::ironMan;
|
||||
case eAward_zombieDoctor: return (Stat *) Achievements::zombieDoctor;
|
||||
case eAward_lionTamer: return (Stat *) Achievements::lionTamer;
|
||||
#endif
|
||||
|
||||
|
||||
default: return (Stat *) nullptr;
|
||||
}
|
||||
|
||||
@@ -94,7 +94,6 @@ shared_ptr<ItemInstance> ContainerMenu::clicked(int slotIndex, int buttonNum, in
|
||||
{
|
||||
shared_ptr<ItemInstance> out = AbstractContainerMenu::clicked(slotIndex, buttonNum, clickType, player, looped);
|
||||
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
shared_ptr<LocalPlayer> localPlayer = dynamic_pointer_cast<LocalPlayer>(player);
|
||||
|
||||
if (localPlayer != nullptr) // 4J-JEV: For "Chestful o'Cobblestone" achievement.
|
||||
@@ -119,7 +118,6 @@ shared_ptr<ItemInstance> ContainerMenu::clicked(int slotIndex, int buttonNum, in
|
||||
localPlayer->awardStat(GenericStats::chestfulOfCobblestone(),GenericStats::param_chestfulOfCobblestone(cobblecount));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "LevelData.h"
|
||||
#include "DirectoryLevelStorage.h"
|
||||
#include "ConsoleSaveFileIO.h"
|
||||
#include "../Minecraft.Client/Minecraft.h"
|
||||
|
||||
const wstring DirectoryLevelStorage::sc_szPlayerDir(L"players/");
|
||||
|
||||
@@ -391,6 +392,7 @@ void DirectoryLevelStorage::save(shared_ptr<Player> player)
|
||||
if( playerXuid != INVALID_XUID && !player->isGuest() )
|
||||
#endif
|
||||
{
|
||||
Minecraft::GetInstance()->forceStatsSave(player->getPlayerIndex());
|
||||
CompoundTag *tag = new CompoundTag();
|
||||
player->saveWithoutId(tag);
|
||||
#if defined(__PS3__) || defined(__ORBIS__) || defined(__PSVITA__)
|
||||
|
||||
@@ -100,10 +100,8 @@ shared_ptr<ItemInstance> FurnaceMenu::quickMoveStack(shared_ptr<Player> player,
|
||||
slot->onQuickCraft(stack, clicked);
|
||||
|
||||
// 4J-JEV, hook for Durango achievement 'Renewable Energy'.
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
if ( charcoalUsed && stack->getItem()->id == Item::coal_Id && stack->getAuxValue() == CoalItem::CHAR_COAL)
|
||||
player->awardStat(GenericStats::renewableEnergy(),GenericStats::param_renewableEnergy());
|
||||
#endif
|
||||
}
|
||||
else if (slotIndex == FUEL_SLOT || slotIndex == INGREDIENT_SLOT)
|
||||
{
|
||||
@@ -164,13 +162,13 @@ shared_ptr<ItemInstance> FurnaceMenu::clicked(int slotIndex, int buttonNum, int
|
||||
|
||||
shared_ptr<ItemInstance> out = AbstractContainerMenu::clicked(slotIndex, buttonNum, clickType, player, looped);
|
||||
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
|
||||
if ( charcoalUsed && (out!=nullptr) && (buttonNum==0 || buttonNum==1) && clickType==CLICK_PICKUP
|
||||
&& out->getItem()->id == Item::coal_Id && out->getAuxValue() == CoalItem::CHAR_COAL )
|
||||
{
|
||||
player->awardStat(GenericStats::renewableEnergy(),GenericStats::param_renewableEnergy());
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
@@ -88,6 +88,7 @@ void FurnaceResultSlot::checkTakeAchievements(shared_ptr<ItemInstance> carried)
|
||||
#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;
|
||||
|
||||
@@ -358,7 +358,7 @@ Stat* GenericStats::overkill()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement( eAward_overkill );
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_overkill);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -367,7 +367,7 @@ Stat* GenericStats::bookcase()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement( eAward_bookcase );
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_bookcase);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -391,10 +391,10 @@ Stat* GenericStats::InToTheNether()
|
||||
return instance->get_achievement( eAward_InToTheNether );
|
||||
}
|
||||
|
||||
Stat* GenericStats::socialPost()
|
||||
{
|
||||
return instance->get_achievement( eAward_socialPost );
|
||||
}
|
||||
//Stat* GenericStats::socialPost()
|
||||
//{
|
||||
// return instance->get_achievement( eAward_socialPost );
|
||||
//}
|
||||
|
||||
Stat* GenericStats::eatPorkChop()
|
||||
{
|
||||
@@ -411,22 +411,22 @@ Stat* GenericStats::arrowKillCreeper()
|
||||
return instance->get_achievement( eAward_arrowKillCreeper );
|
||||
}
|
||||
|
||||
Stat* GenericStats::mine100Blocks()
|
||||
{
|
||||
return instance->get_achievement( eAward_mine100Blocks );
|
||||
}
|
||||
//Stat* GenericStats::mine100Blocks()
|
||||
//{
|
||||
// return instance->get_achievement( eAward_mine100Blocks );
|
||||
//}
|
||||
|
||||
Stat* GenericStats::kill10Creepers()
|
||||
{
|
||||
return instance->get_achievement( eAward_kill10Creepers );
|
||||
}
|
||||
//Stat* GenericStats::kill10Creepers()
|
||||
//{
|
||||
// return instance->get_achievement( eAward_kill10Creepers );
|
||||
//}
|
||||
|
||||
Stat* GenericStats::adventuringTime()
|
||||
{
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_adventuringTime);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_adventuringTime);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -435,7 +435,7 @@ Stat* GenericStats::repopulation()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_repopulation);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_repopulation);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -444,7 +444,7 @@ Stat* GenericStats::porkChop()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_eatPorkChop);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_eatPorkChop);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -453,7 +453,7 @@ Stat* GenericStats::diamondsToYou()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_diamondsToYou);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_diamondsToYou);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -462,7 +462,7 @@ Stat* GenericStats::passingTheTime()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_play100Days);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_play100Days);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -471,7 +471,7 @@ Stat* GenericStats::archer()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_arrowKillCreeper);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_arrowKillCreeper);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -480,7 +480,7 @@ Stat* GenericStats::theHaggler()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_theHaggler);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_theHaggler);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -489,7 +489,7 @@ Stat* GenericStats::potPlanter()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_potPlanter);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_potPlanter);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -498,7 +498,7 @@ Stat* GenericStats::itsASign()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_itsASign);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_itsASign);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -507,7 +507,7 @@ Stat* GenericStats::ironBelly()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_ironBelly);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_ironBelly);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -516,7 +516,7 @@ Stat* GenericStats::haveAShearfulDay()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_haveAShearfulDay);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_haveAShearfulDay);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -525,7 +525,7 @@ Stat* GenericStats::rainbowCollection()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_rainbowCollection);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_rainbowCollection);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -534,7 +534,7 @@ Stat* GenericStats::stayinFrosty()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_stayinFrosty);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_stayinFrosty);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -543,7 +543,7 @@ Stat* GenericStats::chestfulOfCobblestone()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_chestfulOfCobblestone);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_chestfulOfCobblestone);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -552,7 +552,7 @@ Stat* GenericStats::renewableEnergy()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_renewableEnergy);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_renewableEnergy);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -561,7 +561,7 @@ Stat* GenericStats::musicToMyEars()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_musicToMyEars);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_musicToMyEars);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -570,7 +570,7 @@ Stat* GenericStats::bodyGuard()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_bodyGuard);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_bodyGuard);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -579,7 +579,7 @@ Stat* GenericStats::ironMan()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_ironMan);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_ironMan);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -588,7 +588,7 @@ Stat* GenericStats::zombieDoctor()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_zombieDoctor);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_zombieDoctor);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -597,7 +597,7 @@ Stat* GenericStats::lionTamer()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->get_achievement(eAward_lionTamer);
|
||||
#else
|
||||
return nullptr;
|
||||
return instance->get_achievement(eAward_lionTamer);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1057,7 +1057,7 @@ byteArray GenericStats::param_bookcase()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_bookcase);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_bookcase);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1081,10 +1081,10 @@ byteArray GenericStats::param_InToTheNether()
|
||||
return instance->getParam_achievement(eAward_InToTheNether);
|
||||
}
|
||||
|
||||
byteArray GenericStats::param_socialPost()
|
||||
{
|
||||
return instance->getParam_achievement(eAward_socialPost);
|
||||
}
|
||||
//byteArray GenericStats::param_socialPost()
|
||||
//{
|
||||
// return instance->getParam_achievement(eAward_socialPost);
|
||||
//}
|
||||
|
||||
byteArray GenericStats::param_eatPorkChop()
|
||||
{
|
||||
@@ -1101,22 +1101,22 @@ byteArray GenericStats::param_arrowKillCreeper()
|
||||
return instance->getParam_achievement(eAward_arrowKillCreeper);
|
||||
}
|
||||
|
||||
byteArray GenericStats::param_mine100Blocks()
|
||||
{
|
||||
return instance->getParam_achievement(eAward_mine100Blocks);
|
||||
}
|
||||
|
||||
byteArray GenericStats::param_kill10Creepers()
|
||||
{
|
||||
return instance->getParam_achievement(eAward_kill10Creepers);
|
||||
}
|
||||
//byteArray GenericStats::param_mine100Blocks()
|
||||
//{
|
||||
// return instance->getParam_achievement(eAward_mine100Blocks);
|
||||
//}
|
||||
//
|
||||
//byteArray GenericStats::param_kill10Creepers()
|
||||
//{
|
||||
// return instance->getParam_achievement(eAward_kill10Creepers);
|
||||
//}
|
||||
|
||||
byteArray GenericStats::param_adventuringTime()
|
||||
{
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_adventuringTime);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_adventuringTime);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1125,7 +1125,7 @@ byteArray GenericStats::param_repopulation()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_repopulation);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_repopulation);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1134,7 +1134,7 @@ byteArray GenericStats::param_porkChop()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_eatPorkChop);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_eatPorkChop);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1143,7 +1143,7 @@ byteArray GenericStats::param_diamondsToYou()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_diamondsToYou);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_diamondsToYou);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1152,7 +1152,7 @@ byteArray GenericStats::param_passingTheTime()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_play100Days);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_play100Days);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1161,7 +1161,7 @@ byteArray GenericStats::param_archer()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_arrowKillCreeper);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_arrowKillCreeper);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1170,7 +1170,7 @@ byteArray GenericStats::param_theHaggler()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_theHaggler);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_theHaggler);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1179,7 +1179,7 @@ byteArray GenericStats::param_potPlanter()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_potPlanter);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_potPlanter);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1188,7 +1188,7 @@ byteArray GenericStats::param_itsASign()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_itsASign);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_itsASign);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1197,7 +1197,7 @@ byteArray GenericStats::param_ironBelly()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_ironBelly);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_ironBelly);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1206,7 +1206,7 @@ byteArray GenericStats::param_haveAShearfulDay()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_haveAShearfulDay);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_haveAShearfulDay);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1215,7 +1215,7 @@ byteArray GenericStats::param_rainbowCollection()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_rainbowCollection);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_rainbowCollection);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1224,7 +1224,7 @@ byteArray GenericStats::param_stayinFrosty()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_stayinFrosty);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_stayinFrosty);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1238,7 +1238,7 @@ byteArray GenericStats::param_renewableEnergy()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_renewableEnergy);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_renewableEnergy);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1252,7 +1252,7 @@ byteArray GenericStats::param_bodyGuard()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_bodyGuard);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_bodyGuard);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1261,7 +1261,7 @@ byteArray GenericStats::param_ironMan()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_ironMan);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_ironMan);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1270,7 +1270,7 @@ byteArray GenericStats::param_zombieDoctor()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_zombieDoctor);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_zombieDoctor);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1279,6 +1279,6 @@ byteArray GenericStats::param_lionTamer()
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
return instance->getParam_achievement(eAward_lionTamer);
|
||||
#else
|
||||
return instance->getParam_noArgs();
|
||||
return instance->getParam_achievement(eAward_lionTamer);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -235,7 +235,6 @@ shared_ptr<ItemInstance> InventoryMenu::clicked(int slotIndex, int buttonNum, in
|
||||
{
|
||||
shared_ptr<ItemInstance> out = AbstractContainerMenu::clicked(slotIndex, buttonNum, clickType, player, looped);
|
||||
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
static int ironItems[4] = {Item::helmet_iron_Id,Item::chestplate_iron_Id,Item::leggings_iron_Id,Item::boots_iron_Id};
|
||||
for (int i = ARMOR_SLOT_START; i < ARMOR_SLOT_END; i++)
|
||||
{
|
||||
@@ -246,7 +245,7 @@ shared_ptr<ItemInstance> InventoryMenu::clicked(int slotIndex, int buttonNum, in
|
||||
}
|
||||
}
|
||||
player->awardStat(GenericStats::ironMan(),GenericStats::param_ironMan());
|
||||
#endif
|
||||
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
@@ -242,7 +242,7 @@ void ItemEntity::playerTouch(shared_ptr<Player> player)
|
||||
{
|
||||
player->awardStat(GenericStats::diamonds(), GenericStats::param_diamonds());
|
||||
|
||||
#ifdef _EXTENDED_ACHIEVEMENTS
|
||||
|
||||
if ( getItem()->getItem()->id )
|
||||
{
|
||||
shared_ptr<Player> pThrower = level->getPlayerByName(getThrower());
|
||||
@@ -251,7 +251,6 @@ void ItemEntity::playerTouch(shared_ptr<Player> player)
|
||||
pThrower->awardStat(GenericStats::diamondsToYou(), GenericStats::param_diamondsToYou());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
if (item->id == Item::blazeRod_Id)
|
||||
player->awardStat(GenericStats::blazeRod(), GenericStats::param_blazeRod());
|
||||
|
||||
@@ -2483,10 +2483,10 @@ void Player::startUsingItem(shared_ptr<ItemInstance> instance, int duration)
|
||||
awardStat(GenericStats::itemsUsed(instance->getItem()->id),
|
||||
GenericStats::param_itemsUsed(dynamic_pointer_cast<Player>(shared_from_this()),instance));
|
||||
|
||||
#if (!defined _DURANGO) && (defined _EXTENDED_ACHIEVEMENTS)
|
||||
|
||||
if ( (instance->getItem()->id == Item::rotten_flesh_Id) && (getFoodData()->getFoodLevel() == 0) )
|
||||
awardStat(GenericStats::ironBelly(), GenericStats::param_ironBelly());
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
bool Player::mayDestroyBlockAt(int x, int y, int z)
|
||||
|
||||
@@ -23,9 +23,8 @@ vector<ItemStat *> *Stats::blocksMinedStats = new vector<ItemStat *>;
|
||||
vector<ItemStat *> *Stats::itemsCollectedStats = new vector<ItemStat *>;
|
||||
vector<ItemStat *> *Stats::itemsCraftedStats = new vector<ItemStat *>;
|
||||
|
||||
#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _DURANGO)
|
||||
vector<ItemStat *> *Stats::blocksPlacedStats = new vector<ItemStat *>;
|
||||
#endif
|
||||
|
||||
|
||||
Stat *Stats::walkOneM = nullptr;
|
||||
Stat *Stats::swimOneM = nullptr;
|
||||
@@ -56,11 +55,11 @@ StatArray Stats::blocksMined;
|
||||
StatArray Stats::itemsCollected;
|
||||
StatArray Stats::itemsCrafted;
|
||||
|
||||
#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _DURANGO)
|
||||
|
||||
StatArray Stats::blocksPlaced;
|
||||
StatArray Stats::rainbowCollection;
|
||||
StatArray Stats::biomesVisisted;
|
||||
#endif
|
||||
|
||||
|
||||
Stat *Stats::killsEnderdragon = nullptr; // The number of times this player has dealt the killing blow to the Enderdragon
|
||||
Stat *Stats::completeTheEnd = nullptr; // The number of times this player has been present when the Enderdragon has died
|
||||
@@ -473,7 +472,7 @@ void Stats::buildAdditionalStats()
|
||||
Stats::completeTheEnd = (new GeneralStat(offset++, L"stat.completeTheEnd"))->postConstruct();
|
||||
|
||||
|
||||
#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _DURANGO)
|
||||
|
||||
{
|
||||
ItemStat *itemStat = new ItemStat(offset++, L"craftItem.flowerPot", Item::flowerPot_Id);
|
||||
itemsCraftedStats->push_back(itemStat);
|
||||
@@ -547,7 +546,6 @@ void Stats::buildAdditionalStats()
|
||||
blocksPlaced[itemStat->getItemId()] = itemStat;
|
||||
itemStat->postConstruct();
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -25,9 +25,9 @@ public:
|
||||
static vector<ItemStat *> *itemsCollectedStats;
|
||||
static vector<ItemStat *> *itemsCraftedStats;
|
||||
|
||||
#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _DURANGO)
|
||||
|
||||
static vector<ItemStat *> *blocksPlacedStats;
|
||||
#endif
|
||||
|
||||
|
||||
static Stat *walkOneM;
|
||||
static Stat *swimOneM;
|
||||
@@ -60,18 +60,18 @@ public:
|
||||
static StatArray itemsCollected;
|
||||
static StatArray itemsCrafted;
|
||||
|
||||
#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _DURANGO)
|
||||
|
||||
static StatArray blocksPlaced;
|
||||
#endif
|
||||
|
||||
|
||||
// Added TU9
|
||||
static Stat *killsEnderdragon; // The number of times this player has dealt the killing blow to the Enderdragon
|
||||
static Stat *completeTheEnd; // The number of times this player has been present when the Enderdragon has died
|
||||
|
||||
#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _DURANGO)
|
||||
|
||||
static StatArray biomesVisisted;
|
||||
static StatArray rainbowCollection;
|
||||
#endif
|
||||
|
||||
|
||||
static void staticCtor();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user