Files
dusk/src/dusk/rpg/entity/npc/npcturn.c
T
2026-06-26 14:21:48 -05:00

28 lines
864 B
C

/**
* Copyright (c) 2026 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#include "npc.h"
#include "rpg/entity/entity.h"
#include "util/random.h"
#include "time/time.h"
#include <stdlib.h>
void npcRandomTurnInit(npc_t *npc) {
npcrandomturn_t *turn = &npc->moveData.randomTurn;
turn->frequencyMin = NPC_RANDOM_TURN_FREQUENCY_MIN_DEFAULT;
turn->frequencyMax = NPC_RANDOM_TURN_FREQUENCY_MAX_DEFAULT;
turn->timer = randomFloat(turn->frequencyMin, turn->frequencyMax);
}
void npcRandomTurnMovement(entity_t *entity) {
npcrandomturn_t *turn = &entity->data.npc.moveData.randomTurn;
turn->timer -= TIME.delta;
if(turn->timer > 0.0f) return;
turn->timer = randomFloat(turn->frequencyMin, turn->frequencyMax);
if(entityCanTurn(entity)) entityTurn(entity, (entitydir_t)(rand() % 4));
}