From: Jaka K. <lyn...@us...> - 2011-02-08 19:14:53
|
gemrb: Infinity Engine emulator The branch master has been updated via 9f683db07477e2e69dcf9d11c70b168340c88082 (commit) Summary of changes: gemrb/core/GameScript/Actions.cpp | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) from fa15f08bad3d5f25495c3656c31c4cfb822c42bb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=9f683db07477e2e69dcf9d11c70b168340c88082 commit 9f683db07477e2e69dcf9d11c70b168340c88082 Author: Jaka Kranjc <lyn...@us...> Date: Tue Feb 8 20:13:41 2011 +0100 don't allow joining the party from external areas; fixed the Minsc/Dynaheir duo diff --git a/gemrb/core/GameScript/Actions.cpp b/gemrb/core/GameScript/Actions.cpp index e975784..a21a46f 100644 --- a/gemrb/core/GameScript/Actions.cpp +++ b/gemrb/core/GameScript/Actions.cpp @@ -3200,11 +3200,17 @@ void GameScript::JoinParty(Scriptable* Sender, Action* parameters) if (Sender->Type != ST_ACTOR) { return; } + // make sure we're in the same area, otherwise Dynaheir joins when Minsc does + // but she's in another area and needs to be rescued first! + Actor* act = ( Actor* ) Sender; + Game *game = core->GetGame(); + if (act->GetCurrentArea() != game->GetCurrentArea()) { + return; + } + /* calling this, so it is simpler to change */ /* i'm not sure this is required here at all */ SetBeenInPartyFlags(Sender, parameters); - Actor* act = ( Actor* ) Sender; - act->SetBase( IE_EA, EA_PC ); if (core->HasFeature( GF_HAS_DPLAYER )) { /* we must reset various existing scripts */ act->SetScript( "DEFAULT", AI_SCRIPT_LEVEL, true ); @@ -3222,7 +3228,7 @@ void GameScript::JoinParty(Scriptable* Sender, Action* parameters) act->SetDialog( resref ); } } - core->GetGame()->JoinParty( act, JP_JOIN ); + game->JoinParty( act, JP_JOIN ); } void GameScript::LeaveParty(Scriptable* Sender, Action* /*parameters*/) ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |