forked from metin2/server
remove unnecessary leftover closures
This commit is contained in:
parent
dbcabd7fa9
commit
0a907f41d2
@ -215,9 +215,7 @@ EVENTFUNC(oxevent_timer)
|
|||||||
SendNoticeMap(LC_TEXT("No (X)"), OXEVENT_MAP_INDEX, true);
|
SendNoticeMap(LC_TEXT("No (X)"), OXEVENT_MAP_INDEX, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
SendNoticeMap(LC_TEXT("In 5 sec. everyone who gave an incorrect answer will be removed."), OXEVENT_MAP_INDEX, true);
|
||||||
SendNoticeMap(LC_TEXT("In 5 sec. everyone who gave an incorrect answer will be removed."), OXEVENT_MAP_INDEX, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
flag++;
|
flag++;
|
||||||
return PASSES_PER_SEC(5);
|
return PASSES_PER_SEC(5);
|
||||||
|
@ -205,19 +205,14 @@ int CalcMagicDamage(LPCHARACTER pkAttacker, LPCHARACTER pkVictim)
|
|||||||
|
|
||||||
float CalcAttackRating(LPCHARACTER pkAttacker, LPCHARACTER pkVictim, bool bIgnoreTargetRating)
|
float CalcAttackRating(LPCHARACTER pkAttacker, LPCHARACTER pkVictim, bool bIgnoreTargetRating)
|
||||||
{
|
{
|
||||||
int iARSrc;
|
int iARSrc = std::min(90, (attacker_dx * 4 + attacker_lv * 2) / 6);
|
||||||
int iERSrc;
|
int iERSrc = std::min(90, (victim_dx * 4 + victim_lv * 2) / 6);
|
||||||
|
|
||||||
{
|
int attacker_dx = pkAttacker->GetPolymorphPoint(POINT_DX);
|
||||||
int attacker_dx = pkAttacker->GetPolymorphPoint(POINT_DX);
|
int attacker_lv = pkAttacker->GetLevel();
|
||||||
int attacker_lv = pkAttacker->GetLevel();
|
|
||||||
|
|
||||||
int victim_dx = pkVictim->GetPolymorphPoint(POINT_DX);
|
int victim_dx = pkVictim->GetPolymorphPoint(POINT_DX);
|
||||||
int victim_lv = pkAttacker->GetLevel();
|
int victim_lv = pkAttacker->GetLevel();
|
||||||
|
|
||||||
iARSrc = std::min(90, (attacker_dx * 4 + attacker_lv * 2) / 6);
|
|
||||||
iERSrc = std::min(90, (victim_dx * 4 + victim_lv * 2) / 6);
|
|
||||||
}
|
|
||||||
|
|
||||||
float fAR = ((float) iARSrc + 210.0f) / 300.0f; // fAR = 0.7 ~ 1.0
|
float fAR = ((float) iARSrc + 210.0f) / 300.0f; // fAR = 0.7 ~ 1.0
|
||||||
|
|
||||||
|
@ -2112,10 +2112,8 @@ void CHARACTER::ComputeBattlePoints()
|
|||||||
iArmor += GetPoint(POINT_PARTY_DEFENDER_BONUS);
|
iArmor += GetPoint(POINT_PARTY_DEFENDER_BONUS);
|
||||||
|
|
||||||
// INTERNATIONAL_VERSION
|
// INTERNATIONAL_VERSION
|
||||||
{
|
PointChange(POINT_DEF_GRADE, iDef + iArmor);
|
||||||
PointChange(POINT_DEF_GRADE, iDef + iArmor);
|
PointChange(POINT_CLIENT_DEF_GRADE, (iShowDef + iArmor) - GetPoint(POINT_DEF_GRADE));
|
||||||
PointChange(POINT_CLIENT_DEF_GRADE, (iShowDef + iArmor) - GetPoint(POINT_DEF_GRADE));
|
|
||||||
}
|
|
||||||
// END_OF_INTERNATIONAL_VERSION
|
// END_OF_INTERNATIONAL_VERSION
|
||||||
|
|
||||||
PointChange(POINT_MAGIC_ATT_GRADE, GetLevel() * 2 + GetPoint(POINT_IQ) * 2 + GetPoint(POINT_MAGIC_ATT_GRADE_BONUS));
|
PointChange(POINT_MAGIC_ATT_GRADE, GetLevel() * 2 + GetPoint(POINT_IQ) * 2 + GetPoint(POINT_MAGIC_ATT_GRADE_BONUS));
|
||||||
@ -5124,11 +5122,9 @@ bool CHARACTER::WarpSet(int x, int y, int lPrivateMapIndex)
|
|||||||
|
|
||||||
GetDesc()->Packet(&p, sizeof(TPacketGCWarp));
|
GetDesc()->Packet(&p, sizeof(TPacketGCWarp));
|
||||||
|
|
||||||
{
|
char buf[256];
|
||||||
char buf[256];
|
snprintf(buf, sizeof(buf), "%s MapIdx %d DestMapIdx%d DestX%d DestY%d Empire%d", GetName(), GetMapIndex(), lPrivateMapIndex, x, y, GetEmpire());
|
||||||
snprintf(buf, sizeof(buf), "%s MapIdx %d DestMapIdx%d DestX%d DestY%d Empire%d", GetName(), GetMapIndex(), lPrivateMapIndex, x, y, GetEmpire());
|
LogManager::instance().CharLog(this, 0, "WARP", buf);
|
||||||
LogManager::instance().CharLog(this, 0, "WARP", buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -473,70 +473,68 @@ bool CHARACTER::LearnSkillByBook(DWORD dwSkillVnum, BYTE bProb)
|
|||||||
|
|
||||||
SPDLOG_DEBUG("LearnSkillByBook {} table idx {} value {}", GetName(), idx, aiSkillBookCountForLevelUp[idx]);
|
SPDLOG_DEBUG("LearnSkillByBook {} table idx {} value {}", GetName(), idx, aiSkillBookCountForLevelUp[idx]);
|
||||||
|
|
||||||
|
int need_bookcount = GetSkillLevel(dwSkillVnum) - 20;
|
||||||
|
|
||||||
|
PointChange(POINT_EXP, -need_exp);
|
||||||
|
|
||||||
|
quest::CQuestManager& q = quest::CQuestManager::instance();
|
||||||
|
quest::PC* pPC = q.GetPC(GetPlayerID());
|
||||||
|
|
||||||
|
if (pPC)
|
||||||
{
|
{
|
||||||
int need_bookcount = GetSkillLevel(dwSkillVnum) - 20;
|
char flag[128+1];
|
||||||
|
memset(flag, 0, sizeof(flag));
|
||||||
|
snprintf(flag, sizeof(flag), "traning_master_skill.%u.read_count", dwSkillVnum);
|
||||||
|
|
||||||
PointChange(POINT_EXP, -need_exp);
|
int read_count = pPC->GetFlag(flag);
|
||||||
|
int percent = 65;
|
||||||
|
|
||||||
quest::CQuestManager& q = quest::CQuestManager::instance();
|
if (FindAffect(AFFECT_SKILL_BOOK_BONUS))
|
||||||
quest::PC* pPC = q.GetPC(GetPlayerID());
|
|
||||||
|
|
||||||
if (pPC)
|
|
||||||
{
|
{
|
||||||
char flag[128+1];
|
percent = 0;
|
||||||
memset(flag, 0, sizeof(flag));
|
RemoveAffect(AFFECT_SKILL_BOOK_BONUS);
|
||||||
snprintf(flag, sizeof(flag), "traning_master_skill.%u.read_count", dwSkillVnum);
|
}
|
||||||
|
|
||||||
int read_count = pPC->GetFlag(flag);
|
if (Random::get(1, 100) > percent)
|
||||||
int percent = 65;
|
{
|
||||||
|
// 책읽기에 성공
|
||||||
if (FindAffect(AFFECT_SKILL_BOOK_BONUS))
|
if (read_count >= need_bookcount)
|
||||||
{
|
{
|
||||||
percent = 0;
|
SkillLevelUp(dwSkillVnum, SKILL_UP_BY_BOOK);
|
||||||
RemoveAffect(AFFECT_SKILL_BOOK_BONUS);
|
pPC->SetFlag(flag, 0);
|
||||||
|
|
||||||
|
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You have successfully finished your training with the Book."));
|
||||||
|
LogManager::instance().CharLog(this, dwSkillVnum, "READ_SUCCESS", "");
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
if (Random::get(1, 100) > percent)
|
|
||||||
{
|
{
|
||||||
// 책읽기에 성공
|
pPC->SetFlag(flag, read_count + 1);
|
||||||
if (read_count >= need_bookcount)
|
|
||||||
|
switch (Random::get(1, 3))
|
||||||
{
|
{
|
||||||
SkillLevelUp(dwSkillVnum, SKILL_UP_BY_BOOK);
|
case 1:
|
||||||
pPC->SetFlag(flag, 0);
|
ChatPacket(CHAT_TYPE_TALKING, LC_TEXT("I'm making progress, but I still haven't understood everything."));
|
||||||
|
break;
|
||||||
|
|
||||||
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You have successfully finished your training with the Book."));
|
case 2:
|
||||||
LogManager::instance().CharLog(this, dwSkillVnum, "READ_SUCCESS", "");
|
ChatPacket(CHAT_TYPE_TALKING, LC_TEXT("These instructions are difficult to understand. I have to carry on studying."));
|
||||||
return true;
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
default:
|
||||||
|
ChatPacket(CHAT_TYPE_TALKING, LC_TEXT("I understand this chapter. But I've got to carry on working hard."));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
pPC->SetFlag(flag, read_count + 1);
|
|
||||||
|
|
||||||
switch (Random::get(1, 3))
|
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You have to read %d more skill books to improve this skill."), need_bookcount - read_count);
|
||||||
{
|
return true;
|
||||||
case 1:
|
|
||||||
ChatPacket(CHAT_TYPE_TALKING, LC_TEXT("I'm making progress, but I still haven't understood everything."));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
ChatPacket(CHAT_TYPE_TALKING, LC_TEXT("These instructions are difficult to understand. I have to carry on studying."));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
default:
|
|
||||||
ChatPacket(CHAT_TYPE_TALKING, LC_TEXT("I understand this chapter. But I've got to carry on working hard."));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You have to read %d more skill books to improve this skill."), need_bookcount - read_count);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
{
|
else
|
||||||
// 사용자의 퀘스트 정보 로드 실패
|
{
|
||||||
}
|
// 사용자의 퀘스트 정보 로드 실패
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -271,22 +271,20 @@ EVENTFUNC(timed_event)
|
|||||||
{
|
{
|
||||||
ch->m_pkTimedEvent = NULL;
|
ch->m_pkTimedEvent = NULL;
|
||||||
|
|
||||||
|
switch (info->subcmd)
|
||||||
{
|
{
|
||||||
switch (info->subcmd)
|
case SCMD_LOGOUT:
|
||||||
{
|
case SCMD_QUIT:
|
||||||
case SCMD_LOGOUT:
|
case SCMD_PHASE_SELECT:
|
||||||
case SCMD_QUIT:
|
{
|
||||||
case SCMD_PHASE_SELECT:
|
TPacketNeedLoginLogInfo acc_info;
|
||||||
{
|
acc_info.dwPlayerID = ch->GetDesc()->GetAccountTable().id;
|
||||||
TPacketNeedLoginLogInfo acc_info;
|
|
||||||
acc_info.dwPlayerID = ch->GetDesc()->GetAccountTable().id;
|
|
||||||
|
|
||||||
db_clientdesc->DBPacket( HEADER_GD_VALID_LOGOUT, 0, &acc_info, sizeof(acc_info) );
|
db_clientdesc->DBPacket( HEADER_GD_VALID_LOGOUT, 0, &acc_info, sizeof(acc_info) );
|
||||||
|
|
||||||
LogManager::instance().DetailLoginLog( false, ch );
|
LogManager::instance().DetailLoginLog( false, ch );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (info->subcmd)
|
switch (info->subcmd)
|
||||||
@ -2233,17 +2231,15 @@ ACMD(do_cube)
|
|||||||
|
|
||||||
ACMD(do_in_game_mall)
|
ACMD(do_in_game_mall)
|
||||||
{
|
{
|
||||||
{
|
char country_code[3];
|
||||||
char country_code[3];
|
country_code[0] = 'd'; country_code[1] = 'e'; country_code[2] = '\0';
|
||||||
country_code[0] = 'd'; country_code[1] = 'e'; country_code[2] = '\0';
|
|
||||||
|
|
||||||
char buf[512+1];
|
char buf[512+1];
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "mall http://%s/ishop?pid=%u&c=%s&sid=%d",
|
snprintf(buf, sizeof(buf), "mall http://%s/ishop?pid=%u&c=%s&sid=%d",
|
||||||
g_strWebMallURL.c_str(), ch->GetPlayerID(), country_code, g_server_id);
|
g_strWebMallURL.c_str(), ch->GetPlayerID(), country_code, g_server_id);
|
||||||
|
|
||||||
ch->ChatPacket(CHAT_TYPE_COMMAND, buf);
|
ch->ChatPacket(CHAT_TYPE_COMMAND, buf);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 주사위
|
// 주사위
|
||||||
|
@ -355,26 +355,24 @@ void DBManager::AnalyzeReturnQuery(SQLMsg * pMsg)
|
|||||||
|
|
||||||
char szCreateDate[256] = "00000000";
|
char szCreateDate[256] = "00000000";
|
||||||
|
|
||||||
{
|
str_to_number(aiPremiumTimes[PREMIUM_EXP], row[col++]);
|
||||||
str_to_number(aiPremiumTimes[PREMIUM_EXP], row[col++]);
|
str_to_number(aiPremiumTimes[PREMIUM_ITEM], row[col++]);
|
||||||
str_to_number(aiPremiumTimes[PREMIUM_ITEM], row[col++]);
|
str_to_number(aiPremiumTimes[PREMIUM_SAFEBOX], row[col++]);
|
||||||
str_to_number(aiPremiumTimes[PREMIUM_SAFEBOX], row[col++]);
|
str_to_number(aiPremiumTimes[PREMIUM_AUTOLOOT], row[col++]);
|
||||||
str_to_number(aiPremiumTimes[PREMIUM_AUTOLOOT], row[col++]);
|
str_to_number(aiPremiumTimes[PREMIUM_FISH_MIND], row[col++]);
|
||||||
str_to_number(aiPremiumTimes[PREMIUM_FISH_MIND], row[col++]);
|
str_to_number(aiPremiumTimes[PREMIUM_MARRIAGE_FAST], row[col++]);
|
||||||
str_to_number(aiPremiumTimes[PREMIUM_MARRIAGE_FAST], row[col++]);
|
str_to_number(aiPremiumTimes[PREMIUM_GOLD], row[col++]);
|
||||||
str_to_number(aiPremiumTimes[PREMIUM_GOLD], row[col++]);
|
|
||||||
|
|
||||||
int retValue = 0;
|
int retValue = 0;
|
||||||
str_to_number(retValue, row[col]);
|
str_to_number(retValue, row[col]);
|
||||||
|
|
||||||
time_t create_time = retValue;
|
time_t create_time = retValue;
|
||||||
struct tm * tm1;
|
struct tm * tm1;
|
||||||
tm1 = localtime(&create_time);
|
tm1 = localtime(&create_time);
|
||||||
strftime(szCreateDate, 255, "%Y%m%d", tm1);
|
strftime(szCreateDate, 255, "%Y%m%d", tm1);
|
||||||
|
|
||||||
SPDLOG_DEBUG("Create_Time {} {}", retValue, szCreateDate);
|
SPDLOG_DEBUG("Create_Time {} {}", retValue, szCreateDate);
|
||||||
SPDLOG_DEBUG("Block Time {} ", strncmp(szCreateDate, g_stBlockDate.c_str(), 8));
|
SPDLOG_DEBUG("Block Time {} ", strncmp(szCreateDate, g_stBlockDate.c_str(), 8));
|
||||||
}
|
|
||||||
|
|
||||||
int nPasswordDiff = strcmp(szEncrytPassword, szPassword);
|
int nPasswordDiff = strcmp(szEncrytPassword, szPassword);
|
||||||
|
|
||||||
|
@ -1085,10 +1085,8 @@ void CItem::SetOwnership(LPCHARACTER ch, int iSec)
|
|||||||
if (m_pkOwnershipEvent)
|
if (m_pkOwnershipEvent)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
{
|
if (iSec <= 10)
|
||||||
if (iSec <= 10)
|
iSec = 30;
|
||||||
iSec = 30;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_dwOwnershipPID = ch->GetPlayerID();
|
m_dwOwnershipPID = ch->GetPlayerID();
|
||||||
|
|
||||||
|
@ -228,11 +228,7 @@ CCI * P2P_MANAGER::FindByPID(DWORD pid)
|
|||||||
|
|
||||||
CCI * P2P_MANAGER::Find(const char * c_pszName)
|
CCI * P2P_MANAGER::Find(const char * c_pszName)
|
||||||
{
|
{
|
||||||
TCCIMap::const_iterator it;
|
TCCIMap::const_iterator it = m_map_pkCCI.find(c_pszName);
|
||||||
|
|
||||||
{
|
|
||||||
it = m_map_pkCCI.find(c_pszName);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (it == m_map_pkCCI.end())
|
if (it == m_map_pkCCI.end())
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user