Fixed various inaccuracies regarding player interaction
This commit is contained in:
parent
e53944bcb5
commit
a085037fc6
|
@ -330,7 +330,6 @@ impl Player {
|
|||
state.control_flags.set_interactions_disabled(true);
|
||||
state.textscript_vm.executor_player = id;
|
||||
state.textscript_vm.start_script(npc.event_num);
|
||||
self.cond.set_interacted(false);
|
||||
self.vel_x = 0;
|
||||
self.question = false;
|
||||
}
|
||||
|
|
|
@ -1537,6 +1537,7 @@ impl GameScene {
|
|||
|
||||
if self.player1.controller.trigger_inventory() {
|
||||
state.textscript_vm.set_mode(ScriptMode::Inventory);
|
||||
self.player1.cond.set_interacted(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -879,6 +879,8 @@ impl TextScriptVM {
|
|||
game_scene.player1.direction = direction;
|
||||
game_scene.player2.direction = direction;
|
||||
}
|
||||
game_scene.player1.cond.set_interacted(false);
|
||||
game_scene.player2.cond.set_interacted(false);
|
||||
|
||||
game_scene.player1.vel_x = 0;
|
||||
game_scene.player2.vel_x = 0;
|
||||
|
@ -891,6 +893,10 @@ impl TextScriptVM {
|
|||
game_scene.player1.vel_y = -0x200;
|
||||
game_scene.player2.vel_y = -0x200;
|
||||
|
||||
// Reset interaction condition, needed for places like talking to Toroko in shack
|
||||
game_scene.player1.cond.set_interacted(false);
|
||||
game_scene.player2.cond.set_interacted(false);
|
||||
|
||||
if let Some(direction) = Direction::from_int_facing(new_direction) {
|
||||
match direction {
|
||||
Direction::Left => {
|
||||
|
@ -1221,6 +1227,9 @@ impl TextScriptVM {
|
|||
new_scene.player2.vel_y = 0;
|
||||
new_scene.player2.x = pos_x;
|
||||
new_scene.player2.y = pos_y;
|
||||
// Reset player interaction flag upon TRA
|
||||
new_scene.player1.cond.set_interacted(false);
|
||||
new_scene.player2.cond.set_interacted(false);
|
||||
new_scene.frame.wait = game_scene.frame.wait;
|
||||
|
||||
let skip = state.textscript_vm.flags.cutscene_skip();
|
||||
|
|
Loading…
Reference in New Issue