#ifndef _CAMP_OBJECT_H_ #define _CAMP_OBJECT_H_ #pragma once #include #include using namespace Siege; class CCamp : public CSiegeObject { public: virtual ~CCamp(); // CSkillMonster ÀÇ ±â´É void NormalBehavior(unsigned long dwTick); void AttackBehavior(unsigned long dwTick); void SearchPlayer(void); bool Attack(AtType attackType, unsigned char cDefenderNum, CAggresiveCreature** ppDefenders, unsigned char* cDefenserJudges, unsigned short* wDefenserMPHeal); bool Dead(CAggresiveCreature* pOffencer); // ±æµå ¿ä»õ °ü·Ã ÇÔ¼ö virtual bool Build(unsigned char cUpgradeStep = 0); // ±æµå ¿ä»õ ±¸Ãà ¿Ï·á bool Cancel(); // ±æµå ¿ä»õ ±¸Ãà Ãë¼Ò ¿Ï·á bool Upgrade(unsigned char cUpgradeStep); // ±æµå ¿ä»õ ¾÷±×·¹ÀÌµå ¿Ï·á bool Repair(unsigned short wRepairHP); // ±æµå ¿ä»õ ¼ö¸® ¿Ï·á virtual bool Destroy(unsigned long dwOffencerGID = 0); // ±æµå ¿ä»õ ÆÄ±« ¿Ï·á (ÀÚü ÆÄ±«, ÆÄ±«µÊ) bool Update(unsigned char cState, unsigned long dwValue1, unsigned long dwValue2, unsigned long dwNoValue, unsigned char cSubCmd); // ±æµå ¿ä»õ Á¤º¸ ¾÷µ¥ÀÌÆ® bool ChangeType(unsigned short wChangeType); // ±æµå ¿ä»õ ŸÀÔ º¯Çü ¿Ï·á void SetRight(CampRight campRight); bool CheckRight(unsigned char cRightType, unsigned long dwCID, unsigned long dwGID); // ±æµå ¿ä»õ ÆÄ±«½Ã ±æµå ¸¶½ºÅÍ¿¡°Ô µ·À» µ¹·ÁÁØ´Ù. (·Î±×ÀÎÇØÀÖÀ»¶§¸¸) // (·Î±×¾Æ¿ôÇÑ °æ¿ì´Â Áß°è¿¡¼­ ¾Ë¾Æ¼­ ó¸®ÇØÁØ´Ù) void AddGoldToMaster(unsigned long dwGold); // ½ºÅ¸ÅÍŶ ¾ÆÀÌÅÛÀ¸·Î Àüȯ (bFullMaterial ÀÌ true À̸é ÀÚÀçÀÇ 90%¸¦ µ¹·ÁÁØ´Ù.) bool ToStarterKit(bool bFullMaterial = false); // ÆÐŶ Àü¼Û ÇÔ¼ö void SendAttackedMessage(); // To DBAgentServer // Get / Set ÇÔ¼ö const CampRight& GetCampRight() const { return m_CampRight; } unsigned long GetRepairGold() const; bool UpdateMaterialNum(unsigned char cMaterial); protected: CCamp(MonsterCreateInfo& MonsterCreate, unsigned long dwCampID, unsigned long dwGID, unsigned long dwHP, unsigned short wObjectType, unsigned char cState, unsigned char cSubState, unsigned char cUpgradeStep, unsigned char cMaterial, unsigned char cSiegeCount, const CampRight& campRight, bool bFullHP); unsigned long m_dwLastAttackedTick; // ¸¶Áö¸·À¸·Î °ø°Ý ¹ÞÀº ½Ã°£ CampRight m_CampRight; // ±æµå ¿ä»õ °ü¸® ±ÇÇÑ unsigned long m_dwCmdSenderCID; // ±æµå ¿ä»õ ¸í·É ÆÐŶÀ» ¿äûÇÑ Ä³¸¯ÅÍÀÇ CID (¾÷±×·¹À̵å¿Í ŸÀÔ º¯Çü¿¡¸¸ »ç¿ë) friend class CSiegeObjectMgr; }; #endif _CAMP_OBJECT_H_