text encoding fixed
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "../../libgame/include/grid.h"
|
||||
#include "utils.h"
|
||||
#include "desc.h"
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
void exchange_packet(LPCHARACTER ch, BYTE sub_header, bool is_me, DWORD arg1, TItemPos arg2, DWORD arg3, void * pvData = NULL);
|
||||
|
||||
// 교환 패킷
|
||||
// 교환 패킷
|
||||
void exchange_packet(LPCHARACTER ch, BYTE sub_header, bool is_me, DWORD arg1, TItemPos arg2, DWORD arg3, void * pvData)
|
||||
{
|
||||
if (!ch->GetDesc())
|
||||
@@ -45,15 +45,15 @@ void exchange_packet(LPCHARACTER ch, BYTE sub_header, bool is_me, DWORD arg1, TI
|
||||
ch->GetDesc()->Packet(&pack_exchg, sizeof(pack_exchg));
|
||||
}
|
||||
|
||||
// 교환을 시작
|
||||
// 교환을 시작
|
||||
bool CHARACTER::ExchangeStart(LPCHARACTER victim)
|
||||
{
|
||||
if (this == victim) // 자기 자신과는 교환을 못한다.
|
||||
if (this == victim) // 자기 자신과는 교환을 못한다.
|
||||
return false;
|
||||
|
||||
if (IsObserverMode())
|
||||
{
|
||||
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("관전 상태에서는 교환을 할 수 없습니다."));
|
||||
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("관전 상태에서는 교환을 할 수 없습니다."));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -63,19 +63,19 @@ bool CHARACTER::ExchangeStart(LPCHARACTER victim)
|
||||
//PREVENT_TRADE_WINDOW
|
||||
if ( IsOpenSafebox() || GetShopOwner() || GetMyShop() || IsCubeOpen())
|
||||
{
|
||||
ChatPacket( CHAT_TYPE_INFO, LC_TEXT("다른 거래창이 열려있을경우 거래를 할수 없습니다." ) );
|
||||
ChatPacket( CHAT_TYPE_INFO, LC_TEXT("다른 거래창이 열려있을경우 거래를 할수 없습니다." ) );
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( victim->IsOpenSafebox() || victim->GetShopOwner() || victim->GetMyShop() || victim->IsCubeOpen() )
|
||||
{
|
||||
ChatPacket( CHAT_TYPE_INFO, LC_TEXT("상대방이 다른 거래중이라 거래를 할수 없습니다." ) );
|
||||
ChatPacket( CHAT_TYPE_INFO, LC_TEXT("상대방이 다른 거래중이라 거래를 할수 없습니다." ) );
|
||||
return false;
|
||||
}
|
||||
//END_PREVENT_TRADE_WINDOW
|
||||
int iDist = DISTANCE_APPROX(GetX() - victim->GetX(), GetY() - victim->GetY());
|
||||
|
||||
// 거리 체크
|
||||
// 거리 체크
|
||||
if (iDist >= EXCHANGE_MAX_DISTANCE)
|
||||
return false;
|
||||
|
||||
@@ -90,7 +90,7 @@ bool CHARACTER::ExchangeStart(LPCHARACTER victim)
|
||||
|
||||
if (victim->IsBlockMode(BLOCK_EXCHANGE))
|
||||
{
|
||||
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방이 교환 거부 상태입니다."));
|
||||
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방이 교환 거부 상태입니다."));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ bool CExchange::AddItem(TItemPos item_pos, BYTE display_pos)
|
||||
if (!item_pos.IsValidItemPosition())
|
||||
return false;
|
||||
|
||||
// 장비는 교환할 수 없음
|
||||
// 장비는 교환할 수 없음
|
||||
if (item_pos.IsEquipPosition())
|
||||
return false;
|
||||
|
||||
@@ -154,7 +154,7 @@ bool CExchange::AddItem(TItemPos item_pos, BYTE display_pos)
|
||||
|
||||
if (IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_GIVE))
|
||||
{
|
||||
m_pOwner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아이템을 건네줄 수 없습니다."));
|
||||
m_pOwner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아이템을 건네줄 수 없습니다."));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ bool CExchange::AddItem(TItemPos item_pos, BYTE display_pos)
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이미 교환창에 추가된 아이템인가?
|
||||
// 이미 교환창에 추가된 아이템인가?
|
||||
if (item->IsExchanging())
|
||||
{
|
||||
sys_log(0, "EXCHANGE under exchanging");
|
||||
@@ -212,7 +212,7 @@ bool CExchange::AddItem(TItemPos item_pos, BYTE display_pos)
|
||||
return true;
|
||||
}
|
||||
|
||||
// 추가할 공간이 없음
|
||||
// 추가할 공간이 없음
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ bool CExchange::AddGold(long gold)
|
||||
|
||||
if (GetOwner()->GetGold() < gold)
|
||||
{
|
||||
// 가지고 있는 돈이 부족.
|
||||
// 가지고 있는 돈이 부족.
|
||||
exchange_packet(GetOwner(), EXCHANGE_SUBHEADER_GC_LESS_GOLD, 0, 0, NPOS, 0);
|
||||
return false;
|
||||
}
|
||||
@@ -271,7 +271,7 @@ bool CExchange::AddGold(long gold)
|
||||
return true;
|
||||
}
|
||||
|
||||
// 돈이 충분히 있는지, 교환하려는 아이템이 실제로 있는지 확인 한다.
|
||||
// 돈이 충분히 있는지, 교환하려는 아이템이 실제로 있는지 확인 한다.
|
||||
bool CExchange::Check(int * piItemCount)
|
||||
{
|
||||
if (GetOwner()->GetGold() < m_lGold)
|
||||
@@ -325,10 +325,10 @@ bool CExchange::CheckSpace()
|
||||
s_grid2.Put(i - INVENTORY_MAX_NUM / 2, 1, item->GetSize());
|
||||
}
|
||||
|
||||
// 아... 뭔가 개병신 같지만... 용혼석 인벤을 노멀 인벤 보고 따라 만든 내 잘못이다 ㅠㅠ
|
||||
// 아... 뭔가 개병신 같지만... 용혼석 인벤을 노멀 인벤 보고 따라 만든 내 잘못이다 ㅠㅠ
|
||||
static std::vector <WORD> s_vDSGrid(DRAGON_SOUL_INVENTORY_MAX_NUM);
|
||||
|
||||
// 일단 용혼석을 교환하지 않을 가능성이 크므로, 용혼석 인벤 복사는 용혼석이 있을 때 하도록 한다.
|
||||
// 일단 용혼석을 교환하지 않을 가능성이 크므로, 용혼석 인벤 복사는 용혼석이 있을 때 하도록 한다.
|
||||
bool bDSInitialized = false;
|
||||
|
||||
for (i = 0; i < EXCHANGE_ITEM_MAX_NUM; ++i)
|
||||
@@ -412,7 +412,7 @@ bool CExchange::CheckSpace()
|
||||
return true;
|
||||
}
|
||||
|
||||
// 교환 끝 (아이템과 돈 등을 실제로 옮긴다)
|
||||
// 교환 끝 (아이템과 돈 등을 실제로 옮긴다)
|
||||
bool CExchange::Done()
|
||||
{
|
||||
int empty_pos, i;
|
||||
@@ -494,7 +494,7 @@ bool CExchange::Done()
|
||||
return true;
|
||||
}
|
||||
|
||||
// 교환을 동의
|
||||
// 교환을 동의
|
||||
bool CExchange::Accept(bool bAccept)
|
||||
{
|
||||
if (m_bAccept == bAccept)
|
||||
@@ -502,7 +502,7 @@ bool CExchange::Accept(bool bAccept)
|
||||
|
||||
m_bAccept = bAccept;
|
||||
|
||||
// 둘 다 동의 했으므로 교환 성립
|
||||
// 둘 다 동의 했으므로 교환 성립
|
||||
if (m_bAccept && GetCompany()->m_bAccept)
|
||||
{
|
||||
int iItemCount;
|
||||
@@ -514,36 +514,36 @@ bool CExchange::Accept(bool bAccept)
|
||||
victim->SetExchangeTime();
|
||||
//END_PREVENT_PORTAL_AFTER_EXCHANGE
|
||||
|
||||
// exchange_check 에서는 교환할 아이템들이 제자리에 있나 확인하고,
|
||||
// 엘크도 충분히 있나 확인한다, 두번째 인자로 교환할 아이템 개수
|
||||
// 를 리턴한다.
|
||||
// exchange_check 에서는 교환할 아이템들이 제자리에 있나 확인하고,
|
||||
// 엘크도 충분히 있나 확인한다, 두번째 인자로 교환할 아이템 개수
|
||||
// 를 리턴한다.
|
||||
if (!Check(&iItemCount))
|
||||
{
|
||||
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("돈이 부족하거나 아이템이 제자리에 없습니다."));
|
||||
victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 돈이 부족하거나 아이템이 제자리에 없습니다."));
|
||||
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("돈이 부족하거나 아이템이 제자리에 없습니다."));
|
||||
victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 돈이 부족하거나 아이템이 제자리에 없습니다."));
|
||||
goto EXCHANGE_END;
|
||||
}
|
||||
|
||||
// 리턴 받은 아이템 개수로 상대방의 소지품에 남은 자리가 있나 확인한다.
|
||||
// 리턴 받은 아이템 개수로 상대방의 소지품에 남은 자리가 있나 확인한다.
|
||||
if (!CheckSpace())
|
||||
{
|
||||
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 소지품에 빈 공간이 없습니다."));
|
||||
victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지품에 빈 공간이 없습니다."));
|
||||
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 소지품에 빈 공간이 없습니다."));
|
||||
victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지품에 빈 공간이 없습니다."));
|
||||
goto EXCHANGE_END;
|
||||
}
|
||||
|
||||
// 상대방도 마찬가지로..
|
||||
// 상대방도 마찬가지로..
|
||||
if (!GetCompany()->Check(&iItemCount))
|
||||
{
|
||||
victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("돈이 부족하거나 아이템이 제자리에 없습니다."));
|
||||
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 돈이 부족하거나 아이템이 제자리에 없습니다."));
|
||||
victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("돈이 부족하거나 아이템이 제자리에 없습니다."));
|
||||
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 돈이 부족하거나 아이템이 제자리에 없습니다."));
|
||||
goto EXCHANGE_END;
|
||||
}
|
||||
|
||||
if (!GetCompany()->CheckSpace())
|
||||
{
|
||||
victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 소지품에 빈 공간이 없습니다."));
|
||||
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지품에 빈 공간이 없습니다."));
|
||||
victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("상대방의 소지품에 빈 공간이 없습니다."));
|
||||
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소지품에 빈 공간이 없습니다."));
|
||||
goto EXCHANGE_END;
|
||||
}
|
||||
|
||||
@@ -557,17 +557,17 @@ bool CExchange::Accept(bool bAccept)
|
||||
|
||||
if (Done())
|
||||
{
|
||||
if (m_lGold) // 돈이 있을 떄만 저장
|
||||
if (m_lGold) // 돈이 있을 떄만 저장
|
||||
GetOwner()->Save();
|
||||
|
||||
if (GetCompany()->Done())
|
||||
{
|
||||
if (GetCompany()->m_lGold) // 돈이 있을 때만 저장
|
||||
if (GetCompany()->m_lGold) // 돈이 있을 때만 저장
|
||||
victim->Save();
|
||||
|
||||
// INTERNATIONAL_VERSION
|
||||
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s 님과의 교환이 성사 되었습니다."), victim->GetName());
|
||||
victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s 님과의 교환이 성사 되었습니다."), GetOwner()->GetName());
|
||||
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s 님과의 교환이 성사 되었습니다."), victim->GetName());
|
||||
victim->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s 님과의 교환이 성사 되었습니다."), GetOwner()->GetName());
|
||||
// END_OF_INTERNATIONAL_VERSION
|
||||
}
|
||||
}
|
||||
@@ -578,14 +578,14 @@ EXCHANGE_END:
|
||||
}
|
||||
else
|
||||
{
|
||||
// 아니면 accept에 대한 패킷을 보내자.
|
||||
// 아니면 accept에 대한 패킷을 보내자.
|
||||
exchange_packet(GetOwner(), EXCHANGE_SUBHEADER_GC_ACCEPT, true, m_bAccept, NPOS, 0);
|
||||
exchange_packet(GetCompany()->GetOwner(), EXCHANGE_SUBHEADER_GC_ACCEPT, false, m_bAccept, NPOS, 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// 교환 취소
|
||||
// 교환 취소
|
||||
void CExchange::Cancel()
|
||||
{
|
||||
exchange_packet(GetOwner(), EXCHANGE_SUBHEADER_GC_END, 0, 0, NPOS, 0);
|
||||
|
||||
Reference in New Issue
Block a user