A
arah
Invited
Actualmente me interesa manipular el comportamiento del follow de las criaturas, ellas se manejan por un follow attack el cual funciona INMEDIATO lo cual limita a los jugadores de hacer plays entre otras cosas, dicho esto alguien me podría encaminar donde podría hacerlo?, he investigado mis sources entre otras cosas pero no ha sido tarea fácil, adicional a esto si hay alguien que sepa manipular este tipo de cosas podría contratarlo.
Segun mis investigaciones todo el comportamiento se basa al rededor de este Código:
El comportamiento que necesito actualmente seria que la criatura de una pequena pausa cuando el jugador se aleja por 1 segundo y vuelve a su spot, el codigo como esta actualmente la criatura SIEMPRE lo seguira instantaneamente y por ende el jugador jamas podra volver al sqm donde estaba, la criatura tiene una reaccion demasiado rapida.
Segun mis investigaciones todo el comportamiento se basa al rededor de este Código:
Code:
if (const auto &followCreature = getFollowCreature()) {
const Position &followPosition = followCreature->getPosition();
const Position &pos = getPosition();
int32_t offset_x = Position::getDistanceX(followPosition, pos);
int32_t offset_y = Position::getDistanceY(followPosition, pos);
if ((offset_x > 1 || offset_y > 1) && mType->info.changeTargetChance > 0) {
Direction dir = getDirectionTo(pos, followPosition);
const auto &checkPosition = getNextPosition(dir, pos);
if (const auto &nextTile = g_game().map.getTile(checkPosition)) {
const auto &topCreature = nextTile->getTopCreature();
if (followCreature != topCreature && isOpponent(topCreature)) {
selectTarget(topCreature);
}
}
}
if (offset_x <= 1 && offset_y <= 1) {
// seems like a target is near, it this case we need to slow down our movements (as a monster)
if (stepDuration < 2) {
stepDuration++;
}
} else if (stepDuration > 0) {
stepDuration--;
}
} else if (isOpponent(creature)) {
// we have no target lets try pick this one
selectTarget(creature);
}
}
}
}
El comportamiento que necesito actualmente seria que la criatura de una pequena pausa cuando el jugador se aleja por 1 segundo y vuelve a su spot, el codigo como esta actualmente la criatura SIEMPRE lo seguira instantaneamente y por ende el jugador jamas podra volver al sqm donde estaba, la criatura tiene una reaccion demasiado rapida.