1 /* GemRB - Infinity Engine Emulator
2 * Copyright (C) 2003 The GemRB Project
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26 #include "SymbolMgr.h"
27 #include "Variables.h"
28 #include "Scriptable/Actor.h"
29 #include "System/DataStream.h"
38 #define EA_DESTROY 1 //destroy actor at the exit (otherwise move to new place)
39 #define EA_NOSEE 2 //no need to see the exit
51 //verbal constant (bg2), we need a lookup table for other games
63 #define VB_COMPLIMENT 47
67 #define VB_RESP_COMP 55
68 #define VB_RESP_INS 58
72 #define VB_CRITMISS 66
74 #define VB_INVENTORY 68
83 //markspellandobject (iwd2)
84 #define MSO_IGNORE_SEE 1
85 #define MSO_IGNORE_INVALID 2
86 #define MSO_RANDOM_SPELL 4
87 #define MSO_IGNORE_HAVE 8
88 #define MSO_IGNORE_RANGE 16
89 #define MSO_IGNORE_NULL 32
100 //trigger flags stored in triggers in .bcs files
101 #define NEGATE_TRIGGER 1
103 #define MAX_OBJECT_FIELDS 10
104 #define MAX_NESTING 5
106 #define GSASSERT(f,c) \
109 printf("Assertion failed: %s [0x%08lX] Line %d",#f, c, __LINE__); \
113 typedef std::vector
<ieDword
> SrcVector
;
116 Scriptable
*actor
; //hmm, could be door
117 unsigned int distance
;
120 typedef std::list
<targettype
> targetlist
;
122 class GEM_EXPORT Targets
{
136 targettype
*RemoveTargetAt(targetlist::iterator
&m
);
137 const targettype
*GetNextTarget(targetlist::iterator
&m
, int Type
);
138 const targettype
*GetLastTarget(int Type
);
139 const targettype
*GetFirstTarget(targetlist::iterator
&m
, int Type
);
140 Scriptable
*GetTarget(unsigned int index
, int Type
);
141 void AddTarget(Scriptable
* target
, unsigned int distance
, int flags
);
145 class GEM_EXPORT Object
{
151 memset( objectFields
, 0, MAX_OBJECT_FIELDS
* sizeof( int ) );
152 memset( objectFilters
, 0, MAX_NESTING
* sizeof( int ) );
153 memset( objectRect
, 0, 4 * sizeof( int ) );
155 canary
= (unsigned long) 0xdeadbeef;
161 int objectFields
[MAX_OBJECT_FIELDS
];
162 int objectFilters
[MAX_NESTING
];
166 volatile unsigned long canary
;
172 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
174 printf("Object: %s\n",objectName
);
177 printf("IDS Targeting: ");
178 for(i
=0;i
<MAX_OBJECT_FIELDS
;i
++) {
179 printf("%d ",objectFields
[i
]);
183 for(i
=0;i
<MAX_NESTING
;i
++) {
184 printf("%d ",objectFilters
[i
]);
191 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
198 class GEM_EXPORT Trigger
{
203 objectParameter
= NULL
;
204 string0Parameter
[0] = 0;
205 string1Parameter
[0] = 0;
208 pointParameter
.null();
209 canary
= (unsigned long) 0xdeadbeef;
213 if (objectParameter
) {
214 objectParameter
->Release();
215 objectParameter
= NULL
;
218 int Evaluate(Scriptable
* Sender
);
220 unsigned short triggerID
;
225 Point pointParameter
;
226 char string0Parameter
[65];
227 char string1Parameter
[65];
228 Object
* objectParameter
;
230 volatile unsigned long canary
;
234 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
235 printf ("Trigger: %d\n", triggerID
);
236 printf ("Int parameters: %d %d %d\n", int0Parameter
, int1Parameter
, int2Parameter
);
237 printf ("Point: [%d.%d]\n", pointParameter
.x
, pointParameter
.y
);
238 printf ("String0: %s\n", string0Parameter
);
239 printf ("String1: %s\n", string1Parameter
);
240 if (objectParameter
) {
241 objectParameter
->Dump();
243 printf("No object\n");
250 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
256 class GEM_EXPORT Condition
{
260 canary
= (unsigned long) 0xdeadbeef;
264 for (size_t c
= 0; c
< triggers
.size(); ++c
) {
266 triggers
[c
]->Release();
271 bool Evaluate(Scriptable
* Sender
);
273 std::vector
<Trigger
*> triggers
;
275 volatile unsigned long canary
;
279 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
285 class GEM_EXPORT Action
{
287 Action(bool autoFree
)
293 string0Parameter
[0] = 0;
294 string1Parameter
[0] = 0;
296 pointParameter
.null();
301 RefCount
= 0; //refcount will be increased by each AddAction
303 RefCount
= 1; //one reference hold by the script
305 canary
= (unsigned long) 0xdeadbeef;
309 for (int c
= 0; c
< 3; c
++) {
311 objects
[c
]->Release();
317 unsigned short actionID
;
320 Point pointParameter
;
323 char string0Parameter
[65];
324 char string1Parameter
[65];
327 volatile unsigned long canary
;
336 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
337 printf("Int0: %d, Int1: %d, Int2: %d\n",int0Parameter
, int1Parameter
, int2Parameter
);
338 printf("String0: %s, String1: %s\n", string0Parameter
?string0Parameter
:"<NULL>", string1Parameter
?string1Parameter
:"<NULL>");
344 printf( "%d. Object - NULL\n",i
+1);
348 printf("RefCount: %d\n", RefCount
);
353 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
355 printf( "WARNING!!! Double Freeing in %s: Line %d\n", __FILE__
,
367 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
369 if (RefCount
>= 65536) {
370 printf( "Refcount increased to: %d in action %d\n", RefCount
,
377 class GEM_EXPORT Response
{
382 canary
= (unsigned long) 0xdeadbeef;
386 for (size_t c
= 0; c
< actions
.size(); c
++) {
388 if (actions
[c
]->GetRef()>2) {
389 printf("Residue action %d with refcount %d\n", actions
[c
]->actionID
, actions
[c
]->GetRef());
391 actions
[c
]->Release();
396 int Execute(Scriptable
* Sender
);
398 unsigned char weight
;
399 std::vector
<Action
*> actions
;
401 volatile unsigned long canary
;
405 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
411 class GEM_EXPORT ResponseSet
{
415 canary
= (unsigned long) 0xdeadbeef;
419 for (size_t b
= 0; b
< responses
.size(); b
++) {
420 responses
[b
]->Release();
424 int Execute(Scriptable
* Sender
);
426 std::vector
<Response
*> responses
;
428 volatile unsigned long canary
;
432 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
438 class GEM_EXPORT ResponseBlock
{
444 canary
= (unsigned long) 0xdeadbeef;
449 condition
->Release();
453 responseSet
->Release();
458 Condition
* condition
;
459 ResponseSet
* responseSet
;
461 volatile unsigned long canary
;
465 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
471 class GEM_EXPORT Script
{
475 canary
= (unsigned long) 0xdeadbeef;
479 for (unsigned int i
= 0; i
< responseBlocks
.size(); i
++) {
480 if (responseBlocks
[i
]) {
481 responseBlocks
[i
]->Release();
482 responseBlocks
[i
] = NULL
;
487 std::vector
<ResponseBlock
*> responseBlocks
;
489 volatile unsigned long canary
;
493 GSASSERT( canary
== (unsigned long) 0xdeadbeef, canary
);
499 typedef int (* TriggerFunction
)(Scriptable
*, Trigger
*);
500 typedef void (* ActionFunction
)(Scriptable
*, Action
*);
501 typedef Targets
* (* ObjectFunction
)(Scriptable
*, Targets
*, int ga_flags
);
502 typedef int (* IDSFunction
)(Actor
*, int parameter
);
505 #define TF_CONDITION 1 //this isn't a trigger, just a condition (0x4000)
506 #define TF_MERGESTRINGS 8 //same value as actions' mergestring
510 TriggerFunction Function
;
514 //createcreature flags
517 #define CC_OFFSCREEN 3
519 #define CC_CHECK_IMPASSABLE 4 //adjust position (searchmap)
520 #define CC_PLAY_ANIM 8 //play animation
521 #define CC_STRING1 16 //resref is in second string
522 #define CC_CHECK_OVERLAP 32 //other actors
523 #define CC_COPY 64 //copy appearance
524 #define CC_SCRIPTNAME 128 //scriptname in 2nd string
530 #define BD_RESERVED 3 //playerX resref
531 #define BD_INTERACT 4 //banter dialogs
532 #define BD_LOCMASK 7 //where is the dialog resref
533 #define BD_TALKCOUNT 8 //increases talkcount
534 #define BD_SETDIALOG 16 //also sets dialog (for string0)
535 #define BD_CHECKDIST 32 //checks distance, if needs, walks up
536 #define BD_OWN 64 //source == target, works for player only
537 #define BD_INTERRUPT 128 //interrupts action
538 #define BD_NUMERIC 256 //target is numeric
539 #define BD_ITEM 512 //talk to an item
540 #define BD_NOEMPTY 1024 //don't display '... has nothing to say to you'
543 #define AF_IMMEDIATE 1
544 #define AF_CONTINUE 2
545 #define AF_MASK 3 //none, immediate or continue
546 #define AF_BLOCKING 4
547 #define AF_MERGESTRINGS 8
548 //we could use this flag to restrict player scripts from using dangerous
549 //opcodes, it would be a very useful and easy to implement feature!
550 #define AF_RESTRICTED 16
551 //#define AF_RESTRICTED_LEVEL2 32 //maybe we could use 2 bits for this???
552 #define AF_SCRIPTLEVEL 64 //this hack will transfer scriptlevel to int0parameter at runtime (changecurrentscript relies on it)
553 #define AF_INVALID 128
554 #define AF_DIRECT 256 //this hack will transfer target from gamecontrol to object1 at compile time
555 #define AF_ALIVE 512 //only alive actors can do this
556 #define AF_INSTANT 1024
560 ActionFunction Function
;
566 ObjectFunction Function
;
571 IDSFunction Function
;
574 #define MAX_TRIGGERS 0xFF
575 #define MAX_ACTIONS 400
576 #define MAX_OBJECTS 128
577 #define AI_SCRIPT_LEVEL 4 //the script level of special ai scripts
579 extern void SetScriptDebugMode(int arg
);
580 extern int RandomNumValue
;
582 class GEM_EXPORT GameScript
{
584 GameScript(const ieResRef ResRef
, Scriptable
* Myself
,
585 int ScriptLevel
= 0, bool AIScript
= false);
587 const char *GetName() { return this?Name
:"NONE\0\0\0\0"; }
588 static void ExecuteString(Scriptable
* Sender
, char* String
);
589 static int EvaluateString(Scriptable
* Sender
, char* String
);
590 static void ExecuteAction(Scriptable
* Sender
, Action
* aC
);
592 bool Update(bool *continuing
= NULL
, bool *done
= NULL
);
593 void EvaluateAllBlocks();
594 private: //Internal Functions
595 Script
* CacheScript(ieResRef ResRef
, bool AIScript
);
596 ResponseBlock
* ReadResponseBlock(DataStream
* stream
);
597 ResponseSet
* ReadResponseSet(DataStream
* stream
);
598 Response
* ReadResponse(DataStream
* stream
);
599 Trigger
* ReadTrigger(DataStream
* stream
);
600 static int ParseInt(const char*& src
);
601 static void ParseString(const char*& src
, char* tmp
);
602 private: //Internal variables
603 Scriptable
* const MySelf
;
606 unsigned int lastAction
;
608 public: //Script Functions
609 static int ID_Alignment(Actor
*actor
, int parameter
);
610 static int ID_Allegiance(Actor
*actor
, int parameter
);
611 static int ID_AVClass(Actor
*actor
, int parameter
);
612 static int ID_Class(Actor
*actor
, int parameter
);
613 static int ID_ClassMask(Actor
*actor
, int parameter
);
614 static int ID_Faction(Actor
*actor
, int parameter
);
615 static int ID_Gender(Actor
*actor
, int parameter
);
616 static int ID_General(Actor
*actor
, int parameter
);
617 static int ID_Race(Actor
*actor
, int parameter
);
618 static int ID_Specific(Actor
*actor
, int parameter
);
619 static int ID_Subrace(Actor
*actor
, int parameter
);
620 static int ID_Team(Actor
*actor
, int parameter
);
623 static int ActionListEmpty(Scriptable
* Sender
, Trigger
* parameters
);
624 static int ActuallyInCombat(Scriptable
* Sender
, Trigger
* parameters
);
625 static int Acquired(Scriptable
* Sender
, Trigger
* parameters
);
626 static int Alignment(Scriptable
* Sender
, Trigger
* parameters
);
627 static int Allegiance(Scriptable
* Sender
, Trigger
* parameters
);
628 static int AnimationID(Scriptable
* Sender
, Trigger
* parameters
);
629 static int AnimState(Scriptable
* Sender
, Trigger
* parameters
);
630 static int AnyPCOnMap(Scriptable
* Sender
, Trigger
* parameters
);
631 static int AnyPCSeesEnemy(Scriptable
* Sender
, Trigger
* parameters
);
632 static int AreaCheck(Scriptable
* Sender
, Trigger
* parameter
);
633 static int AreaCheckObject(Scriptable
* Sender
, Trigger
* parameter
);
634 static int AreaFlag(Scriptable
* Sender
, Trigger
* parameter
);
635 static int AreaRestDisabled(Scriptable
* Sender
, Trigger
* parameter
);
636 static int AreaStartsWith(Scriptable
* Sender
, Trigger
* parameter
); //InWatchersKeep
637 static int AreaType(Scriptable
* Sender
, Trigger
* parameter
);
638 static int AtLocation(Scriptable
* Sender
, Trigger
* parameter
);
639 static int AttackedBy(Scriptable
* Sender
, Trigger
* parameters
);
640 static int BecameVisible(Scriptable
* Sender
, Trigger
* parameters
);
641 static int BitCheck(Scriptable
* Sender
, Trigger
* parameters
);
642 static int BitCheckExact(Scriptable
* Sender
, Trigger
* parameters
);
643 static int BitGlobal_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
644 static int BreakingPoint(Scriptable
* Sender
, Trigger
* parameters
);
645 static int CalendarDay(Scriptable
* Sender
, Trigger
* parameters
);
646 static int CalendarDayGT(Scriptable
* Sender
, Trigger
* parameters
);
647 static int CalendarDayLT(Scriptable
* Sender
, Trigger
* parameters
);
648 static int CalledByName(Scriptable
* Sender
, Trigger
* parameters
);
649 static int ChargeCount(Scriptable
* Sender
, Trigger
* parameters
);
650 static int CharName(Scriptable
* Sender
, Trigger
* parameters
);
651 static int CheckDoorFlags(Scriptable
* Sender
, Trigger
* parameters
);
652 static int CheckPartyAverageLevel(Scriptable
* Sender
, Trigger
* parameters
);
653 static int CheckPartyLevel(Scriptable
* Sender
, Trigger
* parameters
);
654 static int CheckSkill(Scriptable
* Sender
, Trigger
* parameters
);
655 static int CheckSkillGT(Scriptable
* Sender
, Trigger
* parameters
);
656 static int CheckSkillLT(Scriptable
* Sender
, Trigger
* parameters
);
657 static int CheckSpellState(Scriptable
* Sender
, Trigger
* parameters
);
658 static int CheckStat(Scriptable
* Sender
, Trigger
* parameters
);
659 static int CheckStatGT(Scriptable
* Sender
, Trigger
* parameters
);
660 static int CheckStatLT(Scriptable
* Sender
, Trigger
* parameters
);
661 static int Class(Scriptable
* Sender
, Trigger
* parameters
);
662 static int ClassEx(Scriptable
* Sender
, Trigger
* parameters
);
663 static int ClassLevel(Scriptable
* Sender
, Trigger
* parameters
);
664 static int ClassLevelGT(Scriptable
* Sender
, Trigger
* parameters
);
665 static int ClassLevelLT(Scriptable
* Sender
, Trigger
* parameters
);
666 static int Clicked(Scriptable
* Sender
, Trigger
* parameters
);
667 static int Closed(Scriptable
* Sender
, Trigger
* parameters
);
668 static int CombatCounter(Scriptable
* Sender
, Trigger
* parameters
);
669 static int CombatCounterGT(Scriptable
* Sender
, Trigger
* parameters
);
670 static int CombatCounterLT(Scriptable
* Sender
, Trigger
* parameters
);
671 static int Contains(Scriptable
* Sender
, Trigger
* parameters
);
672 static int CreatureHidden( Scriptable
* Sender
, Trigger
* parameters
);
673 static int CurrentAreaIs(Scriptable
* Sender
, Trigger
* parameters
);
674 //static int DamageTaken(Scriptable* Sender, Trigger* parameters);
675 //static int DamageTakenGT(Scriptable* Sender, Trigger* parameters);
676 //static int DamageTakenLT(Scriptable* Sender, Trigger* parameters);
677 static int Dead(Scriptable
* Sender
, Trigger
* parameters
);
678 static int Delay(Scriptable
* Sender
, Trigger
* parameters
);
679 static int Detect(Scriptable
* Sender
, Trigger
* parameters
);
680 static int Die(Scriptable
* Sender
, Trigger
* parameters
);
681 static int Died(Scriptable
* Sender
, Trigger
* parameters
);
682 static int Difficulty(Scriptable
* Sender
, Trigger
* parameters
);
683 static int DifficultyGT(Scriptable
* Sender
, Trigger
* parameters
);
684 static int DifficultyLT(Scriptable
* Sender
, Trigger
* parameters
);
685 static int Disarmed(Scriptable
* Sender
, Trigger
* parameters
);
686 static int DisarmFailed(Scriptable
* Sender
, Trigger
* parameters
);
687 static int Entered(Scriptable
* Sender
, Trigger
* parameters
);
688 static int EntirePartyOnMap(Scriptable
* Sender
, Trigger
* parameters
);
689 static int Exists(Scriptable
* Sender
, Trigger
* parameters
);
690 static int ExtendedStateCheck(Scriptable
* Sender
, Trigger
* parameters
);
691 static int ExtraProficiency(Scriptable
* Sender
, Trigger
* parameters
);
692 static int ExtraProficiencyGT(Scriptable
* Sender
, Trigger
* parameters
);
693 static int ExtraProficiencyLT(Scriptable
* Sender
, Trigger
* parameters
);
694 static int Faction(Scriptable
* Sender
, Trigger
* parameters
);
695 static int FallenPaladin(Scriptable
* Sender
, Trigger
* parameters
);
696 static int FallenRanger(Scriptable
* Sender
, Trigger
* parameters
);
697 static int False(Scriptable
* Sender
, Trigger
* parameters
);
698 static int ForceMarkedSpell_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
699 static int Frame(Scriptable
* Sender
, Trigger
* parameters
);
700 static int Gender(Scriptable
* Sender
, Trigger
* parameters
);
701 static int General(Scriptable
* Sender
, Trigger
* parameters
);
702 static int G_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
703 static int Global(Scriptable
* Sender
, Trigger
* parameters
);
704 static int GlobalAndGlobal_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
705 static int GlobalBAndGlobal_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
706 static int GlobalBAndGlobalExact(Scriptable
* Sender
, Trigger
* parameters
);
707 static int GlobalBitGlobal_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
708 static int GlobalGT(Scriptable
* Sender
, Trigger
* parameters
);
709 static int GlobalGTGlobal(Scriptable
* Sender
, Trigger
* parameters
);
710 static int GlobalLT(Scriptable
* Sender
, Trigger
* parameters
);
711 static int GlobalLTGlobal(Scriptable
* Sender
, Trigger
* parameters
);
712 static int GlobalOrGlobal_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
713 static int GlobalsEqual(Scriptable
* Sender
, Trigger
* parameters
);
714 static int GlobalsGT(Scriptable
* Sender
, Trigger
* parameters
);
715 static int GlobalsLT(Scriptable
* Sender
, Trigger
* parameters
);
716 static int GlobalTimerExact(Scriptable
* Sender
, Trigger
* parameters
);
717 static int GlobalTimerExpired(Scriptable
* Sender
, Trigger
* parameters
);
718 static int GlobalTimerNotExpired(Scriptable
* Sender
, Trigger
* parameters
);
719 static int GlobalTimerStarted(Scriptable
* Sender
, Trigger
* parameters
);
720 static int GGT_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
721 static int GLT_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
722 static int Happiness(Scriptable
* Sender
, Trigger
* parameters
);
723 static int HappinessGT(Scriptable
* Sender
, Trigger
* parameters
);
724 static int HappinessLT(Scriptable
* Sender
, Trigger
* parameters
);
725 static int HarmlessEntered(Scriptable
* Sender
, Trigger
* parameters
);
726 static int HasBounceEffects(Scriptable
* Sender
, Trigger
* parameters
);
727 static int HasImmunityEffects(Scriptable
* Sender
, Trigger
* parameters
);
728 static int HasInnateAbility(Scriptable
* Sender
, Trigger
* parameters
);
729 static int HasItem(Scriptable
* Sender
, Trigger
* parameters
);
730 static int HasItemEquipped(Scriptable
* Sender
, Trigger
* parameters
);
731 static int HasItemSlot(Scriptable
* Sender
, Trigger
* parameters
);
732 static int HasItemTypeSlot(Scriptable
* Sender
, Trigger
* parameters
);
733 static int HasWeaponEquipped(Scriptable
* Sender
, Trigger
* parameters
);
734 static int HaveAnySpells(Scriptable
* Sender
, Trigger
* parameters
);
735 static int HaveSpellParty(Scriptable
* Sender
, Trigger
* parameters
);
736 static int HaveSpell(Scriptable
* Sender
, Trigger
* parameters
);
737 static int HaveUsableWeaponEquipped(Scriptable
* Sender
, Trigger
* parameters
);
738 static int Heard(Scriptable
* Sender
, Trigger
* parameters
);
739 static int Help_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
740 static int HelpEX(Scriptable
* Sender
, Trigger
* parameters
);
741 static int HitBy(Scriptable
* Sender
, Trigger
* parameters
);
742 static int HotKey(Scriptable
* Sender
, Trigger
* parameters
);
743 static int HP(Scriptable
* Sender
, Trigger
* parameters
);
744 static int HPGT(Scriptable
* Sender
, Trigger
* parameters
);
745 static int HPLost(Scriptable
* Sender
, Trigger
* parameters
);
746 static int HPLostGT(Scriptable
* Sender
, Trigger
* parameters
);
747 static int HPLostLT(Scriptable
* Sender
, Trigger
* parameters
);
748 static int HPLT(Scriptable
* Sender
, Trigger
* parameters
);
749 static int HPPercent(Scriptable
* Sender
, Trigger
* parameters
);
750 static int HPPercentGT(Scriptable
* Sender
, Trigger
* parameters
);
751 static int HPPercentLT(Scriptable
* Sender
, Trigger
* parameters
);
752 static int InActiveArea(Scriptable
* Sender
, Trigger
* parameter
);
753 static int InCutSceneMode(Scriptable
*Sender
, Trigger
* parameter
);
754 static int InLine(Scriptable
* Sender
, Trigger
* parameter
);
755 static int InMyArea(Scriptable
* Sender
, Trigger
* parameter
);
756 static int InMyGroup(Scriptable
* Sender
, Trigger
* parameter
);
757 static int InParty(Scriptable
* Sender
, Trigger
* parameters
);
758 static int InPartyAllowDead(Scriptable
* Sender
, Trigger
* parameters
);
759 static int InPartySlot(Scriptable
* Sender
, Trigger
* parameters
);
760 static int InteractingWith(Scriptable
* Sender
, Trigger
* parameters
);
761 static int Internal(Scriptable
* Sender
, Trigger
* parameters
);
762 static int InternalGT(Scriptable
* Sender
, Trigger
* parameters
);
763 static int InternalLT(Scriptable
* Sender
, Trigger
* parameters
);
764 static int InTrap(Scriptable
* Sender
, Trigger
* parameters
);
765 static int InventoryFull(Scriptable
* Sender
, Trigger
* parameter
);
766 static int InWeaponRange(Scriptable
* Sender
, Trigger
* parameter
);
767 static int IsAClown(Scriptable
* Sender
, Trigger
* parameters
);
768 static int IsActive(Scriptable
* Sender
, Trigger
* parameters
);
769 static int IsCreatureAreaFlag( Scriptable
* Sender
, Trigger
* parameters
);
770 static int IsCreatureHiddenInShadows( Scriptable
* Sender
, Trigger
* parameters
);
771 static int IsGabber(Scriptable
* Sender
, Trigger
* parameters
);
772 static int IsExtendedNight(Scriptable
* Sender
, Trigger
* parameters
);
773 static int IsFacingObject(Scriptable
* Sender
, Trigger
* parameters
);
774 static int IsFacingSavedRotation(Scriptable
* Sender
, Trigger
* parameters
);
775 static int IsLocked(Scriptable
* Sender
, Trigger
* parameters
);
776 static int IsMarkedSpell(Scriptable
* Sender
, Trigger
* parameters
);
777 static int IsOverMe(Scriptable
* Sender
, Trigger
* parameters
);
778 static int IsPathCriticalObject( Scriptable
* Sender
, Trigger
* parameters
);
779 static int IsPlayerNumber( Scriptable
* Sender
, Trigger
* parameters
);
780 static int IsRotation(Scriptable
* Sender
, Trigger
* parameters
);
781 static int IsSpellTargetValid( Scriptable
* Sender
, Trigger
* parameters
);
782 static int IsTeamBitOn(Scriptable
* Sender
, Trigger
* parameters
);
783 static int IsValidForPartyDialog(Scriptable
* Sender
, Trigger
* parameters
);
784 static int IsWeaponRanged(Scriptable
* Sender
, Trigger
* parameters
);
785 static int IsWeather(Scriptable
* Sender
, Trigger
* parameters
);
786 static int ItemIsIdentified(Scriptable
* Sender
, Trigger
* parameters
);
787 static int Joins(Scriptable
* Sender
, Trigger
* parameters
);
788 static int Kit(Scriptable
* Sender
, Trigger
* parameters
);
789 static int KnowSpell(Scriptable
* Sender
, Trigger
* parameters
);
790 static int LastMarkedObject_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
791 static int LastPersonTalkedTo(Scriptable
* Sender
, Trigger
* parameters
);
792 static int Leaves(Scriptable
* Sender
, Trigger
* parameters
);
793 static int Level(Scriptable
* Sender
, Trigger
* parameters
);
794 static int LevelGT(Scriptable
* Sender
, Trigger
* parameters
);
795 static int LevelLT(Scriptable
* Sender
, Trigger
* parameters
);
796 static int LevelInClass(Scriptable
* Sender
, Trigger
* parameters
);
797 static int LevelInClassGT(Scriptable
* Sender
, Trigger
* parameters
);
798 static int LevelInClassLT(Scriptable
* Sender
, Trigger
* parameters
);
799 static int LevelParty(Scriptable
* Sender
, Trigger
* parameters
);
800 static int LevelPartyGT(Scriptable
* Sender
, Trigger
* parameters
);
801 static int LevelPartyLT(Scriptable
* Sender
, Trigger
* parameters
);
802 static int LocalsEqual(Scriptable
* Sender
, Trigger
* parameters
);
803 static int LocalsGT(Scriptable
* Sender
, Trigger
* parameters
);
804 static int LocalsLT(Scriptable
* Sender
, Trigger
* parameters
);
805 static int LOS(Scriptable
* Sender
, Trigger
* parameters
);
806 static int ModalState(Scriptable
* Sender
, Trigger
* parameters
);
807 static int Morale(Scriptable
* Sender
, Trigger
* parameters
);
808 static int MoraleGT(Scriptable
* Sender
, Trigger
* parameters
);
809 static int MoraleLT(Scriptable
* Sender
, Trigger
* parameters
);
810 static int NamelessBitTheDust(Scriptable
* Sender
, Trigger
* parameters
);
811 static int NearbyDialog(Scriptable
* Sender
, Trigger
* parameters
);
812 static int NearLocation(Scriptable
* Sender
, Trigger
* parameters
);
813 static int NearSavedLocation(Scriptable
* Sender
, Trigger
* parameters
);
814 static int NightmareModeOn(Scriptable
* Sender
, Trigger
* parameters
);
815 static int NotStateCheck(Scriptable
* Sender
, Trigger
* parameters
);
816 static int NullDialog(Scriptable
* Sender
, Trigger
* parameters
);
817 static int NumCreatures(Scriptable
* Sender
, Trigger
* parameters
);
818 static int NumCreaturesAtMyLevel(Scriptable
* Sender
, Trigger
* parameters
);
819 static int NumCreaturesGT(Scriptable
* Sender
, Trigger
* parameters
);
820 static int NumCreaturesGTMyLevel(Scriptable
* Sender
, Trigger
* parameters
);
821 static int NumCreaturesLT(Scriptable
* Sender
, Trigger
* parameters
);
822 static int NumCreaturesLTMyLevel(Scriptable
* Sender
, Trigger
* parameters
);
823 static int NumCreatureVsParty(Scriptable
* Sender
, Trigger
* parameters
);
824 static int NumCreatureVsPartyGT(Scriptable
* Sender
, Trigger
* parameters
);
825 static int NumCreatureVsPartyLT(Scriptable
* Sender
, Trigger
* parameters
);
826 static int NumDead(Scriptable
* Sender
, Trigger
* parameters
);
827 static int NumDeadGT(Scriptable
* Sender
, Trigger
* parameters
);
828 static int NumDeadLT(Scriptable
* Sender
, Trigger
* parameters
);
829 static int NumItems(Scriptable
* Sender
, Trigger
* parameters
);
830 static int NumItemsGT(Scriptable
* Sender
, Trigger
* parameters
);
831 static int NumItemsLT(Scriptable
* Sender
, Trigger
* parameters
);
832 static int NumItemsParty(Scriptable
* Sender
, Trigger
* parameters
);
833 static int NumItemsPartyGT(Scriptable
* Sender
, Trigger
* parameters
);
834 static int NumItemsPartyLT(Scriptable
* Sender
, Trigger
* parameters
);
835 static int NumTimesInteracted(Scriptable
* Sender
, Trigger
* parameters
);
836 static int NumTimesInteractedGT(Scriptable
* Sender
, Trigger
* parameters
);
837 static int NumTimesInteractedLT(Scriptable
* Sender
, Trigger
* parameters
);
838 static int NumTimesInteractedObject(Scriptable
* Sender
, Trigger
* parameters
);
839 static int NumTimesInteractedObjectGT(Scriptable
* Sender
, Trigger
* parameters
);
840 static int NumTimesInteractedObjectLT(Scriptable
* Sender
, Trigger
* parameters
);
841 static int NumTimesTalkedTo(Scriptable
* Sender
, Trigger
* parameters
);
842 static int NumTimesTalkedToGT(Scriptable
* Sender
, Trigger
* parameters
);
843 static int NumTimesTalkedToLT(Scriptable
* Sender
, Trigger
* parameters
);
844 static int ObjectActionListEmpty(Scriptable
* Sender
, Trigger
* parameters
);
845 static int OnCreation(Scriptable
* Sender
, Trigger
* parameters
);
846 static int OnIsland(Scriptable
* Sender
, Trigger
* parameters
);
847 static int OnScreen(Scriptable
* Sender
, Trigger
* parameters
);
848 static int Opened(Scriptable
* Sender
, Trigger
* parameters
);
849 static int OpenFailed(Scriptable
* Sender
, Trigger
* parameters
);
850 static int OpenState(Scriptable
* Sender
, Trigger
* parameters
);
851 static int Or(Scriptable
* Sender
, Trigger
* parameters
);
852 static int OutOfAmmo(Scriptable
* Sender
, Trigger
* parameters
);
853 static int OwnsFloaterMessage(Scriptable
* Sender
, Trigger
* parameters
);
854 static int PartyCountEQ(Scriptable
* Sender
, Trigger
* parameters
);
855 static int PartyCountGT(Scriptable
* Sender
, Trigger
* parameters
);
856 static int PartyCountLT(Scriptable
* Sender
, Trigger
* parameters
);
857 static int PartyCountAliveEQ(Scriptable
* Sender
, Trigger
* parameters
);
858 static int PartyCountAliveGT(Scriptable
* Sender
, Trigger
* parameters
);
859 static int PartyCountAliveLT(Scriptable
* Sender
, Trigger
* parameters
);
860 static int PartyGold(Scriptable
* Sender
, Trigger
* parameters
);
861 static int PartyGoldGT(Scriptable
* Sender
, Trigger
* parameters
);
862 static int PartyGoldLT(Scriptable
* Sender
, Trigger
* parameters
);
863 static int PartyHasItem(Scriptable
* Sender
, Trigger
* parameters
);
864 static int PartyHasItemIdentified(Scriptable
* Sender
, Trigger
* parameters
);
865 static int PartyMemberDied(Scriptable
* Sender
, Trigger
* parameters
);
866 static int PartyRested(Scriptable
* Sender
, Trigger
* parameters
);
867 static int PCCanSeePoint(Scriptable
* Sender
, Trigger
* parameters
);
868 static int PCInStore(Scriptable
* Sender
, Trigger
* parameters
);
869 static int PersonalSpaceDistance(Scriptable
* Sender
, Trigger
* parameters
);
870 static int PickLockFailed(Scriptable
* Sender
, Trigger
* parameters
);
871 static int PickpocketFailed(Scriptable
* Sender
, Trigger
* parameters
);
872 static int Proficiency(Scriptable
* Sender
, Trigger
* parameters
);
873 static int ProficiencyGT(Scriptable
* Sender
, Trigger
* parameters
);
874 static int ProficiencyLT(Scriptable
* Sender
, Trigger
* parameters
);
875 static int Race(Scriptable
* Sender
, Trigger
* parameters
);
876 static int RandomNum(Scriptable
* Sender
, Trigger
* parameters
);
877 static int RandomNumGT(Scriptable
* Sender
, Trigger
* parameters
);
878 static int RandomNumLT(Scriptable
* Sender
, Trigger
* parameters
);
879 static int RandomStatCheck(Scriptable
* Sender
, Trigger
* parameters
);
880 static int Range(Scriptable
* Sender
, Trigger
* parameters
);
881 static int Reaction(Scriptable
* Sender
, Trigger
* parameters
);
882 static int ReactionLT(Scriptable
* Sender
, Trigger
* parameters
);
883 static int ReactionGT(Scriptable
* Sender
, Trigger
* parameters
);
884 static int RealGlobalTimerExact(Scriptable
* Sender
, Trigger
* parameters
);
885 static int RealGlobalTimerExpired(Scriptable
* Sender
, Trigger
* parameters
);
886 static int RealGlobalTimerNotExpired(Scriptable
* Sender
, Trigger
* parameters
);
887 static int ReceivedOrder(Scriptable
* Sender
, Trigger
* parameters
);
888 static int Reputation(Scriptable
* Sender
, Trigger
* parameters
);
889 static int ReputationGT(Scriptable
* Sender
, Trigger
* parameters
);
890 static int ReputationLT(Scriptable
* Sender
, Trigger
* parameters
);
891 static int School(Scriptable
* Sender
, Trigger
* parameters
);
892 static int See(Scriptable
* Sender
, Trigger
* parameters
);
893 static int Sequence(Scriptable
* Sender
, Trigger
* parameters
);
894 static int SetLastMarkedObject(Scriptable
* Sender
, Trigger
* parameters
);
895 static int SetMarkedSpell_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
896 static int Specifics(Scriptable
* Sender
, Trigger
* parameters
);
897 static int SpellCast(Scriptable
* Sender
, Trigger
* parameters
);
898 static int SpellCastInnate(Scriptable
* Sender
, Trigger
* parameters
);
899 static int SpellCastOnMe(Scriptable
* Sender
, Trigger
* parameters
);
900 static int SpellCastPriest(Scriptable
* Sender
, Trigger
* parameters
);
901 static int StateCheck(Scriptable
* Sender
, Trigger
* parameters
);
902 static int StealFailed(Scriptable
* Sender
, Trigger
* parameters
);
903 static int StoreHasItem(Scriptable
* Sender
, Trigger
* parameters
);
904 static int StuffGlobalRandom(Scriptable
* Sender
, Trigger
* parameters
);
905 static int SubRace(Scriptable
* Sender
, Trigger
* parameters
);
906 static int SystemVariable_Trigger(Scriptable
* Sender
, Trigger
* parameters
);
907 static int TargetUnreachable(Scriptable
* Sender
, Trigger
* parameters
);
908 static int Team(Scriptable
* Sender
, Trigger
* parameters
);
909 static int Time(Scriptable
* Sender
, Trigger
* parameters
);
910 static int TimeGT(Scriptable
* Sender
, Trigger
* parameters
);
911 static int TimeLT(Scriptable
* Sender
, Trigger
* parameters
);
912 static int TimeOfDay(Scriptable
* Sender
, Trigger
* parameters
);
913 static int TimerActive(Scriptable
* Sender
, Trigger
* parameters
);
914 static int TimerExpired(Scriptable
* Sender
, Trigger
* parameters
);
915 static int TookDamage(Scriptable
* Sender
, Trigger
* parameters
);
916 static int TotalItemCnt(Scriptable
* Sender
, Trigger
* parameters
);
917 static int TotalItemCntExclude(Scriptable
* Sender
, Trigger
* parameters
);
918 static int TotalItemCntExcludeGT(Scriptable
* Sender
, Trigger
* parameters
);
919 static int TotalItemCntExcludeLT(Scriptable
* Sender
, Trigger
* parameters
);
920 static int TotalItemCntGT(Scriptable
* Sender
, Trigger
* parameters
);
921 static int TotalItemCntLT(Scriptable
* Sender
, Trigger
* parameters
);
922 static int TrapTriggered(Scriptable
* Sender
, Trigger
* parameters
);
923 static int TriggerTrigger(Scriptable
* Sender
, Trigger
* parameters
);
924 static int TriggerSetGlobal(Scriptable
* Sender
, Trigger
* parameters
);
925 static int True(Scriptable
* Sender
, Trigger
* parameters
);
926 static int TurnedBy(Scriptable
* Sender
, Trigger
* parameters
);
927 static int Unlocked(Scriptable
* Sender
, Trigger
* parameters
);
928 static int UnselectableVariable(Scriptable
* Sender
, Trigger
* parameters
);
929 static int UnselectableVariableGT(Scriptable
* Sender
, Trigger
* parameters
);
930 static int UnselectableVariableLT(Scriptable
* Sender
, Trigger
* parameters
);
931 static int Unusable(Scriptable
* Sender
, Trigger
* parameters
);
932 static int Vacant(Scriptable
* Sender
, Trigger
* parameters
);
933 static int WalkedToTrigger(Scriptable
* Sender
, Trigger
* parameters
);
934 static int WasInDialog(Scriptable
* Sender
, Trigger
* parameters
);
935 static int Xor(Scriptable
* Sender
, Trigger
* parameters
);
936 static int XP(Scriptable
* Sender
, Trigger
* parameters
);
937 static int XPGT(Scriptable
* Sender
, Trigger
* parameters
);
938 static int XPLT(Scriptable
* Sender
, Trigger
* parameters
);
941 static void Activate(Scriptable
* Sender
, Action
* parameters
);
942 static void ActivatePortalCursor(Scriptable
* Sender
, Action
* parameters
);
943 static void AddAreaFlag(Scriptable
* Sender
, Action
* parameters
);
944 static void AddAreaType(Scriptable
* Sender
, Action
* parameters
);
945 static void AddExperienceParty(Scriptable
*Sender
, Action
* parameters
);
946 static void AddExperiencePartyCR(Scriptable
*Sender
, Action
* parameters
);
947 static void AddExperiencePartyGlobal(Scriptable
*Sender
, Action
* parameters
);
948 static void AddFeat(Scriptable
*Sender
, Action
* parameters
);
949 static void AddGlobals(Scriptable
* Sender
, Action
* parameters
);
950 static void AddHP(Scriptable
* Sender
, Action
* parameters
);
951 static void AddJournalEntry(Scriptable
* Sender
, Action
* parameters
);
952 static void AddKit(Scriptable
* Sender
, Action
* parameters
);
953 static void AddMapnote(Scriptable
* Sender
, Action
* parameters
);
954 static void AddSpecialAbility(Scriptable
* Sender
, Action
* parameters
);
955 static void AddSuperKit(Scriptable
* Sender
, Action
* parameters
);
956 static void AddWayPoint(Scriptable
* Sender
, Action
* parameters
);
957 static void AddXP2DA(Scriptable
*Sender
, Action
* parameters
);
958 static void AddXPObject(Scriptable
*Sender
, Action
* parameters
);
959 static void AdvanceTime(Scriptable
*Sender
, Action
* parameters
);
960 static void Ally(Scriptable
* Sender
, Action
* parameters
);
961 static void AmbientActivate(Scriptable
* Sender
, Action
* parameters
);
962 static void AnkhegEmerge(Scriptable
* Sender
, Action
* parameters
);
963 static void AnkhegHide(Scriptable
* Sender
, Action
* parameters
);
964 static void ApplyDamage(Scriptable
* Sender
, Action
* parameters
);
965 static void ApplyDamagePercent(Scriptable
* Sender
, Action
* parameters
);
966 static void ApplySpell(Scriptable
* Sender
, Action
* parameters
);
967 static void ApplySpellPoint(Scriptable
* Sender
, Action
* parameters
);
968 static void AttachTransitionToDoor(Scriptable
* Sender
, Action
* parameters
);
969 static void Attack(Scriptable
* Sender
, Action
* parameters
);
970 static void AttackNoSound(Scriptable
* Sender
, Action
* parameters
);
971 static void AttackOneRound(Scriptable
* Sender
, Action
* parameters
);
972 static void AttackReevaluate(Scriptable
* Sender
, Action
* parameters
);
973 static void BanterBlockFlag(Scriptable
* Sender
, Action
* parameters
);
974 static void BanterBlockTime(Scriptable
* Sender
, Action
* parameters
);
975 static void BashDoor(Scriptable
* Sender
, Action
* parameters
);
976 static void BattleSong(Scriptable
* Sender
, Action
* parameters
);
977 static void Berserk(Scriptable
* Sender
, Action
* parameters
);
978 static void BitClear(Scriptable
* Sender
, Action
* parameters
);
979 static void BitGlobal(Scriptable
* Sender
, Action
* parameters
);
980 static void BreakInstants(Scriptable
* Sender
, Action
* parameters
);
981 static void Calm(Scriptable
* Sender
, Action
* parameters
);
982 static void ChangeAIScript(Scriptable
* Sender
, Action
* parameters
);
983 static void ChangeAIType(Scriptable
* Sender
, Action
* parameters
);
984 static void ChangeAlignment(Scriptable
* Sender
, Action
* parameters
);
985 static void ChangeAllegiance(Scriptable
* Sender
, Action
* parameters
);
986 static void ChangeAnimation(Scriptable
* Sender
, Action
* parameters
);
987 static void ChangeAnimationNoEffect(Scriptable
* Sender
, Action
* parameters
);
988 static void ChangeClass(Scriptable
* Sender
, Action
* parameters
);
989 static void ChangeColor(Scriptable
* Sender
, Action
* parameters
);
990 static void ChangeCurrentScript(Scriptable
* Sender
, Action
* parameters
);
991 static void ChangeDestination(Scriptable
* Sender
, Action
* parameters
);
992 static void ChangeDialogue(Scriptable
* Sender
, Action
* parameters
);
993 static void ChangeGender(Scriptable
* Sender
, Action
* parameters
);
994 static void ChangeGeneral(Scriptable
* Sender
, Action
* parameters
);
995 static void ChangeRace(Scriptable
* Sender
, Action
* parameters
);
996 static void ChangeSpecifics(Scriptable
* Sender
, Action
* parameters
);
997 static void ChangeStat(Scriptable
* Sender
, Action
* parameters
);
998 static void ChangeStatGlobal(Scriptable
* Sender
, Action
* parameters
);
999 static void ChangeStoreMarkup(Scriptable
* Sender
, Action
* parameters
);
1000 static void ChangeTileState(Scriptable
* Sender
, Action
* parameters
);
1001 static void ClearActions(Scriptable
* Sender
, Action
* parameters
);
1002 static void ClearAllActions(Scriptable
* Sender
, Action
* parameters
);
1003 static void ClearPartyEffects(Scriptable
* Sender
, Action
* parameters
);
1004 static void ClearSpriteEffects(Scriptable
* Sender
, Action
* parameters
);
1005 static void ClickLButtonObject(Scriptable
* Sender
, Action
* parameters
);
1006 static void ClickLButtonPoint(Scriptable
* Sender
, Action
* parameters
);
1007 static void ClickRButtonObject(Scriptable
* Sender
, Action
* parameters
);
1008 static void ClickRButtonPoint(Scriptable
* Sender
, Action
* parameters
);
1009 static void CloseDoor(Scriptable
* Sender
, Action
* parameters
);
1010 static void ContainerEnable(Scriptable
* Sender
, Action
* parameters
);
1011 static void Continue(Scriptable
* Sender
, Action
* parameters
);
1012 static void CopyGroundPilesTo(Scriptable
* Sender
, Action
* parameters
);
1013 static void CreateCreature(Scriptable
* Sender
, Action
* parameters
);
1014 static void CreateCreatureAtLocation(Scriptable
* Sender
, Action
* parameters
);
1015 static void CreateCreatureAtFeet(Scriptable
* Sender
, Action
* parameters
);
1016 static void CreateCreatureCopyPoint(Scriptable
* Sender
, Action
* parameters
);
1017 static void CreateCreatureDoor(Scriptable
* Sender
, Action
* parameters
);
1018 static void CreateCreatureImpassable(Scriptable
* Sender
, Action
* parameters
);
1019 static void CreateCreatureImpassableAllowOverlap(Scriptable
* Sender
,
1020 Action
* parameters
);
1021 static void CreateCreatureObject(Scriptable
* Sender
, Action
* parameters
);
1022 static void CreateCreatureObjectCopy(Scriptable
* Sender
, Action
* parameters
);
1023 static void CreateCreatureObjectDoor(Scriptable
* Sender
, Action
* parameters
);
1024 static void CreateCreatureObjectOffset(Scriptable
* Sender
, Action
* parameters
);
1025 static void CreateCreatureObjectOffScreen(Scriptable
* Sender
, Action
* parameters
);
1026 static void CreateCreatureOffScreen(Scriptable
* Sender
, Action
* parameters
);
1027 static void CreateItem(Scriptable
* Sender
, Action
* parameters
);
1028 static void CreateItemNumGlobal(Scriptable
* Sender
, Action
* parameters
);
1029 static void CreatePartyGold(Scriptable
*Sender
, Action
*parameters
);
1030 static void CreateVisualEffect(Scriptable
* Sender
, Action
* parameters
);
1031 static void CreateVisualEffectObject(Scriptable
* Sender
,
1032 Action
* parameters
);
1033 static void CreateVisualEffectObjectSticky(Scriptable
* Sender
,
1034 Action
* parameters
);
1035 static void CutSceneID(Scriptable
* Sender
, Action
* parameters
);
1036 static void Damage(Scriptable
* Sender
, Action
* parameters
);
1037 static void DayNight(Scriptable
*Sender
, Action
* parameters
);
1038 static void Deactivate(Scriptable
* Sender
, Action
* parameters
);
1039 static void Debug(Scriptable
* Sender
, Action
* parameters
);
1040 static void DestroyAllDestructableEquipment(Scriptable
* Sender
,
1041 Action
* parameters
);
1042 static void DestroyAllEquipment(Scriptable
* Sender
, Action
* parameters
);
1043 static void DestroyGold(Scriptable
* Sender
, Action
* parameters
);
1044 static void DestroyItem(Scriptable
* Sender
, Action
* parameters
);
1045 static void DestroyPartyGold(Scriptable
* Sender
, Action
* parameters
);
1046 static void DestroyPartyItem(Scriptable
* Sender
, Action
* parameters
);
1047 static void DestroyPartyItemNum(Scriptable
* Sender
, Action
* parameters
);
1048 static void DestroySelf(Scriptable
* Sender
, Action
* parameters
);
1049 static void DetectSecretDoor(Scriptable
* Sender
, Action
* parameters
);
1050 static void Dialogue(Scriptable
* Sender
, Action
* parameters
);
1051 static void DialogueForceInterrupt(Scriptable
* Sender
, Action
* parameters
);
1052 static void DialogueInterrupt(Scriptable
* Sender
, Action
* parameters
);
1053 static void DisableFogDither(Scriptable
* Sender
, Action
* parameters
);
1054 static void DisableSpriteDither(Scriptable
* Sender
, Action
* parameters
);
1055 static void DisplayMessage(Scriptable
* Sender
, Action
* parameters
);
1056 static void DisplayString(Scriptable
* Sender
, Action
* parameters
);
1057 static void DisplayStringHead(Scriptable
* Sender
, Action
* parameters
);
1058 static void DisplayStringHeadOwner(Scriptable
* Sender
, Action
* parameters
);
1059 static void DisplayStringNoName(Scriptable
* Sender
, Action
* parameters
);
1060 static void DisplayStringNoNameHead(Scriptable
* Sender
, Action
* parameters
);
1061 static void DisplayStringWait(Scriptable
* Sender
, Action
* parameters
);
1062 static void DoubleClickLButtonObject(Scriptable
* Sender
, Action
* parameters
);
1063 static void DoubleClickLButtonPoint(Scriptable
* Sender
, Action
* parameters
);
1064 static void DoubleClickRButtonObject(Scriptable
* Sender
, Action
* parameters
);
1065 static void DoubleClickRButtonPoint(Scriptable
* Sender
, Action
* parameters
);
1066 static void DropInventory(Scriptable
* Sender
, Action
* parameters
);
1067 static void DropInventoryEX(Scriptable
* Sender
, Action
* parameters
);
1068 static void DropItem(Scriptable
* Sender
, Action
* parameters
);
1069 static void EnableFogDither(Scriptable
* Sender
, Action
* parameters
);
1070 static void EnablePortalTravel(Scriptable
* Sender
, Action
* parameters
);
1071 static void EnableSpriteDither(Scriptable
* Sender
, Action
* parameters
);
1072 static void EndCredits(Scriptable
* Sender
, Action
* parameters
);
1073 static void EndCutSceneMode(Scriptable
* Sender
, Action
* parameters
);
1074 static void Enemy(Scriptable
* Sender
, Action
* parameters
);
1075 static void EscapeArea(Scriptable
* Sender
, Action
* parameters
);
1076 static void EscapeAreaDestroy(Scriptable
* Sender
, Action
* parameters
);
1077 static void EscapeAreaNoSee(Scriptable
* Sender
, Action
* parameters
);
1078 static void EscapeAreaObject(Scriptable
* Sender
, Action
* parameters
);
1079 static void EscapeAreaObjectNoSee(Scriptable
* Sender
, Action
* parameters
);
1080 static void EquipItem(Scriptable
*Sender
, Action
*parameters
);
1081 static void EquipMostDamagingMelee(Scriptable
*Sender
, Action
*parameters
);
1082 static void EquipRanged(Scriptable
*Sender
, Action
*parameters
);
1083 static void EquipWeapon(Scriptable
*Sender
, Action
*parameters
);
1084 static void ExitPocketPlane(Scriptable
* Sender
, Action
* parameters
);
1085 static void ExpansionEndCredits(Scriptable
* Sender
, Action
* parameters
);
1086 static void Explore(Scriptable
*Sender
, Action
*parameters
);
1087 static void ExploreMapChunk(Scriptable
*Sender
, Action
*parameters
);
1088 static void ExportParty(Scriptable
*Sender
, Action
*parameters
);
1089 static void Face(Scriptable
* Sender
, Action
* parameters
);
1090 static void FaceObject(Scriptable
* Sender
, Action
* parameters
);
1091 static void FaceSavedLocation(Scriptable
* Sender
, Action
* parameters
);
1092 static void FadeFromColor(Scriptable
* Sender
, Action
* parameters
);
1093 static void FadeToAndFromColor(Scriptable
* Sender
, Action
* parameters
);
1094 static void FadeToColor(Scriptable
* Sender
, Action
* parameters
);
1095 static void FakeEffectExpiryCheck(Scriptable
* Sender
, Action
* parameters
);
1096 static void FillSlot(Scriptable
*Sender
, Action
* parameters
);
1097 static void FindTraps(Scriptable
* Sender
, Action
* parameters
);
1098 static void FloatMessageFixed(Scriptable
* Sender
, Action
* parameters
);
1099 static void FloatMessageFixedRnd(Scriptable
* Sender
, Action
* parameters
);
1100 static void FloatMessageRnd(Scriptable
* Sender
, Action
* parameters
);
1101 static void FloatRebus(Scriptable
* Sender
, Action
* parameters
);
1102 static void Follow(Scriptable
* Sender
, Action
* parameters
);
1103 static void FollowCreature(Scriptable
* Sender
, Action
* parameters
);
1104 static void FollowObjectFormation(Scriptable
* Sender
, Action
* parameters
);
1105 static void ForceAIScript(Scriptable
* Sender
, Action
* parameters
);
1106 static void ForceAttack(Scriptable
* Sender
, Action
* parameters
);
1107 static void ForceFacing(Scriptable
* Sender
, Action
* parameters
);
1108 static void ForceHide(Scriptable
* Sender
, Action
* parameters
);
1109 static void ForceLeaveAreaLUA(Scriptable
* Sender
, Action
* parameters
);
1110 static void ForceMarkedSpell(Scriptable
* Sender
, Action
* parameters
);
1111 static void ForceSpell(Scriptable
* Sender
, Action
* parameters
);
1112 static void ForceSpellPoint(Scriptable
* Sender
, Action
* parameters
);
1113 static void ForceUseContainer(Scriptable
* Sender
, Action
* parameters
);
1114 static void Formation(Scriptable
* Sender
, Action
* parameters
);
1115 static void FullHeal(Scriptable
* Sender
, Action
* parameters
);
1116 static void GeneratePartyMember(Scriptable
* Sender
, Action
* parameters
);
1117 static void GetItem(Scriptable
* Sender
, Action
* parameters
);
1118 static void GetStat(Scriptable
* Sender
, Action
* parameters
);
1119 static void GiveItem(Scriptable
* Sender
, Action
* parameters
);
1120 static void GiveOrder(Scriptable
* Sender
, Action
* parameters
);
1121 static void GivePartyAllEquipment(Scriptable
* Sender
, Action
* parameters
);
1122 static void GivePartyGold(Scriptable
* Sender
, Action
* parameters
);
1123 static void GivePartyGoldGlobal(Scriptable
* Sender
, Action
* parameters
);
1124 static void GlobalAddGlobal(Scriptable
* Sender
, Action
* parameters
);
1125 static void GlobalAndGlobal(Scriptable
* Sender
, Action
* parameters
);
1126 static void GlobalBAnd(Scriptable
* Sender
, Action
* parameters
);
1127 static void GlobalBAndGlobal(Scriptable
* Sender
, Action
* parameters
);
1128 static void GlobalBitGlobal(Scriptable
* Sender
, Action
* parameters
);
1129 static void GlobalBOr(Scriptable
* Sender
, Action
* parameters
);
1130 static void GlobalBOrGlobal(Scriptable
* Sender
, Action
* parameters
);
1131 static void GlobalMax(Scriptable
* Sender
, Action
* parameters
);
1132 static void GlobalMaxGlobal(Scriptable
* Sender
, Action
* parameters
);
1133 static void GlobalMin(Scriptable
* Sender
, Action
* parameters
);
1134 static void GlobalMinGlobal(Scriptable
* Sender
, Action
* parameters
);
1135 static void GlobalOrGlobal(Scriptable
* Sender
, Action
* parameters
);
1136 static void GlobalSetGlobal(Scriptable
* Sender
, Action
* parameters
);
1137 static void GlobalShL(Scriptable
* Sender
, Action
* parameters
);
1138 static void GlobalShLGlobal(Scriptable
* Sender
, Action
* parameters
);
1139 static void GlobalShout(Scriptable
* Sender
, Action
* parameters
);
1140 static void GlobalShR(Scriptable
* Sender
, Action
* parameters
);
1141 static void GlobalShRGlobal(Scriptable
* Sender
, Action
* parameters
);
1142 static void GlobalSubGlobal(Scriptable
* Sender
, Action
* parameters
);
1143 static void GlobalXor(Scriptable
* Sender
, Action
* parameters
);
1144 static void GlobalXorGlobal(Scriptable
* Sender
, Action
* parameters
);
1145 static void Help(Scriptable
* Sender
, Action
* parameters
);
1146 static void Hide(Scriptable
* Sender
, Action
* parameters
);
1147 static void HideAreaOnMap(Scriptable
* Sender
, Action
* parameters
);
1148 static void HideCreature(Scriptable
* Sender
, Action
* parameters
);
1149 static void HideGUI(Scriptable
* Sender
, Action
* parameters
);
1150 static void IncInternal(Scriptable
* Sender
, Action
* parameters
);
1151 static void IncMoraleAI(Scriptable
* Sender
, Action
* parameters
);
1152 static void IncrementChapter(Scriptable
* Sender
, Action
* parameters
);
1153 static void IncrementExtraProficiency(Scriptable
* Sender
, Action
* parameters
);
1154 static void IncrementGlobal(Scriptable
* Sender
, Action
* parameters
);
1155 static void IncrementGlobalOnce(Scriptable
* Sender
, Action
* parameters
);
1156 static void IncrementKillStat(Scriptable
* Sender
, Action
* parameters
);
1157 static void IncrementProficiency(Scriptable
* Sender
, Action
* parameters
);
1158 static void Interact(Scriptable
* Sender
, Action
* parameters
);
1159 static void JoinParty(Scriptable
* Sender
, Action
* parameters
);
1160 static void JumpToObject(Scriptable
* Sender
, Action
* parameters
);
1161 static void JumpToPoint(Scriptable
* Sender
, Action
* parameters
);
1162 static void JumpToPointInstant(Scriptable
* Sender
, Action
* parameters
);
1163 static void JumpToSavedLocation(Scriptable
* Sender
, Action
* parameters
);
1164 static void Kill(Scriptable
* Sender
, Action
* parameters
);
1165 static void KillFloatMessage(Scriptable
* Sender
, Action
* parameters
);
1166 static void Leader(Scriptable
* Sender
, Action
* parameters
);
1167 static void LeaveArea(Scriptable
* Sender
, Action
* parameters
);
1168 static void LeaveAreaLUA(Scriptable
* Sender
, Action
* parameters
);
1169 static void LeaveAreaLUAEntry(Scriptable
* Sender
, Action
* parameters
);
1170 static void LeaveAreaLUAPanic(Scriptable
* Sender
, Action
* parameters
);
1171 static void LeaveAreaLUAPanicEntry(Scriptable
* Sender
, Action
* parameters
);
1172 static void LeaveParty(Scriptable
* Sender
, Action
* parameters
);
1173 static void Lock(Scriptable
* Sender
, Action
* parameters
);
1174 static void LockScroll(Scriptable
* Sender
, Action
* parameters
);
1175 static void MakeGlobal(Scriptable
* Sender
, Action
* parameters
);
1176 static void MakeUnselectable(Scriptable
* Sender
, Action
* parameters
);
1177 static void MarkObject(Scriptable
* Sender
, Action
* parameters
);
1178 static void MarkSpellAndObject(Scriptable
* Sender
, Action
* parameters
);
1179 static void MatchHP(Scriptable
* Sender
, Action
* parameters
);
1180 static void MoraleDec(Scriptable
* Sender
, Action
* parameters
);
1181 static void MoraleInc(Scriptable
* Sender
, Action
* parameters
);
1182 static void MoraleSet(Scriptable
* Sender
, Action
* parameters
);
1183 static void MoveBetweenAreas(Scriptable
* Sender
, Action
* parameters
);
1184 static void MoveBetweenAreasEffect(Scriptable
* Sender
, Action
* parameters
);
1185 static void MoveCursorPoint(Scriptable
* Sender
, Action
* parameters
);
1186 static void MoveGlobal(Scriptable
* Sender
, Action
* parameters
);
1187 static void MoveGlobalObject(Scriptable
* Sender
, Action
* parameters
);
1188 static void MoveGlobalObjectOffScreen(Scriptable
* Sender
, Action
* parameters
);
1189 static void MoveGlobalsTo(Scriptable
* Sender
, Action
* parameters
);
1190 static void MoveInventory(Scriptable
*Sender
, Action
* parameters
);
1191 static void MoveToCenterOfScreen(Scriptable
* Sender
, Action
* parameters
);
1192 static void MoveToExpansion(Scriptable
* Sender
, Action
* parameters
);
1193 static void MoveToObject(Scriptable
* Sender
, Action
* parameters
);
1194 static void MoveToObjectFollow(Scriptable
* Sender
, Action
* parameters
);
1195 static void MoveToObjectNoInterrupt(Scriptable
* Sender
, Action
* parameters
);
1196 static void MoveToObjectUntilSee(Scriptable
* Sender
, Action
* parameters
);
1197 static void MoveToOffset(Scriptable
* Sender
, Action
* parameters
);
1198 static void MoveToPoint(Scriptable
* Sender
, Action
* parameters
);
1199 static void MoveToPointNoInterrupt(Scriptable
* Sender
, Action
* parameters
);
1200 static void MoveToPointNoRecticle(Scriptable
* Sender
, Action
* parameters
);
1201 static void MoveToSavedLocation(Scriptable
* Sender
, Action
* parameters
);
1202 static void MoveViewPoint(Scriptable
* Sender
, Action
* parameters
);
1203 static void MoveViewObject(Scriptable
* Sender
, Action
* parameters
);
1204 static void NIDSpecial1(Scriptable
* Sender
, Action
* parameters
);
1205 static void NIDSpecial2(Scriptable
* Sender
, Action
* parameters
);
1206 static void NoAction(Scriptable
* Sender
, Action
* parameters
);
1207 static void NoActionAtAll(Scriptable
* Sender
, Action
* parameters
);
1208 static void OpenDoor(Scriptable
* Sender
, Action
* parameters
);
1209 static void Panic(Scriptable
* Sender
, Action
* parameters
);
1210 static void PauseGame(Scriptable
*Sender
, Action
* parameters
);
1211 static void PermanentStatChange(Scriptable
* Sender
, Action
* parameters
);
1212 static void PickLock(Scriptable
* Sender
, Action
* parameters
);
1213 static void PickPockets(Scriptable
* Sender
, Action
* parameters
);
1214 static void PickUpItem(Scriptable
* Sender
, Action
* parameters
);
1215 static void PlayBardSong(Scriptable
* Sender
, Action
* parameters
);
1216 static void PlayDead(Scriptable
* Sender
, Action
* parameters
);
1217 static void PlayDeadInterruptable(Scriptable
* Sender
, Action
* parameters
);
1218 static void PlayerDialogue(Scriptable
* Sender
, Action
* parameters
);
1219 static void PlaySequence(Scriptable
* Sender
, Action
* parameters
);
1220 static void PlaySequenceTimed(Scriptable
* Sender
, Action
* parameters
);
1221 static void PlaySound(Scriptable
* Sender
, Action
* parameters
);
1222 static void PlaySoundNotRanged(Scriptable
* Sender
, Action
* parameters
);
1223 static void PlaySoundPoint(Scriptable
* Sender
, Action
* parameters
);
1224 static void Plunder(Scriptable
* Sender
, Action
* parameters
);
1225 static void Polymorph(Scriptable
* Sender
, Action
* parameters
);
1226 static void PolymorphCopy(Scriptable
* Sender
, Action
* parameters
);
1227 static void PolymorphCopyBase(Scriptable
* Sender
, Action
* parameters
);
1228 static void ProtectObject(Scriptable
* Sender
, Action
* parameters
);
1229 static void ProtectPoint(Scriptable
* Sender
, Action
* parameters
);
1230 static void QuitGame(Scriptable
* Sender
, Action
* parameters
);
1231 static void RandomFly(Scriptable
* Sender
, Action
* parameters
);
1232 static void RandomRun(Scriptable
* Sender
, Action
* parameters
);
1233 static void RandomTurn(Scriptable
* Sender
, Action
* parameters
);
1234 static void RandomWalk(Scriptable
* Sender
, Action
* parameters
);
1235 static void RandomWalkContinuous(Scriptable
* Sender
, Action
* parameters
);
1236 static void RealSetGlobalTimer(Scriptable
* Sender
, Action
* parameters
);
1237 static void ReallyForceSpell(Scriptable
* Sender
, Action
* parameters
);
1238 static void ReallyForceSpellDead(Scriptable
* Sender
, Action
* parameters
);
1239 static void ReallyForceSpellPoint(Scriptable
* Sender
, Action
* parameters
);
1240 static void Recoil(Scriptable
* Sender
, Action
* parameters
);
1241 static void RegainPaladinHood(Scriptable
* Sender
, Action
* parameters
);
1242 static void RegainRangerHood(Scriptable
* Sender
, Action
* parameters
);
1243 static void RemoveAreaFlag(Scriptable
* Sender
, Action
* parameters
);
1244 static void RemoveAreaType(Scriptable
* Sender
, Action
* parameters
);
1245 static void RemoveJournalEntry(Scriptable
* Sender
, Action
* parameters
);
1246 static void RemoveMapnote(Scriptable
* Sender
, Action
* parameters
);
1247 static void RemovePaladinHood(Scriptable
* Sender
, Action
* parameters
);
1248 static void RemoveRangerHood(Scriptable
* Sender
, Action
* parameters
);
1249 static void RemoveSpell(Scriptable
* Sender
, Action
* parameters
);
1250 static void RemoveTraps(Scriptable
* Sender
, Action
* parameters
);
1251 static void ReputationInc(Scriptable
* Sender
, Action
* parameters
);
1252 static void ReputationSet(Scriptable
* Sender
, Action
* parameters
);
1253 static void RestorePartyLocation(Scriptable
*Sender
, Action
* parameters
);
1254 static void Rest(Scriptable
*Sender
, Action
* parameters
);
1255 static void RestNoSpells(Scriptable
*Sender
, Action
* parameters
);
1256 static void RestParty(Scriptable
*Sender
, Action
* parameters
);
1257 static void RestUntilHealed(Scriptable
*Sender
, Action
* parameters
);
1258 static void ReturnToSavedLocation(Scriptable
* Sender
, Action
* parameters
);
1259 static void ReturnToSavedLocationDelete(Scriptable
* Sender
, Action
* parameters
);
1260 static void RevealAreaOnMap(Scriptable
* Sender
, Action
* parameters
);
1261 static void RunAwayFrom(Scriptable
* Sender
, Action
* parameters
);
1262 static void RunAwayFromNoInterrupt(Scriptable
* Sender
, Action
* parameters
);
1263 static void RunAwayFromNoLeaveArea(Scriptable
* Sender
, Action
* parameters
);
1264 static void RunFollow(Scriptable
* Sender
, Action
* parameters
);
1265 static void RunningAttack(Scriptable
* Sender
, Action
* parameters
);
1266 static void RunningAttackNoSound(Scriptable
* Sender
, Action
* parameters
);
1267 static void RunToObject(Scriptable
* Sender
, Action
* parameters
);
1268 static void RunToPoint(Scriptable
* Sender
, Action
* parameters
);
1269 static void RunToPointNoRecticle(Scriptable
* Sender
, Action
* parameters
);
1270 static void RunToSavedLocation(Scriptable
* Sender
, Action
* parameters
);
1271 static void SaveGame(Scriptable
* Sender
, Action
* parameters
);
1272 static void SaveLocation(Scriptable
* Sender
, Action
* parameters
);
1273 static void SaveObjectLocation(Scriptable
* Sender
, Action
* parameters
);
1274 static void ScreenShake(Scriptable
* Sender
, Action
* parameters
);
1275 static void SelectWeaponAbility(Scriptable
* Sender
, Action
* parameters
);
1276 static void SendTrigger(Scriptable
* Sender
, Action
* parameters
);
1277 static void SetAnimState(Scriptable
* Sender
, Action
* parameters
);
1278 static void SetApparentName(Scriptable
* Sender
, Action
* parameters
);
1279 static void SetAreaFlags(Scriptable
* Sender
, Action
* parameters
);
1280 static void SetAreaRestFlag(Scriptable
* Sender
, Action
* parameters
);
1281 static void SetArmourLevel(Scriptable
* Sender
, Action
* parameters
);
1282 static void SetBeenInPartyFlags(Scriptable
* Sender
, Action
* parameters
);
1283 static void SetBestWeapon(Scriptable
*Sender
, Action
*parameters
);
1284 static void SetCursorState(Scriptable
* Sender
, Action
* parameters
);
1285 static void SetCreatureAreaFlag(Scriptable
* Sender
, Action
* parameters
);
1286 static void SetCriticalPathObject(Scriptable
* Sender
, Action
* parameters
);
1287 static void SetDialogue(Scriptable
* Sender
, Action
* parameters
);
1288 static void SetDialogueRange(Scriptable
* Sender
, Action
* parameters
);
1289 static void SetDoorFlag(Scriptable
* Sender
, Action
* parameters
);
1290 static void SetDoorLocked(Scriptable
* Sender
, Action
* parameters
);
1291 static void SetEncounterProbability(Scriptable
* Sender
, Action
* parameters
);
1292 static void SetExtendedNight(Scriptable
* Sender
, Action
* parameters
);
1293 static void SetFaction(Scriptable
* Sender
, Action
* parameters
);
1294 static void SetGabber(Scriptable
* Sender
, Action
* parameters
);
1295 static void SetGlobal(Scriptable
* Sender
, Action
* parameters
);
1296 static void SetGlobalRandom(Scriptable
* Sender
, Action
* parameters
);
1297 static void SetGlobalTimer(Scriptable
* Sender
, Action
* parameters
);
1298 static void SetGlobalTimerOnce(Scriptable
* Sender
, Action
* parameters
);
1299 static void SetGlobalTimerRandom(Scriptable
* Sender
, Action
* parameters
);
1300 static void SetGlobalTint(Scriptable
* Sender
, Action
* parameters
);
1301 static void SetHP(Scriptable
* Sender
, Action
* parameters
);
1302 static void SetHPPercent(Scriptable
* Sender
, Action
* parameters
);
1303 static void SetInternal(Scriptable
* Sender
, Action
* parameters
);
1304 static void SetInterrupt(Scriptable
* Sender
, Action
* parameters
);
1305 static void SetLeavePartyDialogFile(Scriptable
* Sender
, Action
* parameters
);
1306 static void SetMarkedSpell(Scriptable
* Sender
, Action
* parameters
);
1307 static void SetMasterArea(Scriptable
* Sender
, Action
* parameters
);
1308 static void SetMazeEasier(Scriptable
* Sender
, Action
* parameters
);
1309 static void SetMazeHarder(Scriptable
* Sender
, Action
* parameters
);
1310 static void SetMoraleAI(Scriptable
* Sender
, Action
* parameters
);
1311 static void SetMusic(Scriptable
* Sender
, Action
* parameters
);
1312 static void SetNamelessClass(Scriptable
* Sender
, Action
* parameters
);
1313 static void SetNamelessDeath(Scriptable
* Sender
, Action
* parameters
);
1314 static void SetNamelessDisguise(Scriptable
* Sender
, Action
* parameters
);
1315 static void SetNoOneOnTrigger(Scriptable
* Sender
, Action
* parameters
);
1316 static void SetNumTimesTalkedTo(Scriptable
* Sender
, Action
* parameters
);
1317 static void SetPlayerSound(Scriptable
* Sender
, Action
* parameters
);
1318 static void SetQuestDone(Scriptable
* Sender
, Action
* parameters
);
1319 static void SetRegularName(Scriptable
* Sender
, Action
* parameters
);
1320 static void SetRestEncounterChance(Scriptable
* Sender
, Action
* parameters
);
1321 static void SetRestEncounterProbabilityDay(Scriptable
* Sender
, Action
* parameters
);
1322 static void SetRestEncounterProbabilityNight(Scriptable
* Sender
, Action
* parameters
);
1323 static void SetSavedLocation(Scriptable
* Sender
, Action
* parameters
);
1324 static void SetSavedLocationPoint(Scriptable
* Sender
, Action
* parameters
);
1325 static void SetScriptName(Scriptable
* Sender
, Action
* parameters
);
1326 static void SetSelection(Scriptable
* Sender
, Action
* parameters
);
1327 static void SetStartPos(Scriptable
* Sender
, Action
* parameters
);
1328 static void SetTeam(Scriptable
* Sender
, Action
* parameters
);
1329 static void SetTeamBit(Scriptable
* Sender
, Action
* parameters
);
1330 static void SetTextColor(Scriptable
* Sender
, Action
* parameters
);
1331 static void SetToken(Scriptable
* Sender
, Action
* parameters
);
1332 static void SetToken2DA(Scriptable
* Sender
, Action
* parameters
);
1333 static void SetTokenGlobal(Scriptable
* Sender
, Action
* parameters
);
1334 static void SetTokenObject(Scriptable
* Sender
, Action
* parameters
);
1335 static void SetTrackString(Scriptable
* Sender
, Action
* parameters
);
1336 static void SetupWish(Scriptable
* Sender
, Action
* parameters
);
1337 static void SetupWishObject(Scriptable
* Sender
, Action
* parameters
);
1338 static void SetVisualRange(Scriptable
* Sender
, Action
* parameters
);
1339 static void SG(Scriptable
* Sender
, Action
* parameters
);
1340 static void Shout(Scriptable
* Sender
, Action
* parameters
);
1341 static void SmallWait(Scriptable
* Sender
, Action
* parameters
);
1342 static void SmallWaitRandom(Scriptable
* Sender
, Action
* parameters
);
1343 static void SoundActivate(Scriptable
* Sender
, Action
* parameters
);
1344 static void SpawnPtActivate(Scriptable
* Sender
, Action
* parameters
);
1345 static void SpawnPtDeactivate(Scriptable
* Sender
, Action
* parameters
);
1346 static void SpawnPtSpawn(Scriptable
* Sender
, Action
* parameters
);
1347 static void Spell(Scriptable
* Sender
, Action
* parameters
);
1348 static void SpellCastEffect(Scriptable
* Sender
, Action
* parameters
);
1349 static void SpellHitEffectPoint(Scriptable
* Sender
, Action
* parameters
);
1350 static void SpellHitEffectSprite(Scriptable
* Sender
, Action
* parameters
);
1351 static void SpellNoDec(Scriptable
* Sender
, Action
* parameters
);
1352 static void SpellPoint(Scriptable
* Sender
, Action
* parameters
);
1353 static void SpellPointNoDec(Scriptable
* Sender
, Action
* parameters
);
1354 static void StartCombatCounter(Scriptable
* Sender
, Action
* parameters
);
1355 static void StartCutScene(Scriptable
* Sender
, Action
* parameters
);
1356 static void StartCutSceneMode(Scriptable
* Sender
, Action
* parameters
);
1357 static void StartDialogue(Scriptable
* Sender
, Action
* parameters
);
1358 static void StartDialogueInterrupt(Scriptable
* Sender
, Action
* parameters
);
1359 static void StartDialogueNoSet(Scriptable
* Sender
, Action
* parameters
);
1360 static void StartDialogueNoSetInterrupt(Scriptable
* Sender
,
1361 Action
* parameters
);
1362 static void StartDialogueOverride(Scriptable
* Sender
, Action
* parameters
);
1363 static void StartDialogueOverrideInterrupt(Scriptable
* Sender
,
1364 Action
* parameters
);
1365 static void StartMovie(Scriptable
* Sender
, Action
* parameters
);
1366 static void StartMusic(Scriptable
* Sender
, Action
* parameters
);
1367 static void StartRainNow(Scriptable
* Sender
, Action
* parameters
);
1368 static void StartRandomTimer(Scriptable
* Sender
, Action
* parameters
);
1369 static void StartSong(Scriptable
* Sender
, Action
* parameters
);
1370 static void StartStore(Scriptable
* Sender
, Action
* parameters
);
1371 static void StartTimer(Scriptable
* Sender
, Action
* parameters
);
1372 static void StateOverrideFlag(Scriptable
* Sender
, Action
* parameters
);
1373 static void StateOverrideTime(Scriptable
* Sender
, Action
* parameters
);
1374 static void StaticPalette(Scriptable
* Sender
, Action
* parameters
);
1375 static void StaticStart(Scriptable
* Sender
, Action
* parameters
);
1376 static void StaticStop(Scriptable
* Sender
, Action
* parameters
);
1377 static void StopMoving(Scriptable
* Sender
, Action
* parameters
);
1378 static void StorePartyLocation(Scriptable
*Sender
, Action
* parameters
);
1379 static void Swing(Scriptable
* Sender
, Action
* parameters
);
1380 static void SwingOnce(Scriptable
* Sender
, Action
* parameters
);
1381 static void TakeItemList(Scriptable
* Sender
, Action
* parameters
);
1382 static void TakeItemListParty(Scriptable
* Sender
, Action
* parameters
);
1383 static void TakeItemListPartyNum(Scriptable
* Sender
, Action
* parameters
);
1384 static void TakeItemReplace(Scriptable
* Sender
, Action
* parameters
);
1385 static void TakePartyGold(Scriptable
* Sender
, Action
* parameters
);
1386 static void TakePartyItem(Scriptable
* Sender
, Action
* parameters
);
1387 static void TakePartyItemAll(Scriptable
* Sender
, Action
* parameters
);
1388 static void TakePartyItemNum(Scriptable
* Sender
, Action
* parameters
);
1389 static void TakePartyItemRange(Scriptable
* Sender
, Action
* parameters
);
1390 static void TeleportParty(Scriptable
* Sender
, Action
* parameters
);
1391 static void TextScreen(Scriptable
* Sender
, Action
* parameters
);
1392 static void ToggleDoor(Scriptable
* Sender
, Action
* parameters
);
1393 static void TimedMoveToPoint(Scriptable
* Sender
, Action
* parameters
);
1394 static void TransformItem(Scriptable
* Sender
, Action
* parameters
);
1395 static void TransformItemAll(Scriptable
* Sender
, Action
* parameters
);
1396 static void TransformPartyItem(Scriptable
* Sender
, Action
* parameters
);
1397 static void TransformPartyItemAll(Scriptable
* Sender
, Action
* parameters
);
1398 static void TriggerActivation(Scriptable
* Sender
, Action
* parameters
);
1399 static void Turn(Scriptable
* Sender
, Action
* parameters
);
1400 static void TurnAMT(Scriptable
* Sender
, Action
* parameters
);
1401 static void UndoExplore(Scriptable
*Sender
, Action
*parameters
);
1402 static void UnhideGUI(Scriptable
* Sender
, Action
* parameters
);
1403 static void Unlock(Scriptable
* Sender
, Action
* parameters
);
1404 static void UnlockScroll(Scriptable
* Sender
, Action
* parameters
);
1405 static void UseContainer(Scriptable
* Sender
, Action
* parameters
);
1406 static void UseDoor(Scriptable
* Sender
, Action
* parameters
);
1407 static void UseItem(Scriptable
* Sender
, Action
* parameters
);
1408 static void UseItemPoint(Scriptable
* Sender
, Action
* parameters
);
1409 static void VerbalConstant(Scriptable
* Sender
, Action
* parameters
);
1410 static void VerbalConstantHead(Scriptable
* Sender
, Action
* parameters
);
1411 static void Wait(Scriptable
* Sender
, Action
* parameters
);
1412 static void WaitAnimation(Scriptable
* Sender
, Action
* parameters
);
1413 static void WaitRandom(Scriptable
* Sender
, Action
* parameters
);
1414 static void Weather(Scriptable
* Sender
, Action
* parameters
);
1415 static void XEquipItem(Scriptable
*Sender
, Action
*parameters
);
1418 static Targets
*BestAC(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1419 static Targets
*EighthNearest(Scriptable
*Sender
, Targets
*parameter
, int ga_flagss
);
1420 static Targets
*EighthNearestDoor(Scriptable
*Sender
, Targets
*parameter
, int ga_flagss
);
1421 static Targets
*EighthNearestEnemyOf(Scriptable
*Sender
, Targets
*parameter
, int ga_flagss
);
1422 static Targets
*EighthNearestEnemyOfType(Scriptable
*Sender
, Targets
*parameter
, int ga_flagss
);
1423 static Targets
*EighthNearestMyGroupOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1424 static Targets
*Farthest(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1425 static Targets
*FarthestEnemyOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1426 static Targets
*FifthNearest(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1427 static Targets
*FifthNearestDoor(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1428 static Targets
*FifthNearestEnemyOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1429 static Targets
*FifthNearestEnemyOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1430 static Targets
*FifthNearestMyGroupOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1431 static Targets
*FourthNearest(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1432 static Targets
*FourthNearestDoor(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1433 static Targets
*FourthNearestEnemyOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1434 static Targets
*FourthNearestEnemyOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1435 static Targets
*FourthNearestMyGroupOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1436 static Targets
*Gabber(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1437 static Targets
*GroupOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1438 static Targets
*LastAttackerOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1439 static Targets
*LastCommandedBy(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1440 static Targets
*LastHeardBy(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1441 static Targets
*LastHelp(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1442 static Targets
*LastHitter(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1443 static Targets
*LastMarkedObject(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1444 static Targets
*LastSeenBy(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1445 static Targets
*LastSummonerOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1446 static Targets
*LastTalkedToBy(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1447 static Targets
*LastTargetedBy(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1448 static Targets
*LastTrigger(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1449 static Targets
*LeaderOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1450 static Targets
*LeastDamagedOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1451 static Targets
*MostDamagedOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1452 static Targets
*Myself(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1453 static Targets
*MyTarget(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1454 static Targets
*Nearest(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1455 static Targets
*NearestDoor(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1456 static Targets
*NearestEnemyOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1457 static Targets
*NearestEnemyOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1458 static Targets
*NearestEnemySummoned(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1459 static Targets
*NearestMyGroupOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1460 static Targets
*NearestPC(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1461 static Targets
*NinthNearest(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1462 static Targets
*NinthNearestDoor(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1463 static Targets
*NinthNearestEnemyOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1464 static Targets
*NinthNearestEnemyOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1465 static Targets
*NinthNearestMyGroupOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1466 static Targets
*Nothing(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1467 static Targets
*Player1(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1468 static Targets
*Player1Fill(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1469 static Targets
*Player2(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1470 static Targets
*Player2Fill(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1471 static Targets
*Player3(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1472 static Targets
*Player3Fill(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1473 static Targets
*Player4(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1474 static Targets
*Player4Fill(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1475 static Targets
*Player5(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1476 static Targets
*Player5Fill(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1477 static Targets
*Player6(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1478 static Targets
*Player6Fill(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1479 static Targets
*Protagonist(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1480 static Targets
*ProtectedBy(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1481 static Targets
*ProtectorOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1482 static Targets
*SecondNearest(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1483 static Targets
*SecondNearestDoor(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1484 static Targets
*SecondNearestEnemyOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1485 static Targets
*SecondNearestEnemyOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1486 static Targets
*SecondNearestMyGroupOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1487 static Targets
*SelectedCharacter(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1488 static Targets
*SeventhNearest(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1489 static Targets
*SeventhNearestDoor(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1490 static Targets
*SeventhNearestEnemyOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1491 static Targets
*SeventhNearestEnemyOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1492 static Targets
*SeventhNearestMyGroupOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1493 static Targets
*SixthNearest(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1494 static Targets
*SixthNearestDoor(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1495 static Targets
*SixthNearestEnemyOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1496 static Targets
*SixthNearestEnemyOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1497 static Targets
*SixthNearestMyGroupOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1498 static Targets
*StrongestOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1499 static Targets
*StrongestOfMale(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1500 static Targets
*TenthNearest(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1501 static Targets
*TenthNearestDoor(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1502 static Targets
*TenthNearestEnemyOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1503 static Targets
*TenthNearestEnemyOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1504 static Targets
*TenthNearestMyGroupOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1505 static Targets
*ThirdNearest(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1506 static Targets
*ThirdNearestDoor(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1507 static Targets
*ThirdNearestEnemyOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1508 static Targets
*ThirdNearestEnemyOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1509 static Targets
*ThirdNearestMyGroupOfType(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1510 static Targets
*WeakestOf(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1511 static Targets
*WorstAC(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1514 /*GemRB extensions/actions*/
1515 static void RunAwayFromPoint(Scriptable
* Sender
, Action
* parameters
);
1516 static void UnMakeGlobal(Scriptable
* Sender
, Action
* parameters
);
1517 static void UnloadArea(Scriptable
* Sender
, Action
* parameters
);
1519 /*GemRB extensions/objects*/
1520 static Targets
*Player7(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1521 static Targets
*Player7Fill(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1522 static Targets
*Player8(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1523 static Targets
*Player8Fill(Scriptable
*Sender
, Targets
*parameters
, int ga_flags
);
1526 GEM_EXPORT Action
* GenerateAction(char* String
);
1527 Action
* GenerateActionDirect(char* String
, Scriptable
*object
);
1528 GEM_EXPORT Trigger
* GenerateTrigger(char* String
);
1530 void InitializeIEScript();