⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 player.h

📁 墨香最新私服
💻 H
📖 第 1 页 / 共 2 页
字号:
	void SetMapChangePoint(WORD point){m_HeroCharacterInfo.MapChangePoint_Index = point;}	// YH
	WORD GetMapChangePoint() { return m_HeroCharacterInfo.MapChangePoint_Index;	} //hs for party
	
	void CalcState();
	
	///////////////////////////////////////////////////////////////////////
	// 公傍	
	void SetMugongBase(POSTYPE abspos, MUGONGBASE * mugong)
	{
		if( abspos < TP_MUGONG_START && abspos >= TP_MUGONG_END )
			ASSERT(0);

		POSTYPE pos = abspos - TP_MUGONG_START;

		if( mugong->dwDBIdx != 0 && mugong->Position == 0)
			CRITICALASSERT(0);

		memcpy(&m_HeroMugongInfo.mugong[pos], mugong, sizeof(MUGONGBASE));
	}
	MUGONGBASE * GetMugongBase(POSTYPE abspos)
	{
		if( abspos < TP_MUGONG_START && abspos >= TP_MUGONG_END )
		{	
			ASSERT(0);
			return NULL;
		}

		POSTYPE pos = abspos - TP_MUGONG_START;
		return &m_HeroMugongInfo.mugong[pos];
	}	
	MUGONGBASE * GetMugongBaseByMugongIdx(WORD MugongIdx);
	int GetMugongLevel(WORD MugongIdx);
	int GetMugongNum();
	///////////////////////////////////////////////////////////////////////

	
	void GetCharacterTotalInfo(CHARACTER_TOTALINFO* pRtInfo);
	void GetHeroTotalInfo(HERO_TOTALINFO* pRtInfo);
	void GetMugongTotalInfo(MUGONG_TOTALINFO* pRtInfo);

	// 酒捞袍 //////////////////////////////////////////////////////////////////////
	void GetItemtotalInfo(ITEM_TOTALINFO* pRtInfo,DWORD dwFlag);
	void GetPyogukItemInfo(PYOGUK_ITEM * pRtInfo);

	WORD GetWearedItemIdx(DWORD WearedPosition)	{	return m_HeroCharacterInfo.WearedItemIdx[WearedPosition];	}
	void SetWearedItemIdx(DWORD WearedPosition,WORD ItemIdx);
	BOOL UseItem(WORD abs_pos);
	BOOL UseConsumptionItem(WORD abs_pos);
	BOOL UseEquipItem(WORD abs_pos);
	BOOL UseMugongItem(WORD abs_pos);


	void SetAddMsg(char* pAddMsg,WORD* pMsgLen,DWORD dwReceiverID,BOOL bLogin);
	
	virtual void SendMsg(MSGBASE* pMsg,int MsgLen);
	
private:
	void MoneyUpdate( MONEYTYPE money ); //(Money Class俊辑 龋免 ), DB俊 Set
	CYHHashTable<ITEM_OPTION_INFO> m_ItemOptionList;
public:
	void AddItemOption(ITEM_OPTION_INFO * pInfo);
	void RemoveItemOption(DWORD dwOptionIdx);
	ITEM_OPTION_INFO * GetItemOption(DWORD dwOptionIdx);

	MONEYTYPE SetMoney( MONEYTYPE ChangeValue, BYTE bOper, BYTE MsgFlag = 0, eITEMTABLE tableIdx = eItemTable_Inventory, BYTE LogType = 0, DWORD TargetIdx = 0 );
	MONEYTYPE GetMoney(eITEMTABLE tableIdx = eItemTable_Inventory);
	MONEYTYPE GetMaxPurseMoney(eITEMTABLE TableIdx);
	void SetMaxPurseMoney(eITEMTABLE TableIdx, DWORD MaxMoney);
	BOOL IsEnoughAdditionMoney(MONEYTYPE money, eITEMTABLE tableIdx = eItemTable_Inventory );

//	void ObtainMoney(DWORD addmoney);		//各磷咯辑 掘菌阑锭父 龋免
//	void SetMoneyNoMsgNoUpdate(DWORD money);
	
	player_calc_stats* GetCharStats()			{	return &m_charStats;		}
	player_calc_stats* GetItemStats()			{	return &m_itemStats;		}

	
//	void AddHuntItemAndSendToPlayer(WORD DropItemNum);
//	BOOL HuntItemDBResult(DWORD dwPlayerID, ITEMBASE * itemInfo);
	DWORD GetPartyIdx()	{	return m_HeroInfo.PartyID;	}
	void SetPartyIdx(DWORD PartyIDx) { m_HeroInfo.PartyID = PartyIDx; }

	/*巩颇啊 官差匙...*/
	DWORD GetMunpaIdx()	{	return m_HeroCharacterInfo.MunpaID;	}
	void SetMunpaIdx(DWORD MunpaIDx) { m_HeroCharacterInfo.MunpaID = MunpaIDx; }
	
	BYTE GetMunpaMemberRank() { return m_HeroCharacterInfo.PositionInMunpa; 	}
	void SetMunpaMemberRank(BYTE rank){ m_HeroCharacterInfo.PositionInMunpa = rank; 	} //巩颇俊辑狼 磊脚狼 瘤困 汲沥
	void SetMunpaName(char* MunpaName){ SafeStrCpy(m_HeroInfo.MunpaName, MunpaName, MAX_MUNPA_NAME+1); }
	/**/

	DWORD GetGuildIdx()	{	return m_HeroCharacterInfo.MunpaID;	}
	void SetGuildIdx(DWORD GuildIdx) { m_HeroCharacterInfo.MunpaID = GuildIdx; }

	void SetGuildInfo(DWORD GuildIdx, BYTE Grade, char* GuildName);
	BYTE GetGuildMemberRank() { return m_HeroCharacterInfo.PositionInMunpa; 	}
	void SetGuildMemberRank(BYTE rank){ m_HeroCharacterInfo.PositionInMunpa = rank; 	} //巩颇俊辑狼 磊脚狼 瘤困 汲沥
	void SetGuildName(char* GuildName){ SafeStrCpy(m_HeroInfo.MunpaName, GuildName, MAX_MUNPA_NAME+1); }


	BYTE GetLifePercent();
	BYTE GetShieldPercent();
	BYTE GetNaeRyukPercent();
	
	// 惑怕 函券
	void OnStartObjectState(BYTE State,DWORD dwParam);
	void OnEndObjectState(BYTE State);

	WORD GetWearedWeapon() { return m_HeroCharacterInfo.WearedItemIdx[eWearedItem_Weapon]; }
	WORD GetWeaponEquipType();

	void SetCurComboNum(DWORD combonum)	{	m_CurComboNum = combonum;	}
	DWORD GetCurComboNum()				{	return m_CurComboNum;	}
//	DWORD GetCurMugongNum()				{ return GetCurQuickItem()->dwIconIdx; }

	void SetPeaceMode(BOOL bPeace)	{	m_HeroCharacterInfo.bPeace = bPeace?true:false;	}
	BOOL GetPeaceMode()				{	return m_HeroCharacterInfo.bPeace;		}
	
	//钎惫
	void AddPyogukItem(ITEMBASE * pPyogukItem);
	void InitPyogukInfo(BYTE pyoguknum,MONEYTYPE money);
	BOOL IsPyogukInit() {return m_bPyogukInit; }
	void SetPyogukNum(WORD n);
	WORD GetPyogukNum();

	void RevivePresentSpot();
	void ReviveLogIn();
	void ReviveAfterVimu( BOOL bSendMsg = TRUE );

	//泅惑陛
	void ClearWantedList();
	WANTEDTYPE GetWantedIdx()	{ return m_WantedIDX; }
	void SetWantedIdx(WANTEDTYPE val)	{ m_WantedIDX = val; }
		
	DWORD GetWantedNum()			{ return m_WantedList.GetCount(); }
	
	void ClearMurderIdx();
	DWORD GetMurderIDX()						{ return m_MurdererIDX;	}
	WORD GetMurderKind()						{ return m_MurdererKind;}
	BOOL IsReadyToRevive()						{ return m_bReadyToRevive;	}
	void SetReadyToRevive(BOOL val)				{ m_bReadyToRevive = val;	}
	void AddWanted(WANTEDTYPE WantedIDX);
	void DeleteWanted(WANTEDTYPE WantedIDX);
	BOOL IsWantedOwner(WANTEDTYPE WantedIDX);
	

// KES EXCHNAGE 030922 
	void SetExchangeContainer( sEXCHANGECONTAINER* ExchangeContainer )
											{ m_ExchangeContainer = *ExchangeContainer; }
	sEXCHANGECONTAINER* GetExchangeContainer() { return &m_ExchangeContainer; }
// KES VIMU 031101
	void SetVimuing( BOOL bVimuing ) { m_bVimuing = bVimuing; }
	BOOL IsVimuing() { return m_bVimuing; }
	void SetVimuOpPlayerID( DWORD dwOpPlayerID ) { m_dwOpPlayerID = dwOpPlayerID; }
	DWORD GetVimuOpPlayerID()	{ return m_dwOpPlayerID; }
//	BOOL IsKilledWithPanelty()			{ return m_bNeedRevive; }
// KES OOPTION 031213
	sGAMEOPTION* GetGameOption() { return &m_GameOption; }
	void SetGameOption( sGAMEOPTION* pGameOption ) { m_GameOption = *pGameOption; }
// KES PK 040205
	int PKModeOn();
	BOOL PKModeOff();
	void PKModeOffForce();
	BOOL IsPKMode()		{ return m_HeroCharacterInfo.bPKMode; }
	void SetPKStartTimeReset() { m_dwPKModeStartTime = gCurTime; }
	void AddPKContinueTime( DWORD dwTime ) { m_dwPKContinueTime += dwTime; }

	void SetPKModeEndtime();
// KES EXIT
	BOOL IsExitStart() { return m_bExit; }
	int CanExitStart();
	void SetExitStart( BOOL bExit );
	int CanExit();
	void ExitCancel();
	void SetNormalExit() { m_bNormalExit = TRUE; }
	BOOL IsNormalExit() { return m_bNormalExit; }
//
	void SetUserLevel( DWORD dwUserLevel ) { m_dwUserLevel = dwUserLevel; }
	DWORD GetUserLevel() { return m_dwUserLevel; }
////////


// LBS 畴痢惑 包访 03.09.29 /////////////////////////////////////////////
	void SetGuestStall( cStreetStall* pStall ) { m_pGuetStall = pStall; }
	cStreetStall* GetGuestStall() { return m_pGuetStall; }
	void SetStreetStallTitle(char* title);
	void GetStreetStallTitle(char* title);
/////////////////////////////////////////////////////////////////////////


	//////////////////////////////////////////////////////////////////////////
	// 坷滚扼捞爹 窃荐甸
	virtual void DoDie(CObject* pAttacker);
	virtual void DoDamage(CObject* pAttacter,RESULTINFO* pDamageInfo,DWORD beforeLife);
	virtual DWORD Damage(CObject* pAttacker,RESULTINFO* pDamageInfo);
	
	void SetMaxLife(DWORD val);
	void SetMaxShield(DWORD val);
	void SetMaxNaeRyuk(DWORD val);
	
	LEVELTYPE GetMaxLevel()		{	return m_HeroInfo.MaxLevel;	}
	//////////////////////////////////////////////////////////////////////////
	// 沥焊 掘绢坷绰 窃荐甸
	virtual LEVELTYPE GetLevel()	{ return m_HeroCharacterInfo.Level; }
	virtual void SetLevel(LEVELTYPE level);
	virtual DWORD GetLife() { return m_HeroCharacterInfo.Life; }
	virtual void SetLife(DWORD Life,BOOL bSendMsg = TRUE);
	virtual DWORD GetShield() { return m_HeroCharacterInfo.Shield; }
	virtual void SetShield(DWORD Shield,BOOL bSendMsg = TRUE);
	virtual DWORD GetNaeRyuk(){ return m_HeroInfo.wNaeRyuk; }
	virtual void SetNaeRyuk(DWORD valb,BOOL SendMsg = TRUE);	
	virtual DWORD DoGetMaxLife(){ return m_HeroCharacterInfo.MaxLife; }
	virtual DWORD DoGetMaxShield(){ return m_HeroCharacterInfo.MaxShield; }
	virtual DWORD DoGetMaxNaeRyuk(){ return m_HeroInfo.wMaxNaeRyuk; }
	virtual DWORD DoGetPhyDefense()
	{ return GetCharStats()->PhysicalDefense+GetItemStats()->PhysicalDefense+GetAbilityStats()->DefenceUp; }
	virtual float DoGetAttDefense(WORD Attrib)
	{ return GetItemStats()->AttributeResist.GetElement_Val(Attrib)+GetAbilityStats()->AttRegistUp.GetElement_Val(Attrib); }	
	virtual float GetAttribPlusPercent(WORD Attrib)
	{ return GetItemStats()->AttributeAttack.GetElement_Val(Attrib)+GetAbilityStats()->AttAttackUp.GetElement_Val(Attrib);	}
	virtual DWORD DoGetPhyAttackPowerMin();
	virtual DWORD DoGetPhyAttackPowerMax();

	virtual float DoGetMoveSpeed();
	virtual float DoGetAddAttackRange(){	return GetMinChub() / 3.f;	}
	virtual DWORD DoGetCritical();



	WORD GetKyungGongGrade()	{	return m_HeroInfo.KyungGongGrade;	}
	void SetKyungGongGrade(WORD grade)	{	m_HeroInfo.KyungGongGrade = grade;	}

	ITEMOBTAINARRAYINFO * GetArray(WORD id);
	void AddArray(ITEMOBTAINARRAYINFO * pInfo);
	void RemoveArray(WORD id);
	CYHHashTable<ITEMOBTAINARRAYINFO> m_ItemArrayList;

	void AddFollowList(CMonster * pMob);
	void RemoveFollowList(DWORD ID);
	void RemoveFollowAsFarAs(DWORD GAmount);
	CYHHashTable<CMonster> m_FollowMonsterList;

// 檬焊磊 啊捞靛
	void AddQuest(CQuestBase* pQuest);
	void RemoveQuest(DWORD QuestIdx);
	BOOL SetQuestState(DWORD QuestIdx, QSTATETYPE value);
	CYHHashTable<CQuestBase>	m_QuestList;

	virtual void StateProcess();

	// PlayTime
	DWORD GetPlayTime()				{	return m_HeroInfo.Playtime;	}
	void SetLoginTime(int time)		{	m_LoginTime = time;	}

	void ReviveLogInPenelty();
// jsd quest
protected:
	CQuestGroup		m_QuestGroup;
public:
	CQuestGroup*	GetQuestGroup()		{ return &m_QuestGroup; }
	void			QuestProcess();

};

#endif // !defined(AFX_PLAYER_H__D36AF2E1_0FD9_4120_B257_64B0BE21D669__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -