#ifndef DEFINES_H
#define DEFINES_H
#include "pixelGameEngine.h"
using namespace olc;


#define WIDTH 256
#define HEIGHT 224
#define TILEMAP_SIZE_X 512
#define TILEMAP_SIZE_Y 512
#define TILEMAP_EDITOR_DRAW_MULT 0.4375
#define TILEMAP_EDITOR_TILESIZE (32*TILEMAP_EDITOR_DRAW_MULT)
#define PARTY_TRAIL_LENGTH 48
#define CAMERA_WAIT_TIME 60
#define HEALTH_ROLLING_SPEED 2
#define NO_TARGET -99
#define DEFAULT_CHANNELPOS {-99,-99}
#define CUSTOM_MESSAGE_WAIT_TIME 90

#define SetupMove(movename) MOVELIST[BattleMoveName::movename]=new Battle::Move{BattleMoveName::movename,
#define SetupItem(itemname) ITEMLIST[ItemName::itemname]=new Item(ItemName::itemname,

#define 돈

#define α '`'
#define β '{'
#define γ '\u007f'
#define Ω '|'
#define Σ '}'

#define AddAsyncCutsceneAction(AsyncClass) \
	if (!((AsyncClass*)CurrentCutscene->GetAction())->InQueue()) { \
		CUTSCENE_QUEUE.push_back(CurrentCutscene->GetAction()); \
	} \
	((AsyncClass*)CurrentCutscene->GetAction())->SetQueued(); \
	CurrentCutscene->AdvanceAction(); \

#define 액션 (CutsceneAction*)new

enum class Property{
    NONE,
    PETRIFY,
    PARALYZE,
    DIAMONDIZE,
    CRYING,
    SLOW,
    MUSHROOMIZED,
    CONFUSE,
    POISON,
    REGEN,
    DEFENSE_UP,
    REVIVE
};

enum:char{
	ALPHA=α,
	BETA=β,
	GAMMA=γ,
	OMEGA=Ω,
	SIGMA=Σ,
};

enum class Direction{
	SOUTH,
	EAST,
	WEST,
	NORTH,
	SOUTHWEST,
	SOUTHEAST,
	NORTHEAST,
	NORTHWEST,
};

enum PriorityDirection{
	HORZ_FIRST,
	VERT_FIRST,
	BOTH
};


extern vd2d cameraPos;
#endif