#include "stdafx.h" #include "LottoConfig.h" // implemented by __NA_001359_20090619_HEIM_LOTTO_SYSTEM LottoConfig::LottoConfig() : prizes_(NULL) { } LottoConfig::~LottoConfig() { if (prizes_ != NULL) { delete[] prizes_; } } bool LottoConfig::Init() { // º¹±Ç ¿ëÁö 1¸ÅÀÇ ±¸ÀÔ °¡°Ý (ÇÏÀÓ) // ÀÀ¸ð±Ç ij½Ã ÆÇ¸Å ±â´É(_NA_20101011_HEIM_LOTTO_CASH_TICKET)ÀÌ È°¼ºÈ­µÇ¸é »ç¿ëµÇÁö ¾Ê´Â´Ù. #if defined(_CHINA) ticketPrice_ = 1000000; // º¹±Ç ¿ëÁö 1¸ÅÀÇ ±¸ÀÔ °¡°Ý #elif defined(_TAIWAN) ticketPrice_ = 2000000; // º¹±Ç ¿ëÁö 1¸Å¸¦ ȹµæÇϱâ À§ÇØ 2,000,000ÇÏÀÓ ÁöÃâ ÇÊ¿ä #else ticketPrice_ = 10000; // º¹±Ç ¿ëÁö 1¸Å¸¦ ȹµæÇϱâ À§ÇØ 10,000ÇÏÀÓ ÁöÃâ ÇÊ¿ä #endif // À¯È¿ ÇÏÀÓ ¼Òºñ À¯Çü, ±Û·Î¹ú Àû¸³À²°ú »óÀκ° Àû¸³À²Àº // º¹±Ç¿ëÁö Á÷Á¢ ±¸ÀÔ ±â´É(_NA_0_20100115_HEIM_LOTTO_TICKET_PURCHASE)ÀÌ È°¼ºÈ­µÇ¸é Àû¿ëµÇÁö ¾Ê´Â´Ù. // º¹±Ç ¿ëÁö ȹµæÀ» À§ÇØ ÀÎÁ¤µÇ´Â À¯È¿ÇÑ ÇÏÀÓ ¼Òºñ À¯Çü consumptionFlag_ = 0; consumptionFlag_ |= (1 << eHEIM_CONSUMPTION_WAYPOINT); // ¿þÀÌÆ÷ÀÎÆ® ºñ¿ë consumptionFlag_ |= (1 << eHEIM_CONSUMPTION_RANKUP); // ·©Å©¾÷ ºñ¿ë consumptionFlag_ |= (1 << eHEIM_CONSUMPTION_COMPOSITION); // Á¶ÇÕ ºñ¿ë consumptionFlag_ |= (1 << eHEIM_CONSUMPTION_NPC_SHOP); // NPC »óÀο¡°Ô¼­ ±¸ÀÔ consumptionFlag_ |= (1 << eHEIM_CONSUMPTION_REPAIR); // ¾ÆÀÌÅÛ ¼ö¸® //consumptionFlag_ |= (1 << eHEIM_CONSUMPTION_ENCHANT); // ÀÎæÆÃ ºñ¿ë #if defined(_TAIWAN) accumulationRate_ = 0.5f; // À¯È¿ ÁöÃâÀÇ 50%¸¦ Àû¸³¾×À¸·Î Àüȯ #else accumulationRate_ = 0.6f; // À¯È¿ ÁöÃâÀÇ 60%¸¦ Àû¸³¾×À¸·Î Àüȯ #endif // ´ç÷±Ý Áö±Þ Á¶°Ç numPrizes_ = 3; if (prizes_ != NULL) { delete[] prizes_; } prizes_ = new LottoPrize[numPrizes_]; // Would crash on out-of-memory condition // 1µî ´ç÷±Ý LottoPrize& firstPrize = prizes_[0]; firstPrize.type = LottoPrize::TYPE_RATIO; firstPrize.value.ratio = 0.5f; // 50% // 2µî ´ç÷±Ý LottoPrize& secondPrize = prizes_[1]; secondPrize.type = LottoPrize::TYPE_RATIO; secondPrize.value.ratio = 0.1f; // 10% // 3µî ´ç÷±Ý LottoPrize& thirdPrize = prizes_[2]; thirdPrize.type = LottoPrize::TYPE_AMOUNT; #if defined(_CHINA) thirdPrize.value.amount = 3000000; #elif defined(_TAIWAN) thirdPrize.value.amount = 50000; #elif defined(_GLOBAL) || defined(_RUSSIA) thirdPrize.value.amount = 1000000; #else thirdPrize.value.amount = 5000; #endif // Ãß÷ ÀϽà schedule_.ResetAll(); #if defined (_GLOBAL) || defined(_RUSSIA) // »ó¿ë: ¸Å Åä¿äÀÏ ¿ÀÈÄ 14½Ã 00ºÐ schedule_.SetDayOfWeek(Schedule::SATURDAY); schedule_.SetHour(14); schedule_.SetMinute(00); #else // »ó¿ë: ¸Å ±Ý¿äÀÏ ¿ÀÈÄ 8½Ã 45ºÐ schedule_.SetDayOfWeek(Schedule::FRIDAY); schedule_.SetHour(20); schedule_.SetMinute(45); #endif // °³¹ß Å×½ºÆ®¿ë: ¸Å Á¤½Ã /* schedule_.SetDayOfWeek(); schedule_.SetHour(); schedule_.SetMinute(0); */ // ÃÊ ´ÜÀ§ÀÇ Ä«¿îÆ® ´Ù¿î ½ÃÁ¡µé // Ãß÷ ½Ã°£ üũ°¡ 1ºÐ ´ÜÀ§À̹ǷÎ, 1ºÐ(60ÃÊ) ¹Ì¸¸À¸·Î´Â ¼³Á¤ÇÒ ¼ö ¾ø´Ù reminders_.clear(); reminders_.push_back(30 * 60); //reminders_.push_back(20 * 60); //reminders_.push_back(10 * 60); reminders_.push_back(5 * 60); //reminders_.push_back(4 * 60); //reminders_.push_back(3 * 60); //reminders_.push_back(2 * 60); //reminders_.push_back(1 * 60); std::sort(reminders_.rbegin(), reminders_.rend()); // ³»¸²Â÷¼ø Á¤·Ä return true; } const LottoPrize* LottoConfig::GetPrize(int rank) const { ASSERT(1 <= rank && rank <= numPrizes_); if (rank < 1 || numPrizes_ < rank) { return NULL; } return &prizes_[rank - 1]; }