파랜드 택틱스2 아이템 구조

Posted at 2011/01/11 02:18 // in Note/Farland Tactics // by drDorothy
// 아이템 사용자
#define ITEM_KARIN		((unsigned short) (0x0001))
#define ITEM_AL			((unsigned short) (0x0002))
#define ITEM_ARIS		((unsigned short) (0x0004))
#define ITEM_SARAH		((unsigned short) (0x0008))
#define ITEM_RADITSU	((unsigned short) (0x0010))
#define ITEM_SOPHIA		((unsigned short) (0x0020))
#define ITEM_RURU		((unsigned short) (0x0040))
#define ITEM_JOHN		((unsigned short) (0x0080))
#define ITEM_SON		((unsigned short) (0x0100))

// 아이템 특수효과
enum ItemEffect
{
	ItemEffectNone=0,			// 없음
	ItemEffectResurrection,		// 부활
	ItemEffectPoision,			// 중독
	ItemEffectSleep,			// 수면
	ItemEffectPetro,			// 석화
	ItemEffectFreeze,			// 동결
	ItemEffectSilence,			// 침묵
	ItemEffectTemptation,		// 매료
	ItemEffectParalyze,			// 마비
	ItemEffectUnknown1,			// ????
	ItemEffectMove,				// 이동Up
	ItemEffectFly,				// 비행
	ItemEffectUnknown2			// ????
};

// 아이템 타입
enum ItemType { ItemTypeWeapon=0, ItemTypeArmor, ItemTypeAccessory, ItemTypeUsable };

// 공격 타입 (아이템 타입이 무기인 경우만, 방어구 타입이면 언제나 0)
enum ItemActionType {
	ItemActionTypeNormal=0,		// 일반 형태의 단일 타겟 공격
	ItemActionTypePierce,		// 관통 공격
	ItemActionTypeRange,		// 자신을 중심으로 범위공격
	ItemActionTypeUnknown		// ??
};

// 아이콘 모양
enum ItemIconType {
	ItemIconTypeArmor=0,
	ItemIconTypeBBottle,
	ItemIconTypeRing,
	ItemIconTypeYFlower,
	ItemIconTypeBFlower,
	ItemIconTypeNuts,
	ItemIconTypeBag,
	ItemIconTypeRFlower,
	ItemIconTypeGBottle,
	ItemIconTypeOBottle,
	ItemIconTypeMushroom,
	ItemIconTypeRedBall,
	ItemIconTypeJewel,
	ItemIconTypeNecklace,
	ItemIconTypeBook,
	ItemIconTypeBracelet
};

#pragma pack(1)
typedef struct _FT2ITEM
{
	char Name[20];				// 아이템 명칭
	unsigned short Price;		// 아이템 가격
	unsigned short RestoreHp;	// HP 회복량
	unsigned short RestoreMp;	// MP 회복량
	short Atk;					// 공격력
	short Def;					// 방어력
	short Int;					// 지력
	short Mgd;					// 항마력
	short Agi;					// 민첩성

	// 속성(음수는 반대속성)
	short Fire;
	short Wind;
	short Light;

	short MinRange;				// 최소 사용 범위 (이 범위 이상부터 사용 가능)
	short MaxRange;				// 최대 사용 범위 (이 범위 까지 사용 가능)
	short Type;					// (0:무기,1:방어구,2:악세서리,3:소모아이템)
	short ActionNo;				// 액션 번호
	short ActionType;			// 공격 형태 or 아이콘 모양
	short Effect;				// 특수효과
	short ItemUser;				// 아이템 사용자

} FT2ITEM, *PFT2ITEM;
#pragma pack()


※ 주의 : 케릭터에 따른 엑션번호가 존재하는지 언제나 체크해야함
2011/01/11 02:18 2011/01/11 02:18

파랜드 택틱스2 마법 구조

Posted at 2011/01/11 02:15 // in Note/Farland Tactics // by drDorothy
#define SPELL_KARIN		((unsigned short) (0x0001))
#define SPELL_AL		((unsigned short) (0x0002))
#define SPELL_ARIS		((unsigned short) (0x0004))
#define SPELL_SARAH		((unsigned short) (0x0008))
#define SPELL_RADITSU	((unsigned short) (0x0010))
#define SPELL_SOPHIA	((unsigned short) (0x0020))
#define SPELL_RURU		((unsigned short) (0x0040))
#define SPELL_SON		((unsigned short) (0x0080))
#define SPELL_ENEMY		((unsigned short) (0x0100))

// 공격 대상
enum MagicTarget {
	MagicTargetEnemy=0,				// 적에게 적용
	MagicTargetTeam,				// 같은 팀
	MagicTargetAll					// 사일런스와 같은 마법
};

// 공격 범위
enum MagicRangeType {
	MagicRangeTypeSingle=0,			// 단일 타겟
	MagicRangeTypeLevel,			// 레벨에 따라 범위 증가
	MagicRangeTypeLine,				// 일직선
	MagicRangeTypeCenter,			// 전체마법 (자신을 중심으로)
	MagicRangeTypeAll				// 사일런스와 같은 모든 케릭터를 타겟
};

#pragma pack(1)
typedef struct _FT2MAGIC
{
	char Name[20];					// 마법 명칭
	unsigned short Level;			// 사용 레벨
	short Mp;						// 소모 MP

	// 속성 (음수는 반대속성)
	short Fire;
	short Wind;
	short Light;

	// 마법 범위
	unsigned short MinRange;		// 최소 마법 범위
									// (0: 자신, 1: 자기 제외, 2: 자기로부터 한칸 ...)
	unsigned short MaxRange;		// 최대 범위 (중심기준 공격인 경우 피해범위가 됨)

	// 마법 이펙트 관련
	char EffectName[12];			// 이펙트 명칭(APD 파일)
	unsigned short EffectSound;		// 이펙트 소리 번호

	unsigned short Target;			// 0:적, 1:아군, 2:전체
	unsigned short RangeType;		// MagicRangeType 참고
	unsigned short SpellUser;		// 스펠 사용자

	char Description[10];			// 마법 설명

} FT2MAGIC, *PFT2MAGIC;
#pragma pack()


※ 주의 : 전체마법과 같은 초기 특수효과가 들어가는 마법은 충돌이 있음
2011/01/11 02:15 2011/01/11 02:15