#ifndef _BASE_SIEGE_ARMS_OBJECT_H_ #define _BASE_SIEGE_ARMS_OBJECT_H_ #pragma once #include #include using namespace Siege; class CSiegeArms : public CSiegeObject { public: virtual ~CSiegeArms(); // CSkillMonster ÀÇ ±â´É virtual bool AttackCID(CCharacter* lpRideChar, AtType attackType, AtNode& attackNode, unsigned short& wError); virtual bool Attack(AtType attackType, unsigned char cDefenderNum, CAggresiveCreature** ppDefenders, unsigned char* cDefenserJudges, unsigned short* wDefenserMPHeal); virtual bool MissileAttack(AtType attackType, float fDir, float nRange, float fAngle, char cTargetType); virtual bool Dead(CAggresiveCreature* pOffencer); // °ø¼º º´±â °ü·Ã ÇÔ¼ö bool Build(unsigned char cUpgradeStep = 0); bool Repair(unsigned short wRepairHP); bool Destroy(unsigned char cOffencerNation = 0, bool bTakeGold = false ); bool Update(unsigned char cState, unsigned long dwValue1, unsigned long dwValue2, unsigned long dwNoValue, unsigned char cSubCmd); // ½ºÅ¸ÅÍŶ ¾ÆÀÌÅÛÀ¸·Î Àüȯ (bMaterial ÀÌ true À̸é ÀÚÀçÀÇ 50% ¸¦ µ¹·ÁÁØ´Ù.) bool ToStarterKit(bool bMaterial = false); bool GiveBackSiegeMaterial(); // °ø¼º º´±â ÀÚÀç µ¹·ÁÁÖ±â unsigned short GetRepairMaterialNum(); // ¼ö¸®½Ã ÇÊ¿äÇÑ ÀÚÀç¼ö // Rider °ü·Ã Á¤º¸ virtual bool Ride(unsigned long dwCID); // º´±â ž½Â virtual bool GetOff(unsigned long dwCID); // º´±â ³»¸² (Áß°è ¼­¹ö·Î ÆÐŶ Àü¼Û : »ç¿ë¾ÈÇҽà ÆÄ±«¸¦ À§ÇØ) protected: CSiegeArms(MonsterCreateInfo& MonsterCreate, unsigned long dwOwnerID, unsigned char cNation, unsigned long dwHP, unsigned short wObjectType, unsigned char cState, unsigned char cUpgradeStep); friend class CSiegeObjectMgr; }; #endif _BASE_SIEGE_ARMS_OBJECT_H_