파랜드 택틱스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

파랜드 택틱스1 마법 구조

Posted at 2010/01/26 02:32 // in Note/Farland Tactics // by drDorothy

    4 #pragma pack(1)

    5 struct magic

    6 {

    7     char name[20];

    8     short level; // 습득레벨

    9     short mp; // 요구 mp

   10 

   11     // 속성 (음수는 반대속성)

   12     short fire;

   13     short wind;

   14     short light;

   15 

   16     short min_range; // 최소 마법 범위 (이 범위 이상부터 적용)

   17     short max_range; // 최대 마법 범위

   18     char Ename[12];

   19     short sound;

   20     short target; // 0:적, 1:아군, 2:전체

   21     short range; // 0: 한칸, 1: 일반, 2:직선1, 3:중심, 4:전체, 5:직선2

   22     short spell_user; // 비트 조합방식 (마법 습득자 설정)

   23     // 0   - 아이템 & 기본속성

   24     // 1   - 레온

   25     // 2   - 랄프

   26     // 4   - 카린

   27     // 8   - 브라이언

   28     // 16  - 마시아

   29     // 32  - 팜

   30     // 64  - 리안

   31     // 128 - 오필리아

   32     // 256 - T.T

   33     // 512 - 적

   34 };

   35 #pragma pack()


※ 주의 : 케릭터당 최대 마법 개수는 10개
2010/01/26 02:32 2010/01/26 02:32

파랜드택틱스1,2 노시디 무설치 디버그 모드

Posted at 2009/01/22 05:11 // in Note/Farland Tactics // by drDorothy
오랜만에 갑자기 하고싶어진 관계로 잠시 게임을 하려니..
FT1.exe

파택1 노시디 무설치 디버그 모드 실


원래 가지고 있던 이미지가 깨진게 아닌가!!.. ㅜ_ㅜ
그래서 부득이하게 다운을 받았다..

문제는 지금부터였다..
FT2.exe

파택2 수정판도 서비스..



설치하기 싫어서 그냥 복사해다가 실행시키려 하는데..
발악을 하는게 아닌가 ㅡ_ㅡ;..

시디 넣어 달라고 때쓰고..
설치해달라 때스고..

암튼 컴터 청결사용 방침에 의거..
실행파일을 수정해 버렸다..

이름하여..
노시디 & 무설치 실행파일..ㅋㅋㅋ
그냥 저거 실행시키면 자알~ 돌아감..

resize_image

파택은 나에게 영원한 최고의 게임..!!


오랜만에 보니 너무나도 반가운 이 화면..ㅎㅎ
반갑기도 했지만.. 실행파일 수정도중 이상한 함수를 봐서..
좀더~ 좀더~ 파고 들어가 봤더니.. 이상한게 있었다..

0x452FB8 영역의 값을 1로 바꿨더니.......

resize_image

이건 뭘까나.. 디버그모드라니 ㅡ_ㅡ;;..
완전 처음보는 메뉴가 나오는게 아닌가..
그래서 하나 눌러봤다..

resize_image

Ctrl + Z 를 누르면 전원 턴 회복이 되어서 1턴째에 맵 끝까지 가버렸다..
게다가.. 무적을 눌렀더니.. 모든 케릭터가 사기가 되어버렸다 ㅡ_ㅡ..
(아놔.. 재미없어 ㅡ_ㅡ;;..)

더 웃긴건..
적 케릭터의 움직임도 회복이 되고..
내가 적 케릭터를 직접 컨트롤 할 수 있다..
(물론 기술도 다 쓸 수 있다.......)

파택1에 이런게 있는줄은 처음알았다 ㅡ_ㅡ......
(p.s. 파택2도 분석해보니 구조가 거의 동일해서 낼름 하나 만들어봄..)
2009/01/22 05:11 2009/01/22 05:11