the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 298 lines 10 kB view raw
1#include "stdafx.h" 2#include "Achievements.h" 3#include "Item.h" 4#include "Tile.h" 5#include "CommonStats.h" 6 7Stat *CommonStats::get_stat(int i) 8{ 9 return Stats::get(i); 10} 11 12Stat* CommonStats::get_walkOneM() { return Stats::walkOneM; } 13 14Stat* CommonStats::get_swimOneM() { return Stats::swimOneM; } 15 16Stat* CommonStats::get_fallOneM() { return Stats::fallOneM; } 17 18Stat* CommonStats::get_climbOneM() { return Stats::climbOneM; } 19 20Stat* CommonStats::get_minecartOneM() { return Stats::minecartOneM; } 21 22Stat* CommonStats::get_boatOneM() { return Stats::boatOneM; } 23 24Stat* CommonStats::get_pigOneM() { return Stats::pigOneM; } 25 26Stat* CommonStats::get_portalsCreated() { return Stats::portalsCreated; } 27 28Stat* CommonStats::get_cowsMilked() { return Stats::cowsMilked; } 29 30Stat* CommonStats::get_netherLavaCollected() { return Stats::netherLavaCollected; } 31 32Stat* CommonStats::get_killsZombie() { return Stats::killsZombie; } 33 34Stat* CommonStats::get_killsSkeleton() { return Stats::killsSkeleton; } 35 36Stat* CommonStats::get_killsCreeper() { return Stats::killsCreeper; } 37 38Stat* CommonStats::get_killsSpider() { return Stats::killsSpider; } 39 40Stat* CommonStats::get_killsSpiderJockey() { return Stats::killsSpiderJockey; } 41 42Stat* CommonStats::get_killsZombiePigman() { return Stats::killsZombiePigman; } 43 44Stat* CommonStats::get_killsSlime() { return Stats::killsSlime; } 45 46Stat* CommonStats::get_killsGhast() { return Stats::killsGhast; } 47 48Stat* CommonStats::get_killsNetherZombiePigman() { return Stats::killsNetherZombiePigman; } 49 50Stat *CommonStats::get_breedEntity(eINSTANCEOF mobType) 51{ 52 if (mobType == eTYPE_COW) return GenericStats::repopulation(); 53 else return NULL; 54} 55 56Stat *CommonStats::get_tamedEntity(eINSTANCEOF mobType) 57{ 58 if (mobType == eTYPE_OCELOT) return GenericStats::lionTamer(); 59 else if (mobType == eTYPE_WOLF) return Stats::befriendsWolf; 60 else return NULL; 61} 62 63Stat *CommonStats::get_craftedEntity(eINSTANCEOF mobType) 64{ 65 if (mobType == eTYPE_VILLAGERGOLEM) return GenericStats::bodyGuard(); 66 else return NULL; 67} 68 69Stat *CommonStats::get_shearedEntity(eINSTANCEOF mobType) 70{ 71 if (mobType == eTYPE_SHEEP) return GenericStats::haveAShearfulDay(); 72 else return NULL; 73} 74 75Stat *CommonStats::get_totalBlocksMined() { return Stats::totalBlocksMined; } 76 77Stat* CommonStats::get_timePlayed() { return Stats::timePlayed; } 78 79Stat* CommonStats::get_blocksPlaced(int blockId) 80{ 81#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE) 82 return Stats::blocksPlaced[blockId]; 83#else 84 return NULL; 85#endif 86} 87 88Stat *CommonStats::get_blocksMined(int blockId) { return Stats::blocksMined[blockId]; } 89 90Stat *CommonStats::get_itemsCollected(int itemId, int itemAux) 91{ 92 // 4J-JEV: We don't need itemsCollected(emerald) so I'm using it to 93 // stor itemsBought(emerald) so I don't have to make yet another massive 94 // StatArray for Items Bought. 95#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE) 96 if (itemId == Tile::wool_Id) return Stats::rainbowCollection[itemAux]; 97#endif 98 99 if (itemId != Item::emerald_Id) return Stats::itemsCollected[itemId]; 100 else return NULL; 101} 102 103Stat *CommonStats::get_itemsCrafted(int itemId) { return Stats::itemsCrafted[itemId]; } 104 105Stat *CommonStats::get_itemsSmelted(int itemId) { return Stats::itemsCrafted[itemId]; } 106 107Stat *CommonStats::get_itemsUsed(int itemId) 108{ 109#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE) 110 // 4J-JEV: I've done the same thing here, we can't place these items anyway. 111 if (itemId == Item::porkChop_cooked_Id) return Stats::blocksPlaced[itemId]; 112#endif 113 114 return NULL; 115} 116 117Stat *CommonStats::get_itemsBought(int itemId) 118{ 119 // 4J-JEV: We don't need itemsCollected(emerald) so I'm using it to 120 // stor itemsBought(emerald) so I don't have to make yet another massive 121 // StatArray for Items Bought. 122 123 if (itemId == Item::emerald_Id) return Stats::itemsCollected[itemId]; 124 else return NULL; 125} 126 127Stat *CommonStats::get_killsEnderdragon() { return Stats::killsEnderdragon; } 128 129Stat *CommonStats::get_completeTheEnd() { return Stats::completeTheEnd; } 130 131Stat *CommonStats::get_enteredBiome(int biomeId) 132{ 133#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE) 134 return Stats::biomesVisisted[biomeId]; 135#else 136 return NULL; 137#endif 138} 139 140Stat *CommonStats::get_achievement(eAward achievementId) 141{ 142 switch (achievementId) 143 { 144 case eAward_TakingInventory: return (Stat *) Achievements::openInventory; 145 case eAward_GettingWood: return (Stat *) Achievements::mineWood; 146 case eAward_Benchmarking: return (Stat *) Achievements::buildWorkbench; 147 case eAward_TimeToMine: return (Stat *) Achievements::buildPickaxe; 148 case eAward_HotTopic: return (Stat *) Achievements::buildFurnace; 149 case eAward_AquireHardware: return (Stat *) Achievements::acquireIron; 150 case eAward_TimeToFarm: return (Stat *) Achievements::buildHoe; 151 case eAward_BakeBread: return (Stat *) Achievements::makeBread; 152 case eAward_TheLie: return (Stat *) Achievements::bakeCake; 153 case eAward_GettingAnUpgrade: return (Stat *) Achievements::buildBetterPickaxe; 154 case eAward_DeliciousFish: return (Stat *) Achievements::cookFish; 155 case eAward_OnARail: return (Stat *) Achievements::onARail; 156 case eAward_TimeToStrike: return (Stat *) Achievements::buildSword; 157 case eAward_MonsterHunter: return (Stat *) Achievements::killEnemy; 158 case eAward_CowTipper: return (Stat *) Achievements::killCow; 159 case eAward_WhenPigsFly: return (Stat *) Achievements::flyPig; 160 case eAward_LeaderOfThePack: return (Stat *) Achievements::leaderOfThePack; 161 case eAward_MOARTools: return (Stat *) Achievements::MOARTools; 162 case eAward_DispenseWithThis: return (Stat *) Achievements::dispenseWithThis; 163 case eAward_InToTheNether: return (Stat *) Achievements::InToTheNether; 164 case eAward_mine100Blocks: return (Stat *) Achievements::mine100Blocks; 165 case eAward_kill10Creepers: return (Stat *) Achievements::kill10Creepers; 166 case eAward_eatPorkChop: return (Stat *) Achievements::eatPorkChop; 167 case eAward_play100Days: return (Stat *) Achievements::play100Days; 168 case eAward_arrowKillCreeper: return (Stat *) Achievements::arrowKillCreeper; 169 case eAward_socialPost: return (Stat *) Achievements::socialPost; 170 171#ifndef _XBOX 172 case eAward_snipeSkeleton: return (Stat *) Achievements::snipeSkeleton; 173 case eAward_diamonds: return (Stat *) Achievements::diamonds; 174 case eAward_portal: return (Stat *) NULL; // TODO 175 case eAward_ghast: return (Stat *) Achievements::ghast; 176 case eAward_blazeRod: return (Stat *) Achievements::blazeRod; 177 case eAward_potion: return (Stat *) Achievements::potion; 178 case eAward_theEnd: return (Stat *) Achievements::theEnd; 179 case eAward_winGame: return (Stat *) Achievements::winGame; 180 case eAward_enchantments: return (Stat *) Achievements::enchantments; 181#endif 182 183#ifdef _EXTENDED_ACHIEVEMENTS 184 case eAward_overkill: return (Stat *) Achievements::overkill; // Restored old ach. 185 case eAward_bookcase: return (Stat *) Achievements::bookcase; // Restored old ach. 186 187 case eAward_adventuringTime: return (Stat *) Achievements::adventuringTime; 188 case eAward_repopulation: return (Stat *) Achievements::repopulation; 189 case eAward_diamondsToYou: return (Stat *) Achievements::diamondsToYou; 190 //case eAward_passingTheTime: return (Stat *) Achievements::passingTheTime; 191 //case eAward_archer: return (Stat *) Achievements::archer; 192 case eAward_theHaggler: return (Stat *) Achievements::theHaggler; 193 case eAward_potPlanter: return (Stat *) Achievements::potPlanter; 194 case eAward_itsASign: return (Stat *) Achievements::itsASign; 195 case eAward_ironBelly: return (Stat *) Achievements::ironBelly; 196 case eAward_haveAShearfulDay: return (Stat *) Achievements::haveAShearfulDay; 197 case eAward_rainbowCollection: return (Stat *) Achievements::rainbowCollection; 198 case eAward_stayinFrosty: return (Stat *) Achievements::stayinFrosty; 199 case eAward_chestfulOfCobblestone: return (Stat *) Achievements::chestfulOfCobblestone; 200 case eAward_renewableEnergy: return (Stat *) Achievements::renewableEnergy; 201 case eAward_musicToMyEars: return (Stat *) Achievements::musicToMyEars; 202 case eAward_bodyGuard: return (Stat *) Achievements::bodyGuard; 203 case eAward_ironMan: return (Stat *) Achievements::ironMan; 204 case eAward_zombieDoctor: return (Stat *) Achievements::zombieDoctor; 205 case eAward_lionTamer: return (Stat *) Achievements::lionTamer; 206#endif 207 208 default: return (Stat *) NULL; 209 } 210} 211 212byteArray CommonStats::getParam_walkOneM(int distance) 213{ 214 return makeParam(distance); 215} 216 217byteArray CommonStats::getParam_swimOneM(int distance) 218{ 219 return makeParam(distance); 220} 221 222byteArray CommonStats::getParam_fallOneM(int distance) 223{ 224 return makeParam(distance); 225} 226 227byteArray CommonStats::getParam_climbOneM(int distance) 228{ 229 return makeParam(distance); 230} 231 232byteArray CommonStats::getParam_minecartOneM(int distance) 233{ 234 return makeParam(distance); 235} 236 237byteArray CommonStats::getParam_boatOneM(int distance) 238{ 239 return makeParam(distance); 240} 241 242byteArray CommonStats::getParam_pigOneM(int distance) 243{ 244 return makeParam(distance); 245} 246 247byteArray CommonStats::getParam_blocksMined(int id, int data, int count) 248{ 249 return makeParam(count); 250} 251 252byteArray CommonStats::getParam_itemsCollected(int id, int aux, int count) 253{ 254 return makeParam(count); 255} 256 257byteArray CommonStats::getParam_itemsCrafted(int id, int aux, int count) 258{ 259 return makeParam(count); 260} 261 262byteArray CommonStats::getParam_itemsSmelted(int id, int aux, int count) 263{ 264 return makeParam(count); 265} 266 267byteArray CommonStats::getParam_itemsUsed(int id, int aux, int count) 268{ 269 return makeParam(count); 270} 271 272byteArray CommonStats::getParam_itemsBought(int id, int aux, int count) 273{ 274 return makeParam(count); 275} 276 277byteArray CommonStats::getParam_time(int timediff) 278{ 279 return makeParam(timediff); 280} 281 282byteArray CommonStats::getParam_noArgs() 283{ 284 return makeParam(); 285} 286 287byteArray CommonStats::makeParam(int count) 288{ 289 byteArray out( sizeof(int) ); 290 memcpy(out.data,&count,sizeof(int)); 291 return out; 292} 293 294int CommonStats::readParam(byteArray paramBlob) 295{ 296 if (paramBlob.length == sizeof(int)) return *( (int*) paramBlob.data ); 297 else return 1; 298}