#include <client_api.h>
#include "constants.h"
#include "ent.h"
#include <ALLOC_IMPORTS.h>
#include "rpg_imports.h"
bool in_door = false;
__EXPORT__ void level_entered_tile(ent_t* ent, int gx, int gy, grid_t g)
{
if (g.tag)
{
if (is_player(ent))
{
grid_t* find = NULL;
if (strcmp(g.tag, "d1") == 0)
{
if (!in_door && (find = get_tile_by_tag("d2")) != NULL)
{
int target_gx, target_gy;
grid_pos(find, &target_gx, &target_gy);
ent->x = target_gx * GRID;
ent->y = target_gy * GRID;
in_door = true;
}
}
if (strcmp(g.tag, "d2") == 0)
{
if (!in_door && (find = get_tile_by_tag("d1")) != NULL)
{
int target_gx, target_gy;
grid_pos((grid_t*)find, &target_gx, &target_gy);
ent->x = target_gx * GRID;
ent->y = target_gy * GRID;
in_door = true;
}
}
}
}
}
__EXPORT__ void level_exited_tile(ent_t* ent, int gx, int gy, grid_t g)
{
}
__EXPORT__ void level_update(float ms)
{
in_door = false;
}
__EXPORT__ int setup(int arg)
{
LOAD_DYN(is_player)
LOAD_DYN(get_tile_by_tag)
LOAD_DYN(grid_pos)
}