1068 lines
118 KiB
C++
1068 lines
118 KiB
C++
#pragma once
|
||
|
||
/*---------------------------------------------------------------------------------------
|
||
CDNUserSendManager
|
||
|
||
- Client에 보내주는 Send관련 함수 모아놓은 곳
|
||
- 이곳 역시 Village, Game 둘다 써야 하므로 if defined 떡칠함...
|
||
---------------------------------------------------------------------------------------*/
|
||
|
||
class CDNUserItem;
|
||
class CDNUserSession;
|
||
#if defined(_VILLAGESERVER)
|
||
class CDNPvPRoom;
|
||
#endif
|
||
class CDNGesture;
|
||
|
||
class CDNGuildBase;
|
||
class CDNParty;
|
||
|
||
#if defined( PRE_ADD_SECONDARY_SKILL )
|
||
class CSecondarySkillRecipe;
|
||
#endif // #if defined( PRE_ADD_SECONDARY_SKILL )
|
||
#if defined( _VILLAGESERVER )
|
||
namespace LadderSystem
|
||
{
|
||
class CRoom;
|
||
}
|
||
#endif // #if defined( _VILLAGESERVER )
|
||
#if defined(PRE_ADD_DWC)
|
||
class CDnDWCTeam;
|
||
#endif
|
||
|
||
class CDNUserSendManager
|
||
{
|
||
protected:
|
||
CDNUserSession* m_pSession;
|
||
|
||
public:
|
||
CDNUserSendManager(CDNUserSession *pSession);
|
||
virtual ~CDNUserSendManager(void);
|
||
|
||
// System
|
||
#if defined(_CH)
|
||
void SendFCMState(int nOnlineMin);
|
||
#endif // _CH
|
||
|
||
#if defined(_GPK)
|
||
void SendGPKCode();
|
||
void SendGPKData();
|
||
void SendGPKAuthData();
|
||
#endif // _HSHIELD
|
||
|
||
void Send( int iMainCmd, int iSubCmd, char* pData, int iLen );
|
||
#if defined(PRE_MOD_DUPLICATION_LOGIN_MES)
|
||
void SendCompleteDetachMsg(int nRetCode, const WCHAR * pwszDetachReason, bool IsDisConnectByClient = false);
|
||
#else // #if defined(PRE_MOD_DUPLICATION_LOGIN_MES)
|
||
void SendCompleteDetachMsg(int nRetCode, const WCHAR * pwszDetachReason);
|
||
#endif // #if defined(PRE_MOD_DUPLICATION_LOGIN_MES)
|
||
void SendConnectVillage(int nRet, int nAttr, bool bWithOutLoading = false);
|
||
void SendGameInfo( GameTaskType::eType GameTaskType, BYTE cReqGameIDType, ULONG nIP, USHORT nPort, USHORT nTcpPort, UINT nAccountDBID, INT64 biCertifyingKey);
|
||
void SendReConnectReq();
|
||
void SendReconnectLogin(int nRet, UINT nAccountDBID, INT64 biCertifyingKey);
|
||
void SendCountDownMsg(bool bIsStart, int nCountTime, UINT nCode, BYTE msgboxType);
|
||
#if defined(PRE_ADD_VIP)
|
||
void SendVIPAutomaticPay(bool bAuto);
|
||
#endif // #if defined(PRE_ADD_VIP)
|
||
|
||
// Char
|
||
void SendMapInfo(UINT nMapIndex, BYTE cMapArrayIndex, BYTE cEnviIndex, BYTE cEnviArrayIndex, int nChannelID, int nChannelIdx, int nMeritID );
|
||
void SendEnter(CDNUserSession *pSession);
|
||
void SendEnterUser(CDNUserSession *pSession);
|
||
void SendLeaveUser(UINT nSessionID, char cType, int nAccountLevel);
|
||
void SendEnterNpc(UINT nNpcObjectID, int nNpcID, float x, float y, float z, float fRotate);
|
||
void SendLeaveNpc(UINT nObjectID);
|
||
void SendEnterPropNpc(UINT nNpcObjectID, int nPropUniqueID);
|
||
void SendLeavePropNpc(int nPropUniqueID);
|
||
|
||
void SendQuickSlotList(TQuickSlot *QuickSlotArray);
|
||
void SendFatigue(UINT nSessionID, short wFatigue, short wWeekFatigue, short wPCBangFatigue, short wEventFatigue, short wVIPFatigue);
|
||
void SendFatigueResult(UINT nSessionID, int iResult);
|
||
void SendHide(UINT nSessionID, bool bHide);
|
||
void SendPCBang(char cPCBangGrade, MAPCBangResult *pPacket);
|
||
void SendNestClear(TNestClearData *NestClearList);
|
||
void SendUpdateNestClear(TNestClearData *pNestData);
|
||
|
||
void SendKeySetting( TKeySetting* pKeySetting );
|
||
void SendPadSetting( TPadSetting* pPadSetting );
|
||
void SendPvPFatigueReward( int nGainExp, int nGainMedal );
|
||
|
||
void SendPvPLadderScoreInfo( const TPvPLadderScoreInfo* pLadderScoreInfo );
|
||
void SendPvPLadderScoreInfoByJob( TAGetListPvPLadderScoreByJob* pA );
|
||
void SendPvPLadderPointRefresh( int iPoint );
|
||
void SendPvPLadderInviteUser( int iRet, const WCHAR* pwszCharName );
|
||
void SendPvPLadderInviteConfirmReq( const WCHAR* pwszCharName, LadderSystem::MatchType::eCode MatchType, int iCurUserCount, int iAvgGradePoint );
|
||
void SendPvPLadderInviteConfirm( int iRet, const WCHAR* pwszCharName );
|
||
void SendPvPLadderKickOut( int iRet );
|
||
|
||
void SendPvPGhoulScores( const TPvPGhoulScores* pGhoulSocres);
|
||
void SendPvPHolyWaterKillCount(UINT nSessionID , UINT nKillerSessionID);
|
||
#ifdef PRE_ADD_COLOSSEUM_BEGINNER
|
||
void SendPvPChangeChannelResult(BYTE cType, int nRetCode);
|
||
#endif //#ifdef PRE_ADD_COLOSSEUM_BEGINNER
|
||
#if defined(PRE_ADD_REBIRTH_EVENT)
|
||
void SendRebirthMaxCoin(int nRebirthMaxCoin);
|
||
#endif
|
||
|
||
// Actor
|
||
#if defined(_VILLAGESERVER)
|
||
void SendActorMsg(UINT nSessionID, USHORT wActorProtocol, int nSize, char *pData, TParamData* pParamData=NULL );
|
||
void SendAddExp(UINT nSessionID, int nExp, int nAddExp, int nEventBonusExp = 0, int nPcBangExp = 0); // nExp = 현재 경험치, nAddExp = 더해진 최종 경험치, nEventBonusExp = 이벤트로 보너스 경험치, nPcBangExp = 피씨방용 보너스 경험치
|
||
void SendLevelUp(UINT nSessionID, int nLevel, int nExp); // nLevel = 현재레벨, nExp = 현재경험치
|
||
#endif
|
||
void SendChangeJob(UINT nSessionID, int nJobID);
|
||
void SendAddCoin(UINT nSessionID, INT64 nTotalCoin, INT64 nAddCoin); // nTotalCoin = 원래 있던 코인, nAddCoin = 추가할 코인(-값도 되지않을까 싶다)
|
||
void SendGhostType( UINT nSessionID, Ghost::Type::eCode Type );
|
||
void SendUdpPing( UINT nSessionID, DWORD dwTick );
|
||
|
||
// Party
|
||
void SendCreateParty(int nRetCode, TPARTYID PartyID, bool bIsAutoCreate = false, ePartyType PartyType = _NORMAL_PARTY);
|
||
void SendJoinParty(int nRetCode, TPARTYID nPartyID, const WCHAR *pwszPartyName);
|
||
#if defined( PRE_PARTY_DB )
|
||
#if defined( PRE_WORLDCOMBINE_PARTY )
|
||
void SendRefreshParty(UINT nLeaderSessionID, int nCount, bool bHasVoiceChat, SPartyMemberInfo *pMemberInfo, short nRetCode, Party::Data *PartyData, int nWorldCombinePartyTableIndex);
|
||
#else
|
||
void SendRefreshParty(UINT nLeaderSessionID, const WCHAR * pName, BYTE cPartyMemberMax, BYTE cUserLvLimitMin, int nCount, TPARTYITEMLOOTRULE ItemLootRule, TITEMRANK ItemLootRank, bool bHasVoiceChat, int nTargetMapIdx, TDUNGEONDIFFICULTY Difficulty, SPartyMemberInfo *pMemberInfo, short nRetCode, ePartyType PartyType, int iBitFlag, int iPassword );
|
||
#endif
|
||
#else
|
||
void SendRefreshParty(UINT nLeaderSessionID, const WCHAR * pName, const WCHAR * pPass, BYTE cPartyMemberMax, BYTE cUserLvLimitMin, BYTE cUserLvLimitMax, int nCount, TPARTYITEMLOOTRULE ItemLootRule, TITEMRANK ItemLootRank, bool bHasVoiceChat, int nTargetMapIdx, TDUNGEONDIFFICULTY Difficulty, SPartyMemberInfo *pMemberInfo, short nRetCode, BYTE cIsJobDice, BYTE cPartyType);
|
||
#endif // #if defined( PRE_PARTY_DB )
|
||
void SendPartyOut(int nRetCode, char cKickKind = -1, UINT nSessionID = 0);
|
||
void SendKickPartymember(UINT nSessionID, int nRet);
|
||
void SendSwapPartyLeader(UINT nSessionID, int nRetCode);
|
||
#if defined( PRE_PARTY_DB )
|
||
void SendPartyList( int iRet, const CSPartyListInfo* pPacket, std::list<CDNParty*>& PartyList );
|
||
#else
|
||
void SendPartyList(std::list <SPartyListInfo> * pList, int nWholeCnt, int nRet);
|
||
#endif // #if defined( PRE_PARTY_DB )
|
||
void SendRefreshGateInfo(char *pGateNo, int nCount, int nRet);
|
||
void SendGateInfo(UINT nLeaderUID, char cGateNo, char cMapCount, char *cCanEnter, char *cPermitFlag );
|
||
|
||
void SendSyncEquipData( TPartyMemberEquip *EquipArray, int iCount );
|
||
|
||
void SendDefaultPartsData( const std::vector<TPartyMemberDefaultParts>& vDefaultParts );
|
||
void SendWeaponOrderData( const std::vector<TPartyMemberWeaponOrder>& vWeaponOrder );
|
||
void SendEquipData( const std::vector<TPartyMemberEquip>& vEquip );
|
||
void SendCashEquipData( const std::vector<TPartyMemberCashEquip>& vEquip );
|
||
void SendGlyphEquipData( const std::vector<TPartyMemberGlyphEquip>& vGlyphEquip );
|
||
#if defined(PRE_ADD_TALISMAN_SYSTEM)
|
||
void SendTalismanEquipData( const std::vector<TPartyMemberTalismanEquip>& vTalismanEquip );
|
||
#endif
|
||
#ifdef PRE_MOD_SYNCPACKET
|
||
void SendVehicleEquipData( const std::vector<TPartyVehicle>& vVehicle );
|
||
void SendPetEquipData( const std::vector<TPartyVehicle>& vPet );
|
||
#else //#ifdef PRE_MOD_SYNCPACKET
|
||
void SendVehicleEquipData( const std::vector<TVehicle>& vVehicle );
|
||
void SendPetEquipData( const std::vector<TVehicle>& vPet );
|
||
#endif //#ifdef PRE_MOD_SYNCPACKET
|
||
void SendSkillData( const std::vector<TPartyMemberSkill>& vSkill );
|
||
void SendPartyEtcData( const std::vector<TPartyEtcData>& vEtcData );
|
||
void SendPartyGuildData( const std::vector<TPartyMemberGuild::TPartyMemberGuildView>& vMemberGuildView );
|
||
void SendSyncSkillData(TPartyMemberSkill *pSkillArray, int iCount);
|
||
#if defined (PRE_ADD_BESTFRIEND)
|
||
void SendPartyBestFriend( const std::vector<TPartyBestFriend>& vMemberBestFriend );
|
||
#endif
|
||
#if defined( PRE_PARTY_DB )
|
||
void SendStartStage( bool bDirectConnect, int nMapIndex = -1, char cGateNo = -1, int nRandomSeed = -1, TDUNGEONDIFFICULTY Difficulty = Dungeon::Difficulty::Easy, int nExtendDropRate = 0 );
|
||
#else
|
||
void SendStartStage( bool bDirectConnect, int nMapIndex = -1, char cGateNo = -1, int nRandomSeed = -1, TDUNGEONDIFFICULTY Difficulty = 0, int nExtendDropRate = 0 );
|
||
#endif // #if defined( PRE_PARTY_DB )
|
||
void SendSelectStage( char cSelectIndex );
|
||
void SendVillageInfo(const char * pIP, USHORT nPort, short nRet, UINT nAccountDBID, INT64 biCertifyingKey);
|
||
void SendStartVillage();
|
||
void SendCancelStage( int nRetCode );
|
||
void SendChangeLeader(UINT nSessionID);
|
||
#if defined( PRE_PARTY_DB )
|
||
void SendPartyInviteMsg(TPARTYID PartyID, const WCHAR * pPartyName, int iPassword, const WCHAR * pSrcName, BYTE cMaxUserCount, BYTE cCurUserCount, USHORT nAvrLevel, int nGameServerID = -1, int nGameMapIdx = -1);
|
||
#else
|
||
void SendPartyInviteMsg(TPARTYID PartyID, const WCHAR * pPartyName, const WCHAR * pPass, const WCHAR * pSrcName, BYTE cMaxUserCount, BYTE cCurUserCount, USHORT nAvrLevel, int nGameServerID = -1, int nGameMapIdx = -1);
|
||
#endif // #if defined( PRE_PARTY_DB )
|
||
void SendPartyIniviteNotice(const WCHAR * pwszInvitedName, int nRetCode);
|
||
void SendPartyInviteFail(int nRet);
|
||
void SendPartyInviteDenied(const WCHAR * pDest, int nRet);
|
||
void SendPartyMemberInfo(SCPartyMemberInfo * pPacket);
|
||
void SendChannelInfo(SCChannelList * pPacket);
|
||
void SendMoveChannelFail(int nRet);
|
||
void SendPartyInfoErr(short nRetCode);
|
||
void SendSelectDungeonInfo(int nMapIndex, BYTE cDiffyculty);
|
||
void SendQuickJoinFail(short nRetCode);
|
||
void SendPartyModify(short nRetCode);
|
||
void SendVerifyJoinParty(int nPartyIdx, int nChannelID, short nRetCode);
|
||
void SendPartyMemberMove(UINT nSessionID, EtVector3 vPos);
|
||
void SendPartyMemberPart(CDNUserSession *pSession);
|
||
void SendRequestJoinGetReversionItem(const TItem& reversionItem, const DWORD& dropUniqueID);
|
||
void SendRollDiceForGetReversionItem(UINT nSessionID, bool bRoll, int diceValue);
|
||
void SendResultGetReversionItem(UINT nSessionID, const TItem& itemInfo, DWORD dropItemUniqueId);
|
||
void SendAskJoinResult(int nRet);
|
||
void SendAskJoinToLeader(const WCHAR * pwszCharacterName, char cJob, BYTE cLevel);
|
||
#if defined( PRE_PARTY_DB )
|
||
void SendAskJoinAgreeInfo(TPARTYID PartyID, int iPassword );
|
||
#else
|
||
void SendAskJoinAgreeInfo(TPARTYID PartyID, const WCHAR * pwszPassword);
|
||
#endif // #if defined( PRE_PARTY_DB )
|
||
void SendUpdatePartyUI(UINT nSessionID, bool bLeader);
|
||
void SendPartySwapMemberIndex(CSPartySwapMemberIndex * pPacket, int nRetCode);
|
||
void SendReadyRequest();
|
||
void SendMemberAbsent(UINT nSessionID, BYTE cAbsentFlag);
|
||
void SendVerifyDungeonAlloed(int nMapIdx, BYTE cDifficulty, bool * pAllowed);
|
||
void SendPartyBonusValue(int nUpkeepBonusRate, int nFriendBonus, bool bUpkeepMax = false, int nBiginnerGuildBonus = 0);
|
||
#if defined(PRE_MOD_REQ_JOIN_PARTY_ANSWER_MSG_APP)
|
||
void SendPartyInfo( int nRetCode, CDNParty* pParty );
|
||
#endif
|
||
|
||
// Item
|
||
void SendEquipList(CDNUserItem *pItem);
|
||
void SendInvenList(CDNUserItem *pItem);
|
||
void SendCashInvenList(int nTotalCount, int nCount, TItem *CashItemList);
|
||
#if defined(_VILLAGESERVER) && defined(PRE_ADD_CASH_REFUND)
|
||
void SendPaymentItemList(CDNUserItem *pItem);
|
||
void SendPaymentPackageItemList(CDNUserItem *pItem);
|
||
#endif
|
||
|
||
void SendMoveItem(char cType, BYTE cSrcIndex, BYTE cDestIndex, const TItem *pSrcItem, const TItem *pDestItem, int nRetCode);
|
||
void SendMoveCashItem(char cType, BYTE cEquipIndex, const TItem *pEquipItem, INT64 biInvenSerial, const TItem *pInvenItem, int nRetCode);
|
||
#if defined(PRE_ADD_SERVER_WAREHOUSE)
|
||
void SendServerWareHouseList(CDNUserItem* pItem);
|
||
void SendServerWareHouseCashList(CDNUserItem* pItem);
|
||
void SendMoveServerWareItem(char cType, BYTE cInvenIndex, INT64 biWareSerial, const TItem *pInvenItem, const TItem *pServerWareItem, int nRetCode);
|
||
void SendMoveServerWareCashItem(char cType, INT64 biSrcItemSerial, const TItem *pSrcItem, const TItem *pDstItem, int nRetCode);
|
||
#endif //#if defined(PRE_ADD_SERVER_WAREHOUSE)
|
||
|
||
void SendRefreshInvenPickUpByType(char cType, int nRetCode, BYTE cInvenIndex, TItem *pPickUpItem, short wCount);
|
||
void SendPickUp(int nRetCode, BYTE cInvenIndex, TItem *pPickUpItem, short wCount);
|
||
void SendRemoveItem(char cType, BYTE cSrcIndex, TItem *pDropItem, int nRetCode);
|
||
// void SendMoveCashItem(char cType, BYTE cSrcIndex, BYTE cDestIndex, TItem *pSrcItem, TItem *pDestItem, int nRetCode);
|
||
void SendChangeEquip(UINT nSessionID, TItemInfo &ItemInfo);
|
||
void SendChangeCashEquip(UINT nSessionID, TItemInfo &ItemInfo);
|
||
void SendRefreshInven(BYTE cInvenIndex, const TItem *pInvenItem, bool bNewSign = true);
|
||
void SendRefreshCashInven(const TItem &InvenItem, bool bNewSign = true);
|
||
void SendRefreshCashInven(std::vector<TItem> VecItemList, bool bNewSign = true);
|
||
void SendRefreshWarehouse(BYTE cWarehouseIndex, const TItem *pWarehouseItem);
|
||
void SendWarehouseList(INT64 nWarehouseCoin, CDNUserItem *pItem);
|
||
void SendUseItem(int nInvenType, BYTE cInvenIndex, INT64 biItemSerial);
|
||
void SendEmblemCompoundOpen( int nRet );
|
||
void SendItemCompoundOpen( int nRet );
|
||
void SendEmblemCompoundRes( int nSuccess, int nResultItemID );
|
||
void SendItemCompoundRes( int nSuccess, int nResultItemID, char cLevel, char cOption );
|
||
void SendEmblemCompoundCancel( int nRet );
|
||
void SendItemCompoundCancel(int nRet );
|
||
void SendInventoryMaxCount(BYTE cInvenMaxCount);
|
||
void SendGlyphExtendCount( int iCount );
|
||
void SendGlyphExpireData( TCashGlyphData *GlyphExpireData ); //기간제 문장 슬롯 정보 전송
|
||
|
||
void SendWarehouseMaxCount(BYTE cWareMaxCount);
|
||
void SendRebirthCoin(int nRet, int nUsableRebirthCoin, eRebirthType type, UINT nSessionID);
|
||
void SendRefreshRebirthCoin(UINT nSessionID, BYTE cRebirthCoin, BYTE cPCBangRebirthCoin, short nCashRebirthCoin, BYTE cVIPRebirthCoin);
|
||
void SendQuestInvenList(CDNUserItem *pItem);
|
||
void SendRefreshQuestInven(BYTE cIndex, TQuestItem &QuestItem);
|
||
#if defined(PRE_ADD_EQUIPED_ITEM_ENCHANT)
|
||
void SendRefreshEquip(char cEquipIndex, const TItem *pEquipItem, bool bRefreshtate=false);
|
||
#else
|
||
void SendRefreshEquip(char cEquipIndex, const TItem *pEquipItem);
|
||
#endif
|
||
void SendRepairEquip(int nRet);
|
||
void SendRepairAll(int nRet);
|
||
void SendMoveCoin(char cType, INT64 nAddCoin, INT64 nInventoryCoin, INT64 nWarehouseCoin, int nRet);
|
||
void SendRequestRandomItem(int nInvenType, BYTE cInvenIndex, INT64 biItemSerial, short nRetCode);
|
||
void SendCompleteRandomItem( int nInvenType, char cLevel, int nResultItemID, int nItemCount, short nRetCode );
|
||
#if defined(PRE_ADD_EQUIPED_ITEM_ENCHANT)
|
||
void SendEnchant(int nItemIndex, bool bEnchantEquipedItem, int nRet, bool bCashItem);
|
||
#else
|
||
void SendEnchant(int nInvenIndex, int nRet);
|
||
#endif
|
||
void SendEnchantComplete(int nItemID, char cLevel, char cOption, int nRet, bool bCashItem);
|
||
void SendEnchantCancel(int nRet);
|
||
void SendGlyphTimeInfo(int nDelayArray, int nRemainArray);
|
||
void SendSortInventory(int nRet);
|
||
void SendDecreaseDurabilityInventory( char cType, void *pValue );
|
||
void SendBroadcastingEffect(UINT nSessionID, char cType, char cState);
|
||
void SendChangeGlyph(UINT nSessionID, TItemInfo &ItemInfo);
|
||
#if defined(PRE_ADD_TALISMAN_SYSTEM)
|
||
void SendChangeTalisman(UINT nSessionID, TItemInfo &ItemInfo);
|
||
void SendTalismanExpireData( bool bActivate, __time64_t tTalismanExpireData );
|
||
#endif
|
||
void SendVehicleEquipList(TVehicle *pVehicleEquip);
|
||
void SendVehicleInvenList(int nTotalCount, int nCount, TVehicleCompact *VehicleList);
|
||
void SendChangeVehicleParts(UINT nSessionID, int nIndex, const TItem &Item);
|
||
void SendRefreshVehicleInven(TVehicle &InvenItem, bool bNewSign = true);
|
||
void SendRefreshVehicleInven(std::vector<TVehicle> VecItemList, bool bNewSign = true);
|
||
void SendChangeVehicleColor(UINT nSessionID, INT64 biSerial, DWORD dwColor, char cPetPartsColor);
|
||
void SendPetEquipList(const TVehicle *pPetEquip);
|
||
void SendChangePetParts(UINT nSessionID, int nIndex, TItem &Item);
|
||
void SendChangePetBody(UINT nSessionID, TVehicleCompact &PetInfo);
|
||
void SendAddPetExp(UINT nSessionID, INT64 biPetSerial, int nExp);
|
||
void SendChangePetNameResult(int nRet, UINT nUserSessionID, INT64 biItemSerial, const WCHAR* wszName);
|
||
void SendPetRename(UINT sessionID, const wchar_t* pName);
|
||
void SendSortWarehouse(int nRet);
|
||
void SendRemoveCash(const TItem *pItem, int nRet);
|
||
void SendPetCurrentSatiety(INT64 biPetSerial, int nCurrentSatiety);
|
||
void SendPetFoodEat(int nResult, int nIncSatiety );
|
||
#if defined(PRE_ADD_EXPUP_ITEM)
|
||
void SendDailyLimitItemErr(int nWeightTableIndex);
|
||
#endif
|
||
|
||
#if defined( PRE_ADD_LIMITED_SHOP )
|
||
#if defined( PRE_FIX_74404 )
|
||
void SendLimitedShopItemData(std::list<LimitedShop::LimitedItemData> &listLimitedShop, bool bAllClear=false);
|
||
void SendLimitedShopItemData(int nShopID, int nItemID, int nBuyCount, int nResetCycle);
|
||
#else
|
||
void SendLimitedShopItemData(std::map<int, LimitedShop::LimitedItemData> &mapLimitedShop, bool bAllClear=false);
|
||
void SendLimitedShopItemData(int nItemID, int nBuyCount, int nResetCycle);
|
||
#endif
|
||
#endif
|
||
|
||
#if defined(PRE_PERIOD_INVENTORY)
|
||
void SendPeriodInventory(bool bEnable, __time64_t tExpireDate);
|
||
void SendPeriodWarehouse(bool bEnable, __time64_t tExpireDate);
|
||
void SendSortPeriodInventory(int nRet);
|
||
void SendSortPeriodWarehouse(int nRet);
|
||
#endif // #if defined(PRE_PERIOD_INVENTORY)
|
||
|
||
#if defined( PRE_ADD_STAGE_USECOUNT_ITEM )
|
||
void SendStageUseLimitItem( int nItemID, int nUseCount );
|
||
#endif
|
||
|
||
// Item Goods
|
||
void SendRequestCashWorldMsg(INT64 biItemSerial, char cType);
|
||
void SendChangeColor(UINT nSessionID, int nItemType, DWORD dwColor);
|
||
void SendUnsealItemResult(int nRet, int nSlotCount);
|
||
void SendSealItemResult(int nRet, int nSlotCount);
|
||
void SendGuildRenameResult(int nRet);
|
||
void SendGuildMarkResult(int nRet, short wGuildMark, short wGuildMarkBG, short wGuildMarkBorder);
|
||
void SendCharacterRenameResult(int nRet, UINT nUserSessionID, const WCHAR* wszName, __time64_t tNextChangeDate = 0);
|
||
#ifdef PRE_ADD_GACHA_JAPAN
|
||
void SendGachaShopOpen_JP( int nGachaShopIndex );
|
||
void SendGachaResult_JP( int nResult, int nResultItemID );
|
||
#endif // PRE_ADD_GACHA_JAPAN
|
||
void SendCosMixOpen(int nRet);
|
||
void SendCosMixClose(int nRet, int nSubCmd);
|
||
void SendCosMixComplete(int nRet, int nItemId, char cOption);
|
||
void SendCosDesignMixOpen(int nRet);
|
||
void SendCosDesignMixClose(int nRet, int nSubCmd);
|
||
void SendCosDesignMixComplete(int nRet, INT64 biItemSertial = 0, int nLookItemID = 0);
|
||
#ifdef PRE_ADD_COSRANDMIX
|
||
#ifdef PRE_ADD_COSRANDMIX_ACCESSORY
|
||
void SendCosRandomMixOpen(int nRet, CostumeMix::RandomMix::eOpenType type);
|
||
#else
|
||
void SendCosRandomMixOpen(int nRet);
|
||
#endif
|
||
void SendCosRandomMixClose(int nRet, int nSubCmd);
|
||
void SendCosRandomMixComplete(int nRet, int nResultItemID);
|
||
#endif
|
||
void SendPotentialItemResult( int nRet, int nSlotIndex );
|
||
void SendCharmItemRequest(int nInvenType, short sInvenIndex, INT64 biItemSerial, short nRetCode, std::vector<TCharmItem> * pvRandomGiveItemList = NULL);
|
||
void SendCharmItemComplete(int nInvenType, int nResultItemID, int nResultItemCount, int nResultPeriod, short nRetCode);
|
||
void SendPetalTokenResult(int nUseItemID, int nTotalPetal);
|
||
void SendAppellationGainResult(int nAppellationArrayIndex, int nRet);
|
||
void SendEnchantJewelItemResult( int nRet, int nSlotIndex );
|
||
void SendExpandSkillPageResult(int nRet);
|
||
#if defined(PRE_MOD_POTENTIAL_JEWEL_RENEWAL)
|
||
void SendPotentialItemRollbackResult(int nRet);
|
||
#endif // #if defined(PRE_MOD_POTENTIAL_JEWEL_RENEWAL)
|
||
#if defined (PRE_ADD_CHAOSCUBE)
|
||
void SendChaosCubeRequest(char cInvenType, int nCount, TChaosItem ChaosItem[MAX_CHAOSCUBE_STUFF], short nRetCode);
|
||
void SendChaosCubeComplete(char cInvenType, int nResultItemID, int nResultItemCount, int nResultPeriod, short nRetCode);
|
||
#endif
|
||
|
||
// Npc Reputation
|
||
#if defined( PRE_ADD_NPC_REPUTATION_SYSTEM )
|
||
void SendOpenGiveNpcPresent( UINT nNpcID );
|
||
void SendRequestSendSelectedPresent( UINT nNpcID );
|
||
void SendShowNpcEffect( UINT nNpcID, int nEffectIndex ); // 클라이언트의 특정 npc 에게 이펙트 출력을 요청. 0: 분노, 1: 실망
|
||
#endif // #if defined( PRE_ADD_NPC_REPUTATION_SYSTEM )
|
||
#if defined( PRE_ADD_NEW_MONEY_SEED )
|
||
void SendSeedPoint( bool Inc=false );
|
||
#endif
|
||
|
||
void SendOpenDarkLairRankBoard( UINT uiNpcID, int iMapIndex, int iPlayerCount );
|
||
void SendDarkLairRankBoard( TAGetDarkLairRankBoard* pPacket );
|
||
void SendOpenPvPLadderRankBoard( UINT uiNpcID, LadderSystem::MatchType::eCode MatchType );
|
||
void SendPvPLadderRankBoard( TAGetListPvPLadderRanking* pPacket );
|
||
#if defined(PRE_ADD_PVP_RANKING)
|
||
void SendPvPRankBoard(TAGetPvPRankBoard* pPacket);
|
||
void SendPvPRankList( TAGetPvPRankList* pPacket );
|
||
void SendPvPRankInfo(TAGetPvPRankInfo* pPacket);
|
||
|
||
void SendPvPLadderRankBoard(TAGetPvPLadderRankBoard* pPacket);
|
||
void SendPvPLadderRankList( TAGetPvPLadderRankList* pPacket );
|
||
void SendPvPLadderRankInfo(TAGetPvPLadderRankInfo* pPacket);
|
||
#endif
|
||
|
||
// Npc
|
||
void SendTalkEnd(UINT nNpcObjectID);
|
||
void SendNextTalk(UINT nNpcObjectID, WCHAR* wszIndex, WCHAR* wszTarget, std::vector<TalkParam>& talkParam );
|
||
void SendNextTalkError();
|
||
void SendShowWarehouse( int iItemID=0 );
|
||
void SendOpenQuestReward(int nTableIndex, bool bActivate);
|
||
void SendOpenCompoundEmblem();
|
||
void SendOpenUpdagrageJewel();
|
||
void SendOpenMailBox();
|
||
void SendOpenFarmWareHouse();
|
||
void SendOpenDisjointItem();
|
||
void SendOpenUpgradeItem( int iItemID/*=0*/ );
|
||
void SendOpenCompoundItem(int nCompoundShopID);
|
||
void SendOpenCompound2Item(int nCompoundGroupID, int iItemID );
|
||
void SendOpenCashShop();
|
||
void SendOpenGuildMgrBox(int nGuildMgrNo);
|
||
void SendOpenMovieBrowser();
|
||
void SendOpenBrowser(const char* szUrl, int nX, int nY, int width, int height);
|
||
void SendOpenGlyphLift();
|
||
void SendOpenInventory();
|
||
#ifdef PRE_ADD_OPEN_QUEST_TEXTURE_DIALOG
|
||
void SendOpenTextureDialog(SCOpenTextureDialog sDialogData);
|
||
void SendCloseTextureDialog(int nDlgID);
|
||
#endif
|
||
#ifdef PRE_ADD_DWC
|
||
void SendOpenDwcTeamDialog();
|
||
#endif
|
||
|
||
// Quest
|
||
void SendQuestInfo(TUserData &UserData);
|
||
void SendQuestInfo(TQuestGroup* pQuestGroup);
|
||
void SendQuestCompleteInfo(TQuestGroup &Quest);
|
||
void SendQuestResult(int nRet);
|
||
|
||
// 상태가 변경된 퀘스트정보를 클라이언트에게 갱신 시켜준다.
|
||
void SendQuestRefresh(char cSlot, int nRefreshType, int nQuestID, TQuest& Quest);
|
||
void SendCompleteQuest(bool bDeletePlayList, char cSlot, UINT nQuestID, bool bNeedMarking);
|
||
void SendMarkingCompleteQuest(UINT nQuestID);
|
||
void SendRemoveQuest(char cSlot, UINT nQuestID, short nRet);
|
||
void SendPlayCutScene( int nCutSceneTableID, int nQuestIndex, int nQuestStep, UINT nNpcObjectID, bool bQuestAutoFadeIn, DWORD dwQuestPlayerUniqueID );
|
||
void SendCompleteCutScene( bool bFadeIn );
|
||
void SendSkipCutScene( UINT nSessionID );
|
||
void SendSkipAllCutScene();
|
||
void SendAssginPeriodQuest(UINT nQuestID, bool bFlag);
|
||
void SendScorePeriodQuest(int nCurrentCount, int nMaxCount);
|
||
void SendPeriodQuestNotice(int nItemID, int nNoticeCount);
|
||
|
||
#if defined(PRE_ADD_REMOTE_QUEST)
|
||
void SendGainRemoteQuest( int nQuestID);
|
||
void SendRemoveRemoteQuest( int nQuestID);
|
||
void SendCompleteRemoteQuest( int nQuestID);
|
||
#endif
|
||
|
||
// Chat and Message
|
||
void SendChat(char cType, int cLen, const WCHAR *pwszCharacterName, const WCHAR *pwszChatMsg, TParamData* pParamData=NULL, int nRet = ERROR_NONE);
|
||
void SendNotice(const WCHAR * pMsg, int nLen, int nSlideShowSec);
|
||
void SendWorldSystemMsg(char cType, int nID, const WCHAR *pwszCharacterName, int nValue, const WCHAR* pwszToCharacterName=NULL);
|
||
void SendDebugChat(const WCHAR* szMsg, eChatType eType=CHATTYPE_NORMAL );
|
||
void SendNoticeCancel();
|
||
void SendCloseService(__time64_t _tNow, __time64_t _tOderedTime, __time64_t _tCloseTime);
|
||
void SendServerMsg( char cType, char cStringType, int nMsgIndex, char cCaptionType=-1, BYTE cFadeTime=0 );
|
||
void SendTcpPing( DWORD dwTick );
|
||
|
||
// RadioMessage
|
||
void SendUseRadio(UINT nSessionID, USHORT nRadioID);
|
||
|
||
// Gesture
|
||
void SendCashGestureList();
|
||
void SendCashGestureAdd( USHORT nGestureID );
|
||
void SendUseGesture( USHORT nGestureID );
|
||
void SendEffectItemGestureList();
|
||
void SendEffectItemGestureAdd( USHORT nGestureID );
|
||
|
||
// Skill
|
||
void SendAddSkill(int nSkillID, int nRet);
|
||
void SendDelSkill(int nSkillID, int nRet);
|
||
void SendSkillLevelUp(int nSkillID, BYTE cLevel, int nRet);
|
||
void SendOtherPlayerSkillLevelUp( int nOtherPlayerIndex, int nSkillID, char cLevel );
|
||
void SendPushSkillPoint( unsigned short usSkillPoint ); // setsp 치트키에서만 쓰임.
|
||
void SendUnlockSkill( int nSkillID, int nRetCode );
|
||
void SendAcquireSkill( int nSkillID, int nRetCode );
|
||
void SendCanUseSkillResetCashItem( INT64 biSerial, int nRewardSP, int nRetCode );
|
||
void SendSkill(TSkill *SkillArray, char cSkillPage);
|
||
void SendSkillReset( int nResultSkillPoint, char cSkillPage );
|
||
void SendUseSkillResetCashItemRes( int nRetCode, int nResultSP, char cSkillPage );
|
||
void SendSkillPageCount(char cSkillPageCount);
|
||
void SendChangeSkillPage(char cSkillPage);
|
||
|
||
// Trade - Shop
|
||
void SendShopOpen(int nShopID, Shop::Type::eCode Type=Shop::Type::Normal );
|
||
void SendShopBuyResult(int nRet);
|
||
void SendShopSellResult(int nRet);
|
||
void SendShopRepurchaseList( int nRet, BYTE cCount=0, const TRepurchaseItemInfo* pList=NULL );
|
||
void SendShopRepurchase( int nRet, int iRepurchaseID=-1 );
|
||
|
||
// Trade - SkillShop
|
||
void SendSkillShopOpen( void );
|
||
|
||
// Trade - Mail
|
||
void SendMailBox(const TMailBoxInfo *MailArray, short wTotalCount, short wUnreadCount, char cMailCount, char cDailyMailCount, int nRet);
|
||
void SendMailSendResult(int nRet, int nDailyMailCount);
|
||
void SendReadMailResult(const TAReadMail *pRead, int nAttachCoin);
|
||
#if defined(PRE_ADD_CADGE_CASH)
|
||
void SendReadCadgeMailResult(const TAReadWishMail *pRead);
|
||
#endif // #if defined(PRE_ADD_CADGE_CASH)
|
||
void SendDeleteMailResult(int nRet);
|
||
void SendAttachAllMailResult(int *nMailDBIDArray, int nRet);
|
||
void SendAttachMailResult(int nRet);
|
||
void SendNotifyMail(int nTotalMailCount, int nNotReadMailCount, int nExpirationCount, bool bNewMail);
|
||
|
||
// Trade - Exchange(개인거래)
|
||
void SendExchangeRequest(UINT nSenderSessionID, int nRet);
|
||
void SendExchangeReject(UINT nSessionID, short nRetCode = ERROR_NONE);
|
||
void SendExchangeStart(UINT nTargetSessionID, int nRet);
|
||
void SendExchangeAddItem(UINT nSessionID, char cExchangeIndex, BYTE cInvenIndex, TItem &InvenItem, int nRet);
|
||
void SendExchangeDeleteItem(UINT nSessionID, char cExchangeIndex, int nRet);
|
||
void SendExchangeAddCoin(UINT nSessionID, INT64 nCoin, int nRet);
|
||
void SendExchangeConfirm(UINT nSessionID, char cType);
|
||
void SendExchangeCancel();
|
||
void SendExchangeComplete(int nRet);
|
||
|
||
// Trade - Market
|
||
void SendMarketList(TMarketInfo *MarketArray, char cMarketCount, int nMarketTotalCount, int nRet);
|
||
void SendMyMarketList(TMyMarketInfo *MarketArray, char cMarketCount, int nSellingCount, int nClosingCount, int nWeeklyRegisterCount, int nRegisterItemCount, int nRet, bool bPremiumTrade );
|
||
void SendMarketRegister(int nMarketDBID, int nRet);
|
||
void SendMarketInterrupt(int nMarketDBID, int nRegisterCount, int nRet);
|
||
void SendMarketBuy(int nMarketDBID, int nRet, bool bMini);
|
||
void SendMarketCalculationList(TMarketCalculationInfo *MarketArray, char cMarketCount, int nRet);
|
||
void SendMarketCalculation(int nMarketDBID, int nRet);
|
||
void SendMarketCalculationAll(int nRet);
|
||
void SendNotifyMarket(int nItemID, short wCalculationCount);
|
||
void SendMarketPetalBalance(int nPetalBalance, int nRet);
|
||
void SendMarketPrice(int nRet, int nMarketDBID, TMarketPrice * pPrice);
|
||
void SendMarketMiniList(TMarketInfo *MarketArray, char cMarketCount, int nMarketTotalCount, int nRet);
|
||
|
||
// Trade - SpecialBox
|
||
#if defined(PRE_SPECIALBOX)
|
||
void SendSpecialBoxList(int nRet, char cCount, TSpecialBoxInfo *InfoList);
|
||
void SendSpecialBoxItemList(int nRet, char cCount, TSpecialBoxItemInfo *ItemList, INT64 biRewardCoin);
|
||
void SendReceiveSpecialBoxItem(int nRet);
|
||
void SendNotifySpecialBoxCount(int nNotifyCount, bool bNew);
|
||
#endif // #if defined(PRE_SPECIALBOX)
|
||
|
||
//Friend
|
||
void SendFriendGroupList(SCFriendGroupList * pPacket, int nSize);
|
||
void SendFriendList(SCFriendList * pPacket);
|
||
void SendFriendLocationList(SCFriendLocationList * pPacket);
|
||
|
||
void SendFriendGroupAdded(UINT nGroupDBID, const WCHAR * pName, int nRet);
|
||
void SendFriendAdded(INT64 biFriendCharDBID, UINT nGroupDBID, const WCHAR * pName, const sWorldUserState * pState, int nRet);
|
||
void SendFriendGroupDeleted(UINT nGroupDBID, int nRet);
|
||
void SendFriendGroupUpdated(UINT nGroupDBID, const WCHAR * pName, int nRet);
|
||
void SendFriendDeleted(BYTE cCount, const INT64 * biFriendCharacterDBID, int nRet);
|
||
void SendFriendUpdated(BYTE cCount, INT64 * biFriendDBID, UINT nGroupDBID, int nRet);
|
||
void SendFriendDetailInfo(INT64 biFriendDBID, UINT nBelongGroupDBID, int nClass, int nLevel, int nJob, const sWorldUserState * pState, \
|
||
const WCHAR * pGuildName, const WCHAR * pMemo);
|
||
void SendFriendResult(int nRet);
|
||
void SendFriendAddNotice(const WCHAR * pName);
|
||
|
||
//Guild
|
||
void SendCreateGuild(UINT nSessionID, LPCWSTR lpwszGuildName, int iErrNo, const TGuildUID* pGuildUID = NULL, const TGuild* pInfo = NULL, UINT nAccountDBID = 0, INT64 nCharacterDBID = 0, TP_JOB nJob = 0, CHAR cLevel = 0, TCommunityLocation* pLocation = NULL);
|
||
void SendDismissGuild(UINT nSessionID, int iErrNo, const TGuildUID* pGuildUID = NULL);
|
||
void SendInviteGuildMemberReq(const TGuildUID pGuildUID, UINT nFromAccountDBID, UINT nFromSessionID, LPCWSTR lpwszFromCharacterName, int iErrNo, UINT nToAccountDBID = 0, UINT nToSessionID = 0, LPCWSTR lpwszGuildName = NULL);
|
||
void SendInviteGuildMemberAck(UINT nToAccountDBID, INT64 nToCharacterDBID, LPCWSTR lpwszToCharacterName, int iErrNo, UINT nFromAccountDBID = 0, UINT nFromSessionID = 0, TP_JOB nJob = 0, CHAR cLevel = 0, TCommunityLocation* pLocation = NULL, const TGuildUID* pGuildUID = NULL);
|
||
void SendLeaveGuildMember(UINT nAccountDBID, INT64 nCharacterDBID, int iErrNo, const TGuildUID* pGuildUID, bool bGraduateBeginnerGuild);
|
||
void SendExileGuildMember(UINT nAccountDBID, INT64 nCharacterDBID, int iErrNo, const TGuildUID* pGuildUID);
|
||
void SendChangeGuildInfo(UINT nAccountDBID, INT64 nCharacterDBID, BYTE btGuildUpdate, int iErrNo, int iInt1 = 0, int iInt2 = 0, INT64 biInt64 = 0, LPCWSTR pText = NULL, const TGuildUID *pGuildUID = NULL);
|
||
void SendChangeGuildMemberInfo(UINT nReqAccountDBID, INT64 nReqCharacterDBID, UINT nChgAccountDBID, INT64 nChgCharacterDBID, BYTE btGuildMemberUpdate, int iErrNo, int iInt1 = 0, int iInt2 = 0, INT64 biInt64 = 0, LPCWSTR pText = NULL, const TGuildUID *pGuildUID = NULL);
|
||
void SendGetGuildHistoryList(const TGuildUID pGuildUID, INT64 biIndex, bool bDirection, int nCurCount, int nTotCount, int iErrNo, const TGuildHistory* pHistoryList = NULL, int nCount = 0);
|
||
void SendGuildSelfView(UINT nSessionID, const TGuildSelfView& pGuildSelfView);
|
||
void SendGuildChat(const TGuildUID pGuildUID, UINT nAccountDBID, INT64 nCharacterDBID, LPCWSTR lpwszChatMsg, short nLen);
|
||
#ifdef PRE_ADD_DOORS_GUILDCHAT_DISCONNECT
|
||
void SendDoorsGuildChat(const TGuildUID pGuildUID, INT64 biCharacterDBID, LPCWSTR lpwszChatMsg, short nLen);
|
||
#endif //#ifdef PRE_ADD_DOORS_GUILDCHAT_DISCONNECT
|
||
void SendGuildMemberLoginList(SCGuildMemberLoginList* pPacket);
|
||
void SendGuildMemberLoginList(TGuildUID GuildUID, int nCount, INT64 *List);
|
||
void SendChangeGuildInfoEx(UINT nAccountDBID, INT64 nCharacterDBID, BYTE btGuildUpdate, int iErrNo, int iInt1 = 0, int iInt2 = 0, int iInt3 = 0, int iInt4 = 0, INT64 biInt64 = 0, LPCWSTR pText = NULL, const TGuildUID *pGuildUID = NULL);
|
||
void SendMoveGuildItem(char cType, INT64 biSrcSerial, INT64 biDestSerial, const TItemInfo *pSrcInfo, const TItemInfo *pDestInfo, int nRetCode, int nTakeItemCount=0);
|
||
void SendMoveGuildCoin(char cType, INT64 nAddCoin, INT64 nInventoryCoin, INT64 nWarehouseCoin, INT64 nWithdrawCoin, int nRet);
|
||
void SendRefreshGuildItem(char cType, INT64 biSrcSerial, INT64 biDestSerial, const TItemInfo *pSrcInfo, const TItemInfo *pDestInfo);
|
||
void SendRefreshGuildCoin(INT64 biTotalCoin);
|
||
void SendGetGuildWareHistoryList(const TGuildUID pGuildUID, bool bDirection, int nCurCount, int nTotCount, int iErrNo, const TGuildWareHistory* pHistoryList, int nCount);
|
||
void SendGetGuildInfo(CDNGuildBase *pGuild, int nRet);
|
||
void SendGetGuildMember(CDNGuildBase *pGuild, int nRet);
|
||
void SendEnrollGuildWar(int iErrNo, short wScheduleID=0, BYTE cTeamColorCode=0);
|
||
void SendGuildWarEvent(short wScheduleID, char cEventStep, char cEventType);
|
||
void SendGuildWarFestivalPoint();
|
||
void SendGuildWarPreWinGuild(bool bPreWin);
|
||
void SendGuildWarTournamentWin(SCGuildWarTournamentWin* pPacket);
|
||
#if defined(_VILLAGESERVER)
|
||
void SendGuildWarEventTime(TGuildWarEventInfo* pGuildWarTime, TGuildWarEventInfo* pFinalPartTime, bool bFinalProgress);
|
||
void SendGuildWarStatusOpen(int nBluePoint, int nRedPoint, int nMyPoint, int nMyGuildPoint);
|
||
void SendGuildWarTrialResultOpen();
|
||
void SendGuildWarTournamentInfoOpen(bool bPopularityVote);
|
||
void SendGuildWarVote(int nRetCode, int nAddFestivalPoint=0);
|
||
void SendGuildWarVoteTop(int nVoteCount, const WCHAR* pwszVoteGuildName);
|
||
void SendGuildWarReward(int nRetCode);
|
||
void SendGuildWarWinSkill(int nRetCode, DWORD dwCoolTime);
|
||
void SendGuildWarUserWinSkill(TGuildUID GuildUID, EtVector3 vPos, int nSkillID);
|
||
void SendGuildWarTrialResultUIOpen();
|
||
void SendGuildWarTournamentInfoUIOpen();
|
||
void SendGuildWarBuyedItem(int itemID, int count);
|
||
void SendGuildWarBuyedItemList(const std::map<int, int>& items);
|
||
#endif // #if defined(_VILLAGESERVER)
|
||
|
||
void SendChangeGuildName(const wchar_t* pwszGuildName);
|
||
void SendChangeGuildMark(const MAGuildChangeMark *pPacket);
|
||
void SendExtendGuildWare(short wTotalSize);
|
||
|
||
void SendGuildLevelUp(int nLevel);
|
||
void SendUpdateGuildExp(int nError, BYTE cPointType, int nPointValue, int nGuildExp, INT64 biCharacterDBID, int nMissionID);
|
||
|
||
void SendGuildRewardItem( TGuildRewardItem* GuildRewardItem );
|
||
void SendAddGuildRewardItem( TGuildRewardItem GuildRewardItem );
|
||
void SendBuyGuildRewardItem( int iRet, int nItemID );
|
||
void SendExtendGuildSize(short nGuildSize);
|
||
void SendPlayerGuildInfo( int nRet, UINT nSessionID, LPCWSTR lpwszGuildName, LPCWSTR lpwszMasterName, int nGuildLevel, int nMemberSize, int nGuildSize, TGuildRewardItem* GuildRewardItem );
|
||
|
||
// PvP
|
||
void SendPvPVillageToLobby();
|
||
void SendPvPCreateRoom( const short nRetCode, const UINT uiPvPIndex=0, const CSPVP_CREATEROOM* pPacket=NULL );
|
||
void SendPvPModifyRoom( const short nRetCode, const CSPVP_MODIFYROOM* pPacket=NULL );
|
||
void SendPvPLeaveRoom( const short nRetCode, PvPCommon::LeaveType::eLeaveType Type, const UINT uiLeaveUserSessionID );
|
||
#if defined(_VILLAGESERVER)
|
||
void SendPvPRoomList( const short nRetCode );
|
||
void SendPvPRoomList( const short nRetCode, std::vector<CDNPvPRoom*>& vPvPRoom, const UINT uiMaxPage );
|
||
#if defined(PRE_ADD_PVP_VILLAGE_ACCESS)
|
||
void SendPvPRoomList( SCPVP_ROOMLIST* pPacket, int nSize);
|
||
#endif // #if defined(PRE_ADD_PVP_VILLAGE_ACCESS)
|
||
void SendPvPWaitUserList( const short nRetCode );
|
||
void SendPvPWaitUserList( const short nRetCode, std::vector<CDNUserSession*>& vUserList, const UINT uiMaxPage );
|
||
void SendPvPJoinRoom( const short nRetCode, CDNPvPRoom* pPvPRoom=NULL );
|
||
void SendPvPStart( const short nRetCode );
|
||
void SendPvPChangeTeam( const short nRetCode );
|
||
void SendPvPRoomInfo( MAVIPVP_ROOMINFO* pPacket );
|
||
#endif //#if defined(_VILLAGESERVER)
|
||
void SendPvPData( const TPvPGroup& PvP );
|
||
|
||
void SendPvPMemberIndex(USHORT nTeam, BYTE cCount, const TSwapMemberIndex * pIndex, int nRetCode);
|
||
void SendPvPGuildWarMemberGrade(UINT uiUserState, UINT nSessionID, int nRetCode);
|
||
void SendPvPTryAcquirePoint(int nAreaID, int nRetCode);
|
||
void SendPvPTryAcquireSkill(int nSkillID, int nLevel, int nRetCode);
|
||
void SendPvPInitSkill(int nRetCode);
|
||
void SendPvPUseSkill(UINT nSessionID, int nSkillID, int nRetCode);
|
||
void SendPvPSwapSkillIndex(char cFrom, char cTo, int nRetCode);
|
||
void SendPvPUserState(UINT nSessionID, UINT uiUserState);
|
||
#if defined(_GAMESERVER) ||(defined(_WINDOWS) && !defined(_LAUNCHER))
|
||
void SendGuildWarConcentrateOrder(UINT nSessionID, EtVector3 vPosition);
|
||
#endif // #if defined(_GAMESERVER) ||(defined(_WINDOWS) && !defined(_LAUNCHER))
|
||
|
||
void SendPvPAllKillGroupCaptain( UINT uiGroupCaptainSessionID );
|
||
void SendPvPAllKillActiveActor( UINT uiActiveActorSessionID );
|
||
|
||
#if defined(PRE_ADD_PVP_TOURNAMENT)
|
||
void SendPvPSwapTournamentIndex(int nRetCode, char cSourceIndex, char cDestIndex);
|
||
#endif // #if defined(PRE_ADD_PVP_TOURNAMENT)
|
||
|
||
#if defined(PRE_ADD_QUICK_PVP)
|
||
void SendQuickPvPInvite(UINT nSenderSessionID);
|
||
void SendQuickPvPResult(int nResult);
|
||
#endif
|
||
#if defined(PRE_ADD_PVP_VILLAGE_ACCESS)
|
||
void SendPvPListOpenUI(int nResult, int nLimitLevel);
|
||
#endif
|
||
// LadderSystem
|
||
void SendLadderEnterChannel( int iRet, LadderSystem::MatchType::eCode Type );
|
||
void SendLadderLeaveChannel( int iRet );
|
||
void SendLadderMatching( int iRet, bool bIsCancel );
|
||
void SendLadderNotifyLeaveUser( INT64 biCharDBID, const WCHAR* pwszCharName, LadderSystem::Reason::eCode Type ); // 유저 래더방에서 나갔을 때 기존에 있던 같은 팀유저에게 Notify 해주는 패킷
|
||
void SendLadderNotifyJoinUser( INT64 biCharDBID, const WCHAR* pwszCharName, int iGradePoint, BYTE cJobID );
|
||
void SendLadderNotifyLeader( const WCHAR* pwszCharName );
|
||
void SendLadderNotifyRoomState( LadderSystem::RoomState::eCode State, LadderSystem::RoomStateReason::eCode Reason );
|
||
#if defined( _VILLAGESERVER )
|
||
void SendLadderPlayingRoomList( int iRet, const std::vector<LadderSystem::CRoom*>& vRoomList=std::vector<LadderSystem::CRoom*>(), UINT uiMaxPage=0 );
|
||
void SendLadderObserver( int iRet );
|
||
#endif // #if defined( _VILLAGESERVER )
|
||
|
||
void SendOccupationModeState(int nState);
|
||
void SendOccupationState(BYTE cCount, const PvPCommon::OccupationStateInfo * pInfo);
|
||
void SendOccupationTeamState(int nTeam, int nResource, int nResourceSum);
|
||
void SendOccupationSkillState(const PvPCommon::OccupationSkillSlotInfo * pInfo);
|
||
|
||
void SendOccupationClimaxMode();
|
||
|
||
#if defined(PRE_ADD_REVENGE)
|
||
void SendPvPSetRevengeTarget( UINT uiSessionID, UINT uiRevengeTargetSessionID, Revenge::TargetReason::eCode eReason );
|
||
#endif
|
||
//voicechat
|
||
void SendVoiceChatInfo(char *pIp, USHORT wControlPort, USHORT wAudioPort, UINT m_nAccountDBID);
|
||
void SendTalkingUpdate(int nCount, TTalkingInfo * pInfo);
|
||
void SendVoiceMemberInfoRefresh(int nCount, UINT * pMuteSessionList, TVoiceMemberInfo * pInfo);
|
||
|
||
// ChannelInfo
|
||
#if defined( PRE_USA_FATIGUE )
|
||
void SendChannelInfoFatigueInfo();
|
||
#endif // #if defined( PRE_USA_FATIGUE )
|
||
|
||
// Isolate
|
||
void SendIsolateResult(int nRetCode);
|
||
void SendIsolateList(SCIsolateList * pPacket, int nSize);
|
||
void SendIsolateAdd(const WCHAR * pAddIsolateName);
|
||
void SendIsolateDel(std::vector <std::wstring> * vList);
|
||
void SendIsolateDel(const WCHAR * pDelIsolateName);
|
||
|
||
// Trigger
|
||
void SendTriggerCallAction( int nSectorIndex, int nTriggerIndex, int nRandomSeed );
|
||
void SendTriggerChangeMyBGM( int nBGM, int nFadeDelta );
|
||
void SendTriggerRadioImage( UINT nSessionID, int nFileID, DWORD nTime );
|
||
void SendTriggerFileTableBGMOff();
|
||
void SendTriggerForceEnableRide( const UINT nSessionID, const bool bForceEnableRide );
|
||
|
||
// Mission
|
||
void SendMissionList( int nScore, char *pGain, char *pAchieve, short *pLastUpdate );
|
||
void SendMissionGain( int nArrayIndex );
|
||
void SendMissionAchieve( int nArrayIndex );
|
||
void SendDailyMissionList( char cType, TDailyMission *pMission );
|
||
void SendDailyMissionCount( char cType, int nArrayIndex, int nCount );
|
||
void SendDailyMissionAchieve( char cType, int nArrayIndex, bool bSecret = false );
|
||
void SendDailyMissionAlarm( char cType );
|
||
|
||
void SendMissionEventPopUp( int nArrayIndex );
|
||
void SendMissionHelpAlarm( int nArrayIndex );
|
||
|
||
#if defined(PRE_ADD_ACTIVEMISSION)
|
||
void SendActiveMissionGain( int nIndex );
|
||
void SendActiveMissionAchieve( int nIndex );
|
||
#endif
|
||
|
||
void SendTimeEventList( TTimeEventGroup *pEvent );
|
||
void SendTimeEventAchieve( int nEventID, INT64 nRemainTime );
|
||
void SendTimeEventExpire( int nEventID );
|
||
|
||
// Appellation
|
||
void SendAppellationList( char *pGain );
|
||
void SendSelectAppellation( int nArrayIndex, int nCoverArrayIndex );
|
||
void SendChangeAppellation( UINT nSessionID, int nArrayIndex, int nCoverArrayIndex );
|
||
void SendAppellationGain( int nArrayIndex );
|
||
void SendAppellationTime( BYTE nCount, TAppellationTime *AppellationTIme);
|
||
void SendResetPcbangAppellation();
|
||
|
||
// GameOption
|
||
void SendGameOption(UINT nSessionID, const TGameOptions * pOption, TPARTYID PartyID = 0);
|
||
void SendGameOptionRefreshNotifier();
|
||
void SendSecondAuthValidate( int nRet, int nAuthCheckType, BYTE cFailCount );
|
||
void SendSecondAuthInfo( bool bPW, bool bLock );
|
||
void SendMaxLevelCharacterCount( int iCount );
|
||
void SendProfile( TProfile & profile );
|
||
void SendDisplayProfile( int nSessionID, TProfile & profile );
|
||
|
||
// 내구도
|
||
void SendDecreaseDurabilityInventory( const int iValue );
|
||
void SendDecreaseDurabilityInventory( const float fValue );
|
||
|
||
//Restraint
|
||
void SendRestrinatList(TRestraintData * pRestraint);
|
||
void SendRestraint(TRestraint * pRestraint);
|
||
void SendRestraintDel(UINT nRestraintKey);
|
||
void SendRestraintRetCode(short nRetCode);
|
||
|
||
// CashShop
|
||
void SendCashShopBalanceInquiry(int nRet, int nPetal, int nCash);
|
||
void SendCashShopOpen(UINT nCash, int nReserve, int nRet, WCHAR *pAccountName);
|
||
void SendCashShopClose(int nRet);
|
||
void SendCashShopBuy(UINT nCash, int nReserve, int nRet, char cType, char cCount, TCashShopInfo *CashShopArray, TPaymentItemInfo* pPaymentItem = NULL, int nNxAPrepaid = 0, int nNxACredit = 0, INT64 nSeedPoint = 0);
|
||
void SendCashShopPackageBuy(int nPackageSN, int nCash, int nReserve, int nRet, const TPaymentPackageItemInfo* pPaymentPackageItem = NULL, int nNxAPrepaid = 0, int nNxACredit = 0, INT64 nSeedPoint = 0);
|
||
#if defined(PRE_ADD_CASH_REFUND)
|
||
void SendCashShopMoveCashinven( INT64 biDBID, int nRet, int nReservePetal, INT64 nSeedPoint );
|
||
void SendCashShopCashRefund( INT64 biDBID, int nRet, int nCashAmount =0);
|
||
#endif
|
||
void SendCashShopCheckReceiver(BYTE cLevel, BYTE cJob, int nRet);
|
||
#if defined(PRE_ADD_CADGE_CASH)
|
||
void SendCashShopCadge(int nRet);
|
||
#endif // #if defined(PRE_ADD_CADGE_CASH)
|
||
void SendCashShopGift(int nCash, int nReserve, int nRet, char cType, int nCount, TCashShopInfo *GiftList, int nNxAPrepaid = 0, int nNxACredit = 0, INT64 nSeedPoint = 0);
|
||
void SendCashShopPackageGift(int nPackageSN, int nCash, int nReserve, int nRet, int nNxAPrepaid = 0, int nNxACredit = 0, INT64 nSeedPoint = 0);
|
||
void SendCashShopGiftList(int nRet, int nCount, TGiftInfo *GiftInfoArray);
|
||
void SendCashShopReceiveGift(INT64 nGiftDBID, int nRet);
|
||
void SendCashShopReceiveGiftAll(std::vector<INT64> &VecGiftDBIDList, int nRet);
|
||
#if defined(PRE_ADD_GIFT_RETURN)
|
||
void SendCashShopGiftReturn(INT64 nGiftDBID, int nRet);
|
||
#endif
|
||
void SendCashshopNotifyGift(bool bNew, int nGiftCount);
|
||
void SendCoupon(int nRet);
|
||
#if defined(PRE_ADD_VIP)
|
||
void SendVIPBuy(UINT nCashAmount, int nReserveAmount, int nRet, int nVIPPoint, __time64_t tEndDate, bool bAutoPay, INT64 nSeedPoint);
|
||
void SendVIPGift(UINT nCashAmount, int nReserveAmount, int nRet, INT64 nSeedPoint);
|
||
void SendVIPInfo(int nVIPPoint, __time64_t tEndDate, bool bAutoPay, bool bVIP);
|
||
#endif // #if defined(PRE_ADD_VIP)
|
||
void SendSaleAbortList(BYTE cCount, int *nAbortList);
|
||
void SendCashShopServerTimeForCharge(__time64_t tTime);
|
||
#ifdef PRE_ADD_LIMITED_CASHITEM
|
||
void SendQuantityLimitedItemList(std::vector<LimitedCashItem::TLimitedQuantityCashItem> &vList);
|
||
void SendChangedQuantityItemList(std::vector<LimitedCashItem::TChangedLimitedQuantity> &vList);
|
||
#endif //#ifdef PRE_ADD_LIMITED_CASHITEM
|
||
|
||
//ServerControl
|
||
void SendZeroPopulation(bool bZero);
|
||
|
||
void SendChatRoomCreateChatRoom( int nRet, TChatRoomView & RoomView );
|
||
void SendChatRoomEnterRoom( int nRet, int nLeaderSID, int * UserIDs, USHORT nUserCount );
|
||
void SendChatRoomEnterUser( UINT nChatRoomID, BYTE cChatRoomType, int UserSessionID );
|
||
void SendChatRoomChangeLeader( int nRet, int LeaderSessionID );
|
||
void SendChatRoomChangeRoomOption( int nRet, TChatRoomView & RoomView );
|
||
void SendChatRoomKickUser( int nRet, int UserSessionID );
|
||
void SendChatRoomLeaveUser( int UserSessionID, BYTE nLeaveReason );
|
||
|
||
// SC_ENTERUSER 시점에 들어오는 캐릭터가 가진 채팅방 정보
|
||
void SendChatRoomView( int SessionID, TChatRoomView & RoomView );
|
||
|
||
#if defined( PRE_ADD_NPC_REPUTATION_SYSTEM )
|
||
void SendReputationList( std::vector<TNpcReputation>& vData );
|
||
void SendModReputation( std::vector<TNpcReputation>& vData );
|
||
#endif // #if defined( PRE_ADD_NPC_REPUTATION_SYSTEM )
|
||
void SendUnionPoint();
|
||
void SendUnionMembershipList( CDNUserItem *pItem );
|
||
void SendBuyUnionMembershipResult( TUnionMembership* pMembership );
|
||
|
||
// 사제시스템
|
||
void SendMasterSystemSimpleInfo( TMasterSystemSimpleInfo& SimpleInfo, bool bRefresh = false );
|
||
void SendMasterSystemCountInfo( int iMasterCount, int iPupilCount, int iClassmateCount );
|
||
void SendMasterSystemMasterList( int iRet, std::vector<TMasterInfo>& vMasterList );
|
||
void SendMasterSystemMasterCharacterInfo( int iRet, TMasterCharacterInfo* pMasterCharacterInfo=NULL );
|
||
void SendMasterSystemPupilList( int iRet, INT64 biCharacterDBID, std::vector<TPupilInfo>& vPupilList );
|
||
void SendMasterSystemIntroductionOnOff( int iRet, bool bRegister, WCHAR* pwszText );
|
||
void SendMasterSystemMasterApplication( int iRet );
|
||
void SendMasterSystemJoin( int iRet, bool bIsDirectMenu, bool bIsAddPupil, bool bIsTransactor );
|
||
void SendMasterSystemMasterAndClassmateInfo( int iRet, std::vector<TMasterAndClassmateInfo>& vList );
|
||
void SendMasterSystemClassmateInfo( int iRet, TClassmateInfo* pClassmateInfo=NULL );
|
||
void SendMasterSystemMyMasterInfo( int iRet, TMyMasterInfo* pMyMasterInfo=NULL );
|
||
void SendMasterSystemLeave( int iRet, bool bIsDelPupil=false, int iPenaltyRespectPoint=0 );
|
||
void SendMasterSystemGraduate( WCHAR* pwszCharName );
|
||
void SendMasterSystemConnect( bool bIsConnect, WCHAR* pwszCharName );
|
||
void SendMasterSystemRespectPoint( int iRespectPoint );
|
||
void SendMasterSystemFavorPoint( INT64 biMasterCharacterDBID, INT64 biPupilCharacterDBID, int iFavorPoint );
|
||
void SendMasterSystemInvitePupil( int iRet, WCHAR* pwszCharName );
|
||
void SendMasterSystemInvitePupilConfirm( int iRet, WCHAR* pwszCharName );
|
||
void SendMasterSystemJoinDirect( int iRet, WCHAR* pwszCharName );
|
||
void SendMasterSystemJoinDirectConfirm( int iRet, WCHAR* pwszCharName );
|
||
void SendMasterSystemRecallMaster( int iRet, WCHAR* pwszCharName, bool bConfirm );
|
||
void SendMasterSystemJoinComfirm( BYTE cLevel, BYTE cJob, WCHAR* pwszCharName );
|
||
|
||
#if defined( PRE_ADD_SECONDARY_SKILL )
|
||
// 보조스킬
|
||
void SendCreateSecondarySkill( int iRet, int iSkillID );
|
||
void SendDelSecondarySkill( int iRet, int iSkillID );
|
||
void SendUpdateSecondarySkillExp( int iRet, int iSkillID, SecondarySkill::Grade::eType Grade, int iExp, int iLevel );
|
||
void SendAddSecondarySkillRecipe( int iRet, CSecondarySkillRecipe* pRecipe );
|
||
void SendDeleteSecondarySkillRecipe( int iRet, int iSkillID, int iItemID );
|
||
void SendExtractSecondarySkillRecipe( int iRet, int iSkillID, int iItemID );
|
||
void SendUpdateSecondarySkillRecipeExp( int iRet, int iSkillID, int iItemID, int iExp );
|
||
void SendManufactureSecondarySkill( int iRet, bool bIsStart, int iSkillID, int iItemID );
|
||
void SendCancleManufactureSecondarySkill( int iRet, int iSkillID );
|
||
#endif // #if defined( PRE_ADD_SECONDARY_SKILL )
|
||
|
||
#if defined( PRE_ADD_VIP_FARM )
|
||
void SendFarmStart( int iRet );
|
||
void SendEffectItemInfo( int iItemID, __time64_t tExpireDate );
|
||
#endif // #if defined( PRE_ADD_VIP_FARM )
|
||
void SendFarmOpenList();
|
||
void SendFarmInfo(TFarmItem * pFarmItems, BYTE cFarmCount, TFarmFieldPartial * pFieldPartial, BYTE cFieldCount, bool bRefreshGate);
|
||
void SendFarmFieldList( const TFarmFieldPartial * pFieldPartial, BYTE cFieldCount );
|
||
void SendFarmPlantSeed( int iRet, Farm::ActionType::eType ActionType, int iAreaIndex, int iItemID, int iAttachItemID );
|
||
void SendFarmHarvest( int iRet, Farm::ActionType::eType ActionType, int iAreaIndex, const std::vector<int>& vResultItem=std::vector<int>() );
|
||
void SendFarmAddWater( int iRet, Farm::ActionType::eType ActionType, int iAreaIndex );
|
||
void SendFarmWareHouseList( int iRet, INT64 biLastUniqueID, const std::map<INT64,TFarmWareHouseItem>& mList );
|
||
void SendFarmTakeWareHouseItem( int iRet, INT64 biUniqueID );
|
||
void SendFarmFieldCountInfo( int iCount );
|
||
void SendFarmWareHouseItemCount( int iCount );
|
||
void SendFarmAddWaterAnotherUser( WCHAR* pwszCharName );
|
||
|
||
//fishing
|
||
void SendFishingReadyResult(int nRet);
|
||
void SendFishingCastBaitResult(int nRet);
|
||
void SendFishingStopFishingResult(int nRet);
|
||
#ifdef PRE_ADD_CASHFISHINGITEM
|
||
void SendFishingPattern(int nPatternID, int nFishingAutoMaxTime);
|
||
#else //#ifdef PRE_ADD_CASHFISHINGITEM
|
||
void SendFishingPattern(int nPatternID);
|
||
#endif //#ifdef PRE_ADD_CASHFISHINGITEM
|
||
void SendFishingEnd();
|
||
void SendFishingSync(int nReduceTimeTick, int nFishingGauge);
|
||
|
||
// 기타
|
||
void SendStartDragonNest( eDragonNestType Type, int nRebirthCount );
|
||
|
||
#ifdef PRE_ADD_CHANGEJOB_CASHITEM
|
||
void SendChangeJobCashItemRes( int nRet, USHORT wTotalSkillPoint, int nChangeFirstJobID, int nChangeSecondJobID );
|
||
#endif // #ifdef PRE_ADD_CHANGEJOB_CASHITEM
|
||
|
||
void SendCommonVariableList( const std::map<CommonVariable::Type::eCode, CommonVariable::Data>& mList );
|
||
void SendModCommonVariableData( const CommonVariable::Data& Data );
|
||
|
||
void SendCheckLastDungeonInfo( const WCHAR* pwszPartyName );
|
||
void SendConfirmLastDungeonInfo( int iRet );
|
||
|
||
void SendAttendanceEventResult( bool bCheckAttendanceFirst );
|
||
void SendIncreaseLife( char cType, int nIncreaseLife );
|
||
|
||
#if defined(PRE_ADD_REMOVE_PREFIX)
|
||
void SendRemovePrefixItemResult( int nRet, int nSlotIndex );
|
||
#endif // PRE_ADD_REMOVE_PREFIX
|
||
void SendSourceData(int nSessionID, const TSourceData& sourceData, bool bUsedInGameServer);
|
||
#if defined( PRE_ADD_NAMEDITEM_SYSTEM )
|
||
void SendEffectSkillItemData(int nSessionID, std::vector<TEffectSkillData>& EffectSkillList, bool bUsedInGameServer); // 여러개 전송
|
||
void SendEffectSkillItemData(int nSessionID, TEffectSkillData EffectSkillList, bool bUsedInGameServer); // 한개 전송
|
||
void SendDelEffectSkillItemData(int nSessionID, int nItemID); // 삭제
|
||
void SendShowEffect( int nItemID, int nSessionID, BYTE cEffectType);
|
||
void SendNamedItemID(int nSessionID, int nItemID);
|
||
#endif
|
||
#if defined(PRE_ADD_TRANSFORM_POTION)
|
||
void SendChangeTransform(int nSessionID, int nTranformID, int nExpireTIme);
|
||
#endif
|
||
void SendPetSkillItemResult( int nRet, char cSlotNum, int nSkillID );
|
||
void SendPetSkillExpandResult( int nRet );
|
||
void SendPetSkillDelete( int nRet, char cSlotNum);
|
||
|
||
void SendSpecialRebirthItem( int nItemID, int nRebirthCount );
|
||
void SendPlayerCustomEventUI(SCGetPlayerCustomEventUI * pPacket);
|
||
//길드모집게시판
|
||
void SendGuildRecruitList( int iRet, UINT uiPage, std::vector<TGuildRecruitInfo>& vGuildRecruitList );
|
||
void SendGuildRecruitCharacter( int iRet, std::vector<TGuildRecruitCharacter>& vGuildRecruitCharacterList );
|
||
void SendMyGuildRecruit( int iRet, std::vector<TGuildRecruitInfo>& vMyGuildRecruitList );
|
||
void SendGuildRecruitRequestCount( int iRet, int nRequestCount, GuildRecruitSystem::Max::eType type );
|
||
#if defined( PRE_ADD_GUILD_EASYSYSTEM )
|
||
void SendRegisterGuildRecruitInfo( BYTE* cClassCode, int nMinLevel, int nMaxLevel, WCHAR* wszGuildIntroduction, BYTE cPurposeCode, bool bCheckHomePage );
|
||
#else
|
||
void SendRegisterGuildRecruitInfo( BYTE* cClassCode, int nMinLevel, int nMaxLevel, WCHAR* wszGuildIntroduction );
|
||
#endif
|
||
void SendRegisterGuildRecruitList( int iRet, GuildRecruitSystem::RegisterType::eType type );
|
||
void SendGuildRecruitRequest( int iRet, GuildRecruitSystem::RequestType::eType type );
|
||
void SendGuildRecruitAccept( int iRet, INT64 biAcceptCharacterDBID, bool bDelGuildRecruit, GuildRecruitSystem::AcceptType::eType type );
|
||
void SendGuildRecruitMemberResult( int iRet, WCHAR* wszGuildName, GuildRecruitSystem::AcceptType::eType type );
|
||
|
||
void SendWarpVillageResult(int nResult);
|
||
void SendWarpVillageList(const vector<WarpVillage::WarpVillageInfo>& vList);
|
||
|
||
#if defined (PRE_ADD_DONATION)
|
||
void SendOpenDonation();
|
||
void SendDonationResult(int nResult);
|
||
void SendDonationRanking(const Donation::Ranking vRanking[], int nMyRanking, INT64 nMyCoin);
|
||
#endif // #if defined (PRE_ADD_DONATION)
|
||
|
||
#ifdef PRE_ADD_AUTOUNPACK
|
||
void SendAutoUnpack(INT64 serial, int nRetCode);
|
||
#endif
|
||
|
||
#ifdef PRE_ADD_EXCHANGE_POTENTIAL
|
||
void SendExchangePotoential(int nRetCode);
|
||
#endif //#ifdef PRE_ADD_EXCHANGE_POTENTIAL
|
||
#if defined(PRE_ADD_EXCHANGE_ENCHANT)
|
||
void SendOpenExchangeEnchant();
|
||
void SendExchangeEnchant(int nRetCode);
|
||
#endif
|
||
#if defined(PRE_ADD_PCBANG_RENTAL_ITEM)
|
||
void SendPcCafeRentItem(int nRetCode, int nNeedCount);
|
||
#endif
|
||
|
||
#if defined (PRE_ADD_BESTFRIEND)
|
||
void SendGetBestFriend(int nRetCode, TBestFriendInfo& Info);
|
||
void SendSearchBestFriendResult(int nRetCode, char cLevel, char cJob, LPCWSTR lpwszCharacterName);
|
||
void SendRegistBestFriendReq(int nRetCode, UINT nFromAccountDBID, INT64 biFromCharacterDBID, LPCWSTR lpwszFromCharacterName, UINT nToAccountDBID, INT64 biToCharacterDBID, LPCWSTR lpwszToCharacterName);
|
||
void SendRegistBestFriendAck(int nRetCode, UINT nFromAccountDBID, LPCWSTR lpwszFromCharacterName, UINT nToAccountDBID, LPCWSTR lpwszToCharacterName);
|
||
void SendCompleteBestFriend(int nRetCode, LPCWSTR lpwszCharacterName);
|
||
void SendEditBestFriendMemo(int nRetCode, bool bFromMe, LPCWSTR lpwszMemo);
|
||
void SendCancelBestFriend(int nRetCode, LPCWSTR lpwszName, bool bCancel=false);
|
||
void SendCloseBestFriend(int nRetCode, LPCWSTR lpwszName);
|
||
void SendBestFriendItemRequest(INT64 biItemSerial, short nRetCode);
|
||
void SendBestFriendItemComplete(int nResultItemID, int nResultItemCount, int nResultPeriod, short nRetCode);
|
||
#endif
|
||
|
||
#if defined( PRE_PRIVATECHAT_CHANNEL )
|
||
void SendPrivateChatChannelResult(int nRetCode);
|
||
void SendPrivateChatChannelJoinResult(int nRetCode, WCHAR* wszChannelName);
|
||
void SendPrivateChatChannelInviteResult(int nRetCode);
|
||
void SendPrivateChatChannelOutResult(int nRetCode);
|
||
void SendPrivateChatChannelInfo(TPrivateChatChannelInfo ChannelInfo, std::list<TPrivateChatChannelMember> &MemberList);
|
||
void SendPrivateChatChannelMemberAdd( int nRet, TPrivateChatChannelMember Member);
|
||
void SendPrivateChatChannelKickResult(int nRetCode, bool bMe);
|
||
void SendPrivateChatChannelMemberDel( int nRet, INT64 biCharacterDBID, WCHAR* wszName);
|
||
void SendPrivateChatChannelMemberKick( int nRet, INT64 biCharacterDBID, WCHAR* wszName);
|
||
void SendPrivateChatChannelInfoMod( int nRet, int nModType, WCHAR* wszMasterName, INT64 biCharacterDBID );
|
||
#endif
|
||
#if defined( PRE_ADD_TOTAL_LEVEL_SKILL )
|
||
void SendTotalLevel(UINT nSessionID, int nTotalLevelSkill);
|
||
void SendTotalLevelSkillList(UINT nSessionID, int* nTotalLevelSKillData);
|
||
void SendTotalLevelSkillCashSlot(UINT nSessionID, int nCashSlotIndex, bool bFlag, __time64_t tExpireDate);
|
||
void SendAddTotalLevelSkill(UINT nSessionID, int nSlotIndex, int nSkillID, bool isInitialize = false);
|
||
void SendDelTotalLevelSkill(UINT nSessionID, int nSlotIndex);
|
||
#endif
|
||
#ifdef PRE_ADD_PRESET_SKILLTREE
|
||
void SendSkillPresetList(TSkillSetIndexData * pSetData, TSkillSetPartialData * pSkillData, int nRetCode);
|
||
void SendSkillPresetAddResult(int nRetCode);
|
||
void SendSkillPresetDelResult(int nRetCode);
|
||
#endif //#ifdef PRE_ADD_PRESET_SKILLTREE
|
||
void SendItemModItemExpireDate(int nRet);
|
||
|
||
#if defined( PRE_WORLDCOMBINE_PVP )
|
||
void SendWorldPvPRoomStartMsg( bool bShow, UINT uiPvPIndex );
|
||
void SendWorldPvPRoomStartResult( int nRet );
|
||
void SendWorldPvPRoomJoinResult( int nRet );
|
||
void SendWorldPvPRoomAllKillTeamInfo( UINT* nSessionID, int* nTeam );
|
||
void SendWorldPvPRoomTournamentUserInfo( BYTE cUserCount, PvPCommon::UserInfoList *TournamentUserInfo, int nSize );
|
||
#endif
|
||
|
||
#if defined( PRE_ADD_PVP_COMBOEXERCISE )
|
||
void SendPvPComboExerciseRoomMasterInfo( UINT uiRoomMasterSessionID );
|
||
void SendPvPComboExerciseChangeRoomMaster( UINT uiRoomMasterSessionID );
|
||
void SendPvPComboExerciseRecallMonsterResult( int nRetCode );
|
||
#endif // #if defined( PRE_ADD_PVP_COMBOEXERCISE )
|
||
|
||
#if defined( PRE_ALTEIAWORLD_EXPLORE )
|
||
void SendAlteiaWorldJoinInfo( BYTE cWeeklyClearCount, BYTE cDailyClearCount, BYTE cTicketCount );
|
||
void SendAlteiaWorldJoinResult( int nRetCode );
|
||
void SendAlteiaWorldSendTicket( const WCHAR* wszSendName, int nTicketCount = 0 );
|
||
void SendAlteiaWorldSendTicketResult( int nRetCode, int nSendTicketCount );
|
||
void SendAlteiaWorldDiceResult( int nRetCode, int nCount = 0 );
|
||
#if defined( _VILLAGESERVER )
|
||
void SendAlteiaWorldPrivateGoldKeyRank( const TAGetAlteiaWorldPrivateGoldKeyRank *pPacket );
|
||
void SendAlteiaWorldPrivatePlayTimeRank( const TAGetAlteiaWorldPrivatePlayTimeRank *pPacket );
|
||
void SendAlteiaWorldGuildGoldKeyRank( const TAGetAlteiaWorldGuildGoldKeyRank *pPacket );
|
||
void SendAlteiaWorldSendTicketInfo( INT64* biCharacterDBID, BYTE cTicketCount );
|
||
#endif // #if defined( _VILLAGESERVER )
|
||
#endif // #if defined( PRE_ALTEIAWORLD_EXPLORE )
|
||
|
||
#if defined(PRE_ADD_GAMEQUIT_REWARD)
|
||
void SendGameQuitRewardType(GameQuitReward::RewardType::eType eRewardType);
|
||
void SendGameQuitRewardResult(int nRet);
|
||
#endif // #if defined(PRE_ADD_GAMEQUIT_REWARD)
|
||
|
||
#if defined( PRE_ADD_STAMPSYSTEM )
|
||
void SendStampSystemInit(int nWeekDay, INT64 biTableStartTime, bool * pCompleteFlagData);
|
||
void SendStampSystemAddComplete(int nChallengeIndex, int nWeekDay);
|
||
void SendStampSystemClear();
|
||
void SendStampSystemChangeWeekDay(int nWeekDay);
|
||
void SendStampSystemChangeTable(INT64 biTableStartTime);
|
||
#endif // #if defined( PRE_ADD_STAMPSYSTEM )
|
||
|
||
#if defined( PRE_ADD_PVP_EXPUP_ITEM )
|
||
void SendUsePvPExpupItem(int nRet, BYTE cLevel, UINT uiXP, int nIncrement);
|
||
#endif // #if defined( PRE_ADD_PVP_EXPUP_ITEM )
|
||
|
||
#if defined(PRE_ADD_TALISMAN_SYSTEM)
|
||
void SendOpenTalismanSlot(int nRet, int nTalismanOpenFlag);
|
||
#endif
|
||
|
||
#if defined( PRE_DRAGONBUFF )
|
||
void SendWorldBuffMsg( WCHAR* wszCharacterName, int nItemID );
|
||
#endif
|
||
#if defined( PRE_ADD_GUILD_CONTRIBUTION )
|
||
void SendGuildContributionPoint( int nWeeklyContributionPoint, int nTotalContributionPoint );
|
||
void SendGuildWeeklyContributionRankList( const TAGetGuildContributionRanking *pPacket );
|
||
#endif // #if defined( PRE_ADD_GUILD_CONTRIBUTION )
|
||
|
||
#if defined(PRE_ADD_DWC)
|
||
void SendDismissDWCTeam(UINT nTeamID, int nRet);
|
||
void SendLeaveDWCTeamMember(UINT nTeamID, INT64 biLeaveUserCharacterDBID, LPCWSTR lpwszCharacterName, int nRet);
|
||
void SendChangeDWCTeamMemberState(UINT nTeamID, INT64 biCharacterDBID, TCommunityLocation* pLocation);
|
||
void SendInviteDWCTeamMemberAck(UINT nToAccountDBID, INT64 biToCharacterDBID, LPCWSTR lpwszToCharacterName, int nRet, UINT nFromAccountDBID, INT64 biFromCharacterDBID, TP_JOB nJob, TCommunityLocation* pLocation, UINT nTeamID);
|
||
#if defined(_VILLAGESERVER)
|
||
void SendCreateDWCTeam(int nRet, UINT nSessionID, LPCWSTR lpwszTeamdName, UINT nDBID );
|
||
void SendGetDWCTeamInfo(CDnDWCTeam* pDWCTeam, int nRet);
|
||
void SendGetDWCTeamMember(CDnDWCTeam* pDWCTeam, int nRet);
|
||
void SendInviteDWCTeamMemberReq(UINT nTeamID, UINT nFromAccountDBID, LPCWSTR lpwszFromCharacterName, LPCWSTR lpwszTeamName);
|
||
void SendInviteDWCTeamMemberAck(int nRet);
|
||
void SendInviteDWCTeamMemberAckResult(int nRet);
|
||
void SendDWCRankResult(int nRet, UINT nTotalRankSize, int nPageNum, int nPageSize, const TDWCRankData * pDataRank);
|
||
void SendDWCFindRankResult(int nRet, const TDWCRankData * pDataRank);
|
||
void SendDWCChannelInfo();
|
||
void SendDWCTeamName(UINT nSessionID, LPCWSTR lpwszTeamName);
|
||
#endif //#if defined(_VILLAGESERVER)
|
||
#endif //#if defined(PRE_ADD_DWC)
|
||
#if defined(PRE_ADD_EQUIPLOCK)
|
||
void SendLockItems(CDNUserItem* pItem);
|
||
void SendAddLockItem(int nRet, DBDNWorldDef::ItemLocation::eCode Code, char cSlotIndex, __time64_t tLockDate);
|
||
void SendRequestUnlockItem(int nRet, DBDNWorldDef::ItemLocation::eCode Code, char cSlotIndex, __time64_t tUnLockDate, __time64_t tUnLockRequestDate);
|
||
#endif // #if defined(PRE_ADD_EQUIPLOCK)
|
||
void SendOpenChangeJobDialog();
|
||
};
|