From: Jaka K. <lyn...@us...> - 2012-10-07 17:03:00
|
gemrb: Infinity Engine emulator The branch master has been updated via ae57e01f6f848d5454c6cbdc81c8cc55c9f65a1a (commit) via 09ddeb2a93559186c16546875f2edba7128d2454 (commit) Summary of changes: gemrb/core/GameScript/Triggers.cpp | 2 +- gemrb/core/Map.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletions(-) from 7fabd2939ab6b4fc92894aa45c6fd9340e61d519 (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=ae57e01f6f848d5454c6cbdc81c8cc55c9f65a1a commit ae57e01f6f848d5454c6cbdc81c8cc55c9f65a1a Author: Jaka Kranjc <lyn...@us...> Date: Sun Oct 7 18:55:55 2012 +0200 Map::Shout: skip the original source fixes neutrals going hostile when near enemies (in shout range), one prominent example being the Solamnic knigts in ar0411 and the, at that point, yet undiscovered diseased halflings. diff --git a/gemrb/core/Map.cpp b/gemrb/core/Map.cpp index 9695c06..a57367f 100644 --- a/gemrb/core/Map.cpp +++ b/gemrb/core/Map.cpp @@ -1309,6 +1309,11 @@ void Map::Shout(Actor* actor, int shoutID, unsigned int radius) while (i--) { Actor *listener = actors[i]; + // skip the shouter, so gpshout's InMyGroup(LastHeardBy(Myself)) can get two distinct actors + if (listener == actor) { + continue; + } + if (radius) { if (Distance(actor->Pos, listener->Pos)>radius) { continue; http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=09ddeb2a93559186c16546875f2edba7128d2454 commit 09ddeb2a93559186c16546875f2edba7128d2454 Author: Jaka Kranjc <lyn...@us...> Date: Sun Oct 7 18:43:10 2012 +0200 InMyGroup was always returning true fixes a regression from 2009's 7aba06eaf4fb diff --git a/gemrb/core/GameScript/Triggers.cpp b/gemrb/core/GameScript/Triggers.cpp index c6b1556..4adf767 100644 --- a/gemrb/core/GameScript/Triggers.cpp +++ b/gemrb/core/GameScript/Triggers.cpp @@ -3912,7 +3912,7 @@ int GameScript::InMyGroup(Scriptable* Sender, Trigger* parameters) return 1; } */ - if ( ((Actor *) tar)->GetStat(IE_SPECIFIC)==((Actor *) tar)->GetStat(IE_SPECIFIC) ) { + if ( ((Actor *) tar)->GetStat(IE_SPECIFIC)==((Actor *) Sender)->GetStat(IE_SPECIFIC) ) { return 1; } return 0; ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |