/* ========================================================================== * ÆÄ ÀÏ : Drop_Common.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ¹Ú°æÈñ * ÀÛ ¼º ÀÏ : 2007-02-21 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "CommonNetworkMsgStruct.h" #include "sqltypes.h" #pragma pack(push,1) const unsigned short EXP_DROP_RANGE = 4000; const unsigned long DROP_PER_FLOAT_CONVERT = 10; const unsigned long RANDOM_MAX = 1000000; enum eDROP_SERVERTYPE { eDROPSERVERTYPE_ALL = 0, /// Àδø, ÇÊµå ¸ðµÎ µå¶ø eDROPSERVERTYPE_FIELD, /// Çʵ常 µå¶ø eDROPSERVERTYPE_INDUN, /// Àδø¸¸ µå¶ø }; /// money µå¶ø Á¤º¸ struct sDropMoneyScript { unsigned long mClassIdx; /// Á¾·ùidx unsigned long mDropPercent; /// µå¶ø È®·ü unsigned long mMinMoney; /// µå·Ó ÃÖ¼Ò ±Ý¾× unsigned long mMaxMoney; /// µå·Ó ÃÖ´ë ±Ý¾× }; /// ¸ó½ºÅÍ Á¾·ùº° µå¶ø Á¤º¸Áß ¾ÆÀÌÅÛ±×·ì ¸ñ·Ï struct sDropItemGroupScript { unsigned long mItemGroupIdx; /// ¾ÆÀÌÅÛ ±×·ì À妽º unsigned long mItemGroupRate; /// ¾ÆÀÌÅÛ ±×·ì ¼±Åà ºñÀ² }; /// Á¾·ùº°(¸ó½ºÅÍ/äÁý) µå¶ø Á¤º¸ struct sDropClassScript { unsigned long mClassIdx; /// Á¾·ù(¸ó½ºÅÍ/äÁý) idx //unsigned long mNoAddDropRate; /// Ãß°¡µå¶ø ¼±Åà ¾ÈÇÒ ºñÀ² unsigned char mAddDrop1Cnt; /// Ãß°¡µå¶ø1 Ƚ¼ö unsigned long mAddDrop1Rate; /// Ãß°¡µå¶ø1 ¼±Åà ºñÀ² unsigned char mAddDrop2Cnt; /// Ãß°¡µå¶ø2 Ƚ¼ö unsigned long mAddDrop2Rate; /// Ãß°¡µå¶ø2 ¼±Åà ºñÀ² //unsigned long mItemGroupRateTotal; /// ¾ÆÀÌÅÛ±×·ì ºñÀ² ÃÑÇÕ /// tArray mItemGroup; /// ¾ÆÀÌÅÛ±×·ì sDropClassScript() { memset( this, 0, sizeof(sDropClassScript) ); } }; /// ¸ó½ºÅÍ ·¹º§,ŸÀÔº° µå¶ø Á¤º¸ struct sDropLevelTypeScript { //unsigned char mLevelMin; //unsigned char mLevelMax; unsigned char mMonsterType; /// ¸ó½ºÅÍ Å¸ÀÔ unsigned char mServerTypeCheck; /// ¼­¹öº° µå¶ø üũ //unsigned long mNoAddDropRate; /// Ãß°¡µå¶ø ¼±Åà ¾ÈÇÒ È®·ü unsigned char mAddDrop1Cnt; /// Ãß°¡µå¶ø1 Ƚ¼ö unsigned long mAddDrop1Rate; /// Ãß°¡µå¶ø1 ¼±Åà ºñÀ² unsigned char mAddDrop2Cnt; /// Ãß°¡µå¶ø2 Ƚ¼ö unsigned long mAddDrop2Rate; /// Ãß°¡µå¶ø2 ¼±Åà ºñÀ² //unsigned long mItemGroupRateTotal; /// ¾ÆÀÌÅÛ±×·ì ºñÀ² ÃÑÇÕ /// tArray mItemGroup; /// ¾ÆÀÌÅÛ±×·ì sDropLevelTypeScript() { memset( this, 0, sizeof(sDropLevelTypeScript) ); } }; /// µå¶ø ¾ÆÀÌÅÛ Á¤º¸ struct sDropItemScript { unsigned long mItemIdx; /// ¾ÆÀÌÅÛ Á¾·ù À妽º unsigned long mItemRate; /// ¼±Åà ºñÀ² unsigned long mItemCount; /// ¾ÆÀÌÅÛ ¼ö·® }; /// µå¶ø ¾ÆÀÌÅÛ ¸ñ·Ï Á¤º¸ struct sDropItemListScript { unsigned long mItemGroupIdx; /// ¾ÆÀÌÅÛ ±×·ì À妽º //unsigned long mItemRateTotal; /// ¾ÆÀÌÅÛ±×·ì ºñÀ² ÃÑÇÕ /// tArray mItem; /// ¾ÆÀÌÅÛ±×·ì sDropItemListScript() { memset( this, 0, sizeof(sDropItemListScript) ); } }; /// Äù½ºÆ® µå¶ø struct sDropQType { unsigned long mItemIdx; /// µå¶ø ¾ÆÀÌÅÛ À妽º unsigned long mDropPer; /// µå¶ø È®·ü }; /// äÁý struct sDropQTypeGather : public sDropQType /// Äù½ºÆ® µå¶ø {}; /// Ç÷¹À̾ ¸ó½ºÅÍ¿¡ ÁØ µ¥¹ÌÁö struct sPlayerDamage { unsigned long mMonsterIdx; unsigned long mPlayerIdx; long mDamage; }; /// ÆÄƼ¿ø¿¡ µû¸¥ Áõ°¡Ä¡ struct sPartyExp { unsigned char mPartyMemberCnt; float mExpIncrease; float mSxpIncrease; }; struct sDropLimit { unsigned long mItemIdx; unsigned long mDropTerm; TIMESTAMP_STRUCT mEndTime; bool mIsDrop; }; #pragma pack(pop)