1068 lines
58 KiB
C++
1068 lines
58 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();
|
|
};
|