From: Laszlo T. <ave...@us...> - 2006-01-14 21:14:14
|
Update of /cvsroot/gemrb/gemrb/gemrb/plugins/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3906/Core Modified Files: Actor.h ActorBlock.cpp ActorBlock.h GameScript.cpp GameScript.h Map.cpp Triggers.cpp Log Message: added DisarmFailed trigger fixed a bug in personal space handling Index: Actor.h =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/Actor.h,v retrieving revision 1.100 retrieving revision 1.101 diff -C2 -d -r1.100 -r1.101 *** Actor.h 14 Jan 2006 17:16:42 -0000 1.100 --- Actor.h 14 Jan 2006 21:14:05 -0000 1.101 *************** *** 159,166 **** public: ieDword Leader; ! ieDword LastTarget; ieDword LastTalkedTo; - ieDword LastAttacker; - ieDword LastHitter; ieDword LastProtected; ieDword LastCommander; --- 159,171 ---- public: ieDword Leader; ! #define LastTarget LastDisarmFailed ! //ieDword LastTarget; use lastdisarmfailed ! #define LastAttacker LastDisarmed ! //ieDword LastAttacker; use lastdisarmed ! #define LastHitter LastEntered ! //ieDword LastHitter; use lastentered ! #define LastSummoner LastTrigger ! //ieDword LastSummoner; use lasttrigger ieDword LastTalkedTo; ieDword LastProtected; ieDword LastCommander; *************** *** 168,172 **** ieDword LastSeen; ieDword LastHeard; - ieDword LastSummoner; ieDword HotKey; --- 173,176 ---- Index: GameScript.cpp =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/GameScript.cpp,v retrieving revision 1.354 retrieving revision 1.355 diff -C2 -d -r1.354 -r1.355 *** GameScript.cpp 14 Jan 2006 19:55:09 -0000 1.354 --- GameScript.cpp 14 Jan 2006 21:14:05 -0000 1.355 *************** *** 92,95 **** --- 92,96 ---- {"difficultygt", GameScript::DifficultyGT, 0}, {"difficultylt", GameScript::DifficultyLT, 0}, + {"disarmed", GameScript::Disarmed, 0}, {"entered", GameScript::Entered, 0}, {"entirepartyonmap", GameScript::EntirePartyOnMap, 0}, Index: GameScript.h =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/GameScript.h,v retrieving revision 1.240 retrieving revision 1.241 diff -C2 -d -r1.240 -r1.241 *** GameScript.h 14 Jan 2006 17:16:42 -0000 1.240 --- GameScript.h 14 Jan 2006 21:14:05 -0000 1.241 *************** *** 705,708 **** --- 705,710 ---- static int DifficultyGT(Scriptable* Sender, Trigger* parameters); static int DifficultyLT(Scriptable* Sender, Trigger* parameters); + static int Disarmed(Scriptable* Sender, Trigger* parameters); + static int DisarmFailed(Scriptable* Sender, Trigger* parameters); static int Entered(Scriptable* Sender, Trigger* parameters); static int EntirePartyOnMap(Scriptable* Sender, Trigger* parameters); Index: Map.cpp =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/Map.cpp,v retrieving revision 1.223 retrieving revision 1.224 diff -C2 -d -r1.223 -r1.224 *** Map.cpp 11 Jan 2006 17:28:07 -0000 1.223 --- Map.cpp 14 Jan 2006 21:14:05 -0000 1.224 *************** *** 540,546 **** int speed = 150; BlockSearchMap( actor->Pos, actor->size, 0); ! if (actor->path && actor->path->Next) { //we should actually wait for a short time and check then ! if (!(GetBlocked(actor->path->Next->x,actor->path->Next->y)&PATH_MAP_PASSABLE)) { actor->ClearPath(); actor->path = FindPath( actor->Pos, actor->Destination, actor->size ); --- 540,546 ---- int speed = 150; BlockSearchMap( actor->Pos, actor->size, 0); ! if (actor->path) { //we should actually wait for a short time and check then ! if (!(GetBlocked(actor->path->x,actor->path->y)&PATH_MAP_PASSABLE)) { actor->ClearPath(); actor->path = FindPath( actor->Pos, actor->Destination, actor->size ); Index: Triggers.cpp =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/Triggers.cpp,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** Triggers.cpp 14 Jan 2006 17:16:42 -0000 1.41 --- Triggers.cpp 14 Jan 2006 21:14:05 -0000 1.42 *************** *** 1189,1192 **** --- 1189,1236 ---- } + int GameScript::Disarmed(Scriptable* Sender, Trigger* parameters) + { + switch(Sender->Type) { + case ST_DOOR: case ST_CONTAINER: case ST_PROXIMITY: + break; + default: + return 0; + } + if (parameters->objectParameter == NULL) { + if (Sender->LastDisarmed) { + Sender->AddTrigger (&Sender->LastDisarmed); + return 1; + } + return 0; + } + if (MatchActor(Sender, Sender->LastDisarmed, parameters->objectParameter)) { + Sender->AddTrigger (&Sender->LastDisarmed); + return 1; + } + return 0; + } + + int GameScript::DisarmFailed(Scriptable* Sender, Trigger* parameters) + { + switch(Sender->Type) { + case ST_DOOR: case ST_CONTAINER: case ST_PROXIMITY: + break; + default: + return 0; + } + if (parameters->objectParameter == NULL) { + if (Sender->LastDisarmFailed) { + Sender->AddTrigger (&Sender->LastDisarmFailed); + return 1; + } + return 0; + } + if (MatchActor(Sender, Sender->LastDisarmFailed, parameters->objectParameter)) { + Sender->AddTrigger (&Sender->LastDisarmFailed); + return 1; + } + return 0; + } + //opened for doors (using lastEntered) int GameScript::Opened(Scriptable* Sender, Trigger* parameters) Index: ActorBlock.h =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/ActorBlock.h,v retrieving revision 1.98 retrieving revision 1.99 diff -C2 -d -r1.98 -r1.99 *** ActorBlock.h 6 Jan 2006 23:09:56 -0000 1.98 --- ActorBlock.h 14 Jan 2006 21:14:05 -0000 1.99 *************** *** 168,171 **** --- 168,173 ---- ieDword LastTrigger; ieDword LastEntered; + ieDword LastDisarmed; + ieDword LastDisarmFailed; std::list< Action*> actionQueue; Action* CurrentAction; Index: ActorBlock.cpp =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/ActorBlock.cpp,v retrieving revision 1.132 retrieving revision 1.133 diff -C2 -d -r1.132 -r1.133 *** ActorBlock.cpp 8 Jan 2006 22:07:40 -0000 1.132 --- ActorBlock.cpp 14 Jan 2006 21:14:05 -0000 1.133 *************** *** 51,54 **** --- 51,56 ---- LastTrigger = 0; LastEntered = 0; + LastDisarmed = 0; + LastDisarmFailed = 0; CurrentAction = NULL; startTime = 0; |