仲間がプレイヤーのいるマップについてくる

仲間がプレイヤーのいるマップについてくる

v0.20.6 から利用可能

map2 でサムライと出会うと、後ろを付いてくるようになる

仲間のキャラクターがプレイヤーのことをマップをまたいで追いかけてくる機能
追いかけてくるにはいくつかの条件がある
仲間のキャラクターとプレイヤーが同じファミリーであること
仲間のキャラクターが一度でもプレイヤーのことを同じマップで おいかける していること
この仕様によって、例えば「map2 で出会う仲間」のような演出が自動的にできる(GIF参照)
locateを使ってプレイヤーがマップを移動する(このとき、プレイヤーのいるマップへ移動する)


議論

1. 仲間キャラの初期位置が違うマップ(map3)にいて、ゲームを開始したとき
2. 仲間キャラの初期位置が違うマップ(map3)にいて、プレイヤーが map1 → map2 に移動したとき
3. 仲間キャラと同じマップにいて、 player.locate を使ってマップを移動した時(一方向な移動)
4. 仲間キャラと同じマップにいて、 player.teleport を使ってマップを移動した時(双方向な移動)

仲間キャラがマップ移動した場合はどうする?
5. 仲間キャラと同じマップにいて、 なかま.locate を使ってマップを移動した時(一方向な移動)
6. 仲間キャラと同じマップにいて、 なかま.teleport を使ってマップを移動した時(一方向な移動)

5, 6 の条件が難しすぎるteramotodaiki
「プレイヤーがマップを変えた時は追うが仲間キャラがマップを変えた時は追わない」という論理は破綻していないか?
この は、「プレイヤーが追うことはない」という意味?それとも「もう仲間が追うことをやめる」という意味?
前者の「プレイヤーが追うことはない」という意味だと解釈して、ひとまず 5, 6 の条件でも次の chase でプレイヤーのところにやってくるように実装した
後者だと、どう考えても意図せず仲間を失う挙動が生まれそう
例えば、「マップを移動させる攻撃を繰り出す まじょねこ」がいたとして、その攻撃がサムライに当たると、サムライがどこかへ行って帰ってこなくなる
プレイヤーに当たったら、まずプレイヤーが移動して、その後サムライが追いかけてくる

そもそも「仲間キャラ」とは?
7. プレイヤーと同じファミリーになっていて、プレイヤーを chase しているキャラクター
8. プレイヤーと同じファミリーになっているが、プレイヤーを chase していないキャラクター
9. モンスターのファミリーになっているが、プレイヤーを chase しているキャラクター
Powered by Helpfeel