1
This commit is contained in:
parent
9191585bac
commit
9f5d6c5f7d
@ -2779,14 +2779,20 @@ bool Creature::CanFollow(Creature* follower)
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
if (!follower->HasBuffEffect(kBET_Jump) && room->GetGasData().gas_mode != GasInactive) {
|
||||
if (follower->HasBuffEffect(kBET_Jump)) {
|
||||
return false;
|
||||
}
|
||||
if (!follower->HasBuffEffect(kBET_Fly) && room->GetGasData().gas_mode != GasInactive) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!IsPlayer()) {
|
||||
return false;
|
||||
}
|
||||
if (!HasBuffEffect(kBET_Jump) && room->GetGasData().gas_mode != GasInactive) {
|
||||
if (HasBuffEffect(kBET_Jump)) {
|
||||
return false;
|
||||
}
|
||||
if (!HasBuffEffect(kBET_Fly) && room->GetGasData().gas_mode != GasInactive) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -2800,12 +2806,12 @@ void Creature::FollowToTarget()
|
||||
#if 1
|
||||
{
|
||||
#else
|
||||
if (GetPos().ManhattanDistance(follow_target.Get()->GetPos()) > 20) {
|
||||
if (GetPos().ManhattanDistance(follow_target.Get()->GetPos()) > 50) {
|
||||
#endif
|
||||
a8::Vec2 dir = a8::Vec2::UP;
|
||||
dir.Rotate(a8::RandAngle());
|
||||
dir.Normalize();
|
||||
a8::Vec2 target_pos = follow_target.Get()->GetPos() + dir * (10 + (rand() % 10));
|
||||
a8::Vec2 target_pos = follow_target.Get()->GetPos() + dir * (30 + (rand() % 10));
|
||||
if (GetPos().ManhattanDistance(target_pos) > 5) {
|
||||
a8::Vec2 move_dir = target_pos - GetPos();
|
||||
move_dir.Normalize();
|
||||
|
@ -1265,7 +1265,7 @@ void Player::UpdateFollow()
|
||||
room->frame_event.AddPropChg(GetWeakPtrRef(), kPropFollowTarget, 0, follow, true);
|
||||
follow_target_timer_ = room->xtimer.AddRepeatTimerAndAttach
|
||||
(
|
||||
FRAME_RATE_MS,
|
||||
400 / FRAME_RATE_MS,
|
||||
a8::XParams()
|
||||
.SetSender(this),
|
||||
[] (const a8::XParams& param)
|
||||
|
Loading…
x
Reference in New Issue
Block a user