From: Jaka K. <lyn...@us...> - 2012-11-19 20:57:26
|
gemrb: Infinity Engine emulator The branch master has been updated via f2b220143ac2441d681405e1e055ec5000880842 (commit) Summary of changes: gemrb/plugins/FXOpcodes/FXOpcodes.cpp | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) from 518b6b559b6f5fcd9bd46716e7f18766285cdbd4 (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=f2b220143ac2441d681405e1e055ec5000880842 commit f2b220143ac2441d681405e1e055ec5000880842 Author: Jaka Kranjc <lyn...@us...> Date: Mon Nov 19 21:16:17 2012 +0100 fx_cast_spell: abort if the host is now dead true sight uses delayed invocations to dispel illusions each round and before, it was trying to run them even after caster death diff --git a/gemrb/plugins/FXOpcodes/FXOpcodes.cpp b/gemrb/plugins/FXOpcodes/FXOpcodes.cpp index f073ced..fe96480 100644 --- a/gemrb/plugins/FXOpcodes/FXOpcodes.cpp +++ b/gemrb/plugins/FXOpcodes/FXOpcodes.cpp @@ -4228,6 +4228,13 @@ int fx_disable_spellcasting (Scriptable* /*Owner*/, Actor* target, Effect* fx) int fx_cast_spell (Scriptable* Owner, Actor* target, Effect* fx) { if(0) print("fx_cast_spell(%2d): Resource:%s Mode: %d", fx->Opcode, fx->Resource, fx->Parameter2); + if (Owner->Type == ST_ACTOR) { + Actor *owner = (Actor *) Owner; + // prevent eg. True Sight continuing after death + if (!owner->ValidTarget(GA_NO_DEAD)) { + return FX_NOT_APPLIED; + } + } // save the current spell ref, so the rest of its effects can be applied afterwards ieResRef OldSpellResRef; memcpy(OldSpellResRef, Owner->SpellResRef, sizeof(OldSpellResRef)); ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |