from pykotor.common.script import ScriptConstant, ScriptParam, ScriptFunction

KOTOR_CONSTANTS = [ScriptConstant("int", "NUM_INVENTORY_SLOTS", "18"), ScriptConstant("int", "TRUE", "1"),
                   ScriptConstant("int", "FALSE", "0"), ScriptConstant("float", "DIRECTION_EAST", "0.0"),
                   ScriptConstant("float", "DIRECTION_NORTH", "90.0"),
                   ScriptConstant("float", "DIRECTION_WEST", "180.0"),
                   ScriptConstant("float", "DIRECTION_SOUTH", "270.0"), ScriptConstant("float", "PI", "3.141592"),
                   ScriptConstant("int", "ATTITUDE_NEUTRAL", "0"), ScriptConstant("int", "ATTITUDE_AGGRESSIVE", "1"),
                   ScriptConstant("int", "ATTITUDE_DEFENSIVE", "2"), ScriptConstant("int", "ATTITUDE_SPECIAL", "3"),
                   ScriptConstant("int", "TALKVOLUME_TALK", "0"), ScriptConstant("int", "TALKVOLUME_WHISPER", "1"),
                   ScriptConstant("int", "TALKVOLUME_SHOUT", "2"), ScriptConstant("int", "TALKVOLUME_SILENT_TALK", "3"),
                   ScriptConstant("int", "TALKVOLUME_SILENT_SHOUT", "4"),
                   ScriptConstant("int", "INVENTORY_SLOT_HEAD", "0"), ScriptConstant("int", "INVENTORY_SLOT_BODY", "1"),
                   ScriptConstant("int", "INVENTORY_SLOT_HANDS", "3"),
                   ScriptConstant("int", "INVENTORY_SLOT_RIGHTWEAPON", "4"),
                   ScriptConstant("int", "INVENTORY_SLOT_LEFTWEAPON", "5"),
                   ScriptConstant("int", "INVENTORY_SLOT_LEFTARM", "7"),
                   ScriptConstant("int", "INVENTORY_SLOT_RIGHTARM", "8"),
                   ScriptConstant("int", "INVENTORY_SLOT_IMPLANT", "9"),
                   ScriptConstant("int", "INVENTORY_SLOT_BELT", "10"),
                   ScriptConstant("int", "INVENTORY_SLOT_CWEAPON_L", "14"),
                   ScriptConstant("int", "INVENTORY_SLOT_CWEAPON_R", "15"),
                   ScriptConstant("int", "INVENTORY_SLOT_CWEAPON_B", "16"),
                   ScriptConstant("int", "INVENTORY_SLOT_CARMOUR", "17"),
                   ScriptConstant("int", "DURATION_TYPE_INSTANT", "0"),
                   ScriptConstant("int", "DURATION_TYPE_TEMPORARY", "1"),
                   ScriptConstant("int", "DURATION_TYPE_PERMANENT", "2"), ScriptConstant("int", "SUBTYPE_MAGICAL", "8"),
                   ScriptConstant("int", "SUBTYPE_SUPERNATURAL", "16"),
                   ScriptConstant("int", "SUBTYPE_EXTRAORDINARY", "24"), ScriptConstant("int", "ABILITY_STRENGTH", "0"),
                   ScriptConstant("int", "ABILITY_DEXTERITY", "1"), ScriptConstant("int", "ABILITY_CONSTITUTION", "2"),
                   ScriptConstant("int", "ABILITY_INTELLIGENCE", "3"), ScriptConstant("int", "ABILITY_WISDOM", "4"),
                   ScriptConstant("int", "ABILITY_CHARISMA", "5"), ScriptConstant("int", "SHAPE_SPELLCYLINDER", "0"),
                   ScriptConstant("int", "SHAPE_CONE", "1"), ScriptConstant("int", "SHAPE_CUBE", "2"),
                   ScriptConstant("int", "SHAPE_SPELLCONE", "3"), ScriptConstant("int", "SHAPE_SPHERE", "4"),
                   ScriptConstant("int", "OBJECT_TYPE_CREATURE", "1"), ScriptConstant("int", "OBJECT_TYPE_ITEM", "2"),
                   ScriptConstant("int", "OBJECT_TYPE_TRIGGER", "4"), ScriptConstant("int", "OBJECT_TYPE_DOOR", "8"),
                   ScriptConstant("int", "OBJECT_TYPE_AREA_OF_EFFECT", "16"),
                   ScriptConstant("int", "OBJECT_TYPE_WAYPOINT", "32"),
                   ScriptConstant("int", "OBJECT_TYPE_PLACEABLE", "64"),
                   ScriptConstant("int", "OBJECT_TYPE_STORE", "128"),
                   ScriptConstant("int", "OBJECT_TYPE_ENCOUNTER", "256"),
                   ScriptConstant("int", "OBJECT_TYPE_SOUND", "512"), ScriptConstant("int", "OBJECT_TYPE_ALL", "32767"),
                   ScriptConstant("int", "OBJECT_TYPE_INVALID", "32767"), ScriptConstant("int", "GENDER_MALE", "0"),
                   ScriptConstant("int", "GENDER_FEMALE", "1"), ScriptConstant("int", "GENDER_BOTH", "2"),
                   ScriptConstant("int", "GENDER_OTHER", "3"), ScriptConstant("int", "GENDER_NONE", "4"),
                   ScriptConstant("int", "DAMAGE_TYPE_BLUDGEONING", "1"),
                   ScriptConstant("int", "DAMAGE_TYPE_PIERCING", "2"),
                   ScriptConstant("int", "DAMAGE_TYPE_SLASHING", "4"),
                   ScriptConstant("int", "DAMAGE_TYPE_UNIVERSAL", "8"), ScriptConstant("int", "DAMAGE_TYPE_ACID", "16"),
                   ScriptConstant("int", "DAMAGE_TYPE_COLD", "32"),
                   ScriptConstant("int", "DAMAGE_TYPE_LIGHT_SIDE", "64"),
                   ScriptConstant("int", "DAMAGE_TYPE_ELECTRICAL", "128"),
                   ScriptConstant("int", "DAMAGE_TYPE_FIRE", "256"),
                   ScriptConstant("int", "DAMAGE_TYPE_DARK_SIDE", "512"),
                   ScriptConstant("int", "DAMAGE_TYPE_SONIC", "1024"), ScriptConstant("int", "DAMAGE_TYPE_ION", "2048"),
                   ScriptConstant("int", "DAMAGE_TYPE_BLASTER", "4096"),
                   ScriptConstant("int", "AC_VS_DAMAGE_TYPE_ALL", "8199"), ScriptConstant("int", "DAMAGE_BONUS_1", "1"),
                   ScriptConstant("int", "DAMAGE_BONUS_2", "2"), ScriptConstant("int", "DAMAGE_BONUS_3", "3"),
                   ScriptConstant("int", "DAMAGE_BONUS_4", "4"), ScriptConstant("int", "DAMAGE_BONUS_5", "5"),
                   ScriptConstant("int", "DAMAGE_BONUS_1d4", "6"), ScriptConstant("int", "DAMAGE_BONUS_1d6", "7"),
                   ScriptConstant("int", "DAMAGE_BONUS_1d8", "8"), ScriptConstant("int", "DAMAGE_BONUS_1d10", "9"),
                   ScriptConstant("int", "DAMAGE_BONUS_2d6", "10"), ScriptConstant("int", "DAMAGE_POWER_NORMAL", "0"),
                   ScriptConstant("int", "DAMAGE_POWER_PLUS_ONE", "1"),
                   ScriptConstant("int", "DAMAGE_POWER_PLUS_TWO", "2"),
                   ScriptConstant("int", "DAMAGE_POWER_PLUS_THREE", "3"),
                   ScriptConstant("int", "DAMAGE_POWER_PLUS_FOUR", "4"),
                   ScriptConstant("int", "DAMAGE_POWER_PLUS_FIVE", "5"),
                   ScriptConstant("int", "DAMAGE_POWER_ENERGY", "6"), ScriptConstant("int", "ATTACK_BONUS_MISC", "0"),
                   ScriptConstant("int", "ATTACK_BONUS_ONHAND", "1"),
                   ScriptConstant("int", "ATTACK_BONUS_OFFHAND", "2"), ScriptConstant("int", "AC_DODGE_BONUS", "0"),
                   ScriptConstant("int", "AC_NATURAL_BONUS", "1"),
                   ScriptConstant("int", "AC_ARMOUR_ENCHANTMENT_BONUS", "2"),
                   ScriptConstant("int", "AC_SHIELD_ENCHANTMENT_BONUS", "3"),
                   ScriptConstant("int", "AC_DEFLECTION_BONUS", "4"), ScriptConstant("int", "DOOR_ACTION_OPEN", "0"),
                   ScriptConstant("int", "DOOR_ACTION_UNLOCK", "1"), ScriptConstant("int", "DOOR_ACTION_BASH", "2"),
                   ScriptConstant("int", "DOOR_ACTION_IGNORE", "3"), ScriptConstant("int", "DOOR_ACTION_KNOCK", "4"),
                   ScriptConstant("int", "PLACEABLE_ACTION_USE", "0"),
                   ScriptConstant("int", "PLACEABLE_ACTION_UNLOCK", "1"),
                   ScriptConstant("int", "PLACEABLE_ACTION_BASH", "2"),
                   ScriptConstant("int", "PLACEABLE_ACTION_KNOCK", "4"),
                   ScriptConstant("int", "RACIAL_TYPE_UNKNOWN", "0"), ScriptConstant("int", "RACIAL_TYPE_ELF", "1"),
                   ScriptConstant("int", "RACIAL_TYPE_GNOME", "2"), ScriptConstant("int", "RACIAL_TYPE_HALFLING", "3"),
                   ScriptConstant("int", "RACIAL_TYPE_HALFELF", "4"), ScriptConstant("int", "RACIAL_TYPE_DROID", "5"),
                   ScriptConstant("int", "RACIAL_TYPE_HUMAN", "6"), ScriptConstant("int", "RACIAL_TYPE_ALL", "7"),
                   ScriptConstant("int", "RACIAL_TYPE_INVALID", "8"), ScriptConstant("int", "ALIGNMENT_ALL", "0"),
                   ScriptConstant("int", "ALIGNMENT_NEUTRAL", "1"), ScriptConstant("int", "ALIGNMENT_LIGHT_SIDE", "2"),
                   ScriptConstant("int", "ALIGNMENT_DARK_SIDE", "3"), ScriptConstant("int", "SAVING_THROW_ALL", "0"),
                   ScriptConstant("int", "SAVING_THROW_FORT", "1"), ScriptConstant("int", "SAVING_THROW_REFLEX", "2"),
                   ScriptConstant("int", "SAVING_THROW_WILL", "3"), ScriptConstant("int", "SAVING_THROW_TYPE_ALL", "0"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_NONE", "0"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_ACID", "1"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_SNEAK_ATTACK", "2"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_COLD", "3"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_DEATH", "4"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_DISEASE", "5"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_LIGHT_SIDE", "6"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_ELECTRICAL", "7"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_FEAR", "8"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_FIRE", "9"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_MIND_AFFECTING", "10"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_DARK_SIDE", "11"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_POISON", "12"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_SONIC", "13"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_TRAP", "14"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_FORCE_POWER", "15"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_ION", "16"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_BLASTER", "17"),
                   ScriptConstant("int", "SAVING_THROW_TYPE_PARALYSIS", "18"),
                   ScriptConstant("int", "IMMUNITY_TYPE_NONE", "0"),
                   ScriptConstant("int", "IMMUNITY_TYPE_MIND_SPELLS", "1"),
                   ScriptConstant("int", "IMMUNITY_TYPE_POISON", "2"),
                   ScriptConstant("int", "IMMUNITY_TYPE_DISEASE", "3"),
                   ScriptConstant("int", "IMMUNITY_TYPE_FEAR", "4"), ScriptConstant("int", "IMMUNITY_TYPE_TRAP", "5"),
                   ScriptConstant("int", "IMMUNITY_TYPE_PARALYSIS", "6"),
                   ScriptConstant("int", "IMMUNITY_TYPE_BLINDNESS", "7"),
                   ScriptConstant("int", "IMMUNITY_TYPE_DEAFNESS", "8"),
                   ScriptConstant("int", "IMMUNITY_TYPE_SLOW", "9"),
                   ScriptConstant("int", "IMMUNITY_TYPE_ENTANGLE", "10"),
                   ScriptConstant("int", "IMMUNITY_TYPE_SILENCE", "11"),
                   ScriptConstant("int", "IMMUNITY_TYPE_STUN", "12"),
                   ScriptConstant("int", "IMMUNITY_TYPE_SLEEP", "13"),
                   ScriptConstant("int", "IMMUNITY_TYPE_CHARM", "14"),
                   ScriptConstant("int", "IMMUNITY_TYPE_DOMINATE", "15"),
                   ScriptConstant("int", "IMMUNITY_TYPE_CONFUSED", "16"),
                   ScriptConstant("int", "IMMUNITY_TYPE_CURSED", "17"),
                   ScriptConstant("int", "IMMUNITY_TYPE_DAZED", "18"),
                   ScriptConstant("int", "IMMUNITY_TYPE_ABILITY_DECREASE", "19"),
                   ScriptConstant("int", "IMMUNITY_TYPE_ATTACK_DECREASE", "20"),
                   ScriptConstant("int", "IMMUNITY_TYPE_DAMAGE_DECREASE", "21"),
                   ScriptConstant("int", "IMMUNITY_TYPE_DAMAGE_IMMUNITY_DECREASE", "22"),
                   ScriptConstant("int", "IMMUNITY_TYPE_AC_DECREASE", "23"),
                   ScriptConstant("int", "IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE", "24"),
                   ScriptConstant("int", "IMMUNITY_TYPE_SAVING_THROW_DECREASE", "25"),
                   ScriptConstant("int", "IMMUNITY_TYPE_FORCE_RESISTANCE_DECREASE", "26"),
                   ScriptConstant("int", "IMMUNITY_TYPE_SKILL_DECREASE", "27"),
                   ScriptConstant("int", "IMMUNITY_TYPE_KNOCKDOWN", "28"),
                   ScriptConstant("int", "IMMUNITY_TYPE_NEGATIVE_LEVEL", "29"),
                   ScriptConstant("int", "IMMUNITY_TYPE_SNEAK_ATTACK", "30"),
                   ScriptConstant("int", "IMMUNITY_TYPE_CRITICAL_HIT", "31"),
                   ScriptConstant("int", "IMMUNITY_TYPE_DEATH", "32"),
                   ScriptConstant("int", "AREA_TRANSITION_RANDOM", "0"),
                   ScriptConstant("int", "AREA_TRANSITION_USER_DEFINED", "1"),
                   ScriptConstant("int", "AREA_TRANSITION_CITY_01", "2"),
                   ScriptConstant("int", "AREA_TRANSITION_CITY_02", "3"),
                   ScriptConstant("int", "AREA_TRANSITION_CITY_03", "4"),
                   ScriptConstant("int", "AREA_TRANSITION_CITY_04", "5"),
                   ScriptConstant("int", "AREA_TRANSITION_CITY_05", "6"),
                   ScriptConstant("int", "AREA_TRANSITION_CRYPT_01", "7"),
                   ScriptConstant("int", "AREA_TRANSITION_CRYPT_02", "8"),
                   ScriptConstant("int", "AREA_TRANSITION_CRYPT_03", "9"),
                   ScriptConstant("int", "AREA_TRANSITION_CRYPT_04", "10"),
                   ScriptConstant("int", "AREA_TRANSITION_CRYPT_05", "11"),
                   ScriptConstant("int", "AREA_TRANSITION_DUNGEON_01", "12"),
                   ScriptConstant("int", "AREA_TRANSITION_DUNGEON_02", "13"),
                   ScriptConstant("int", "AREA_TRANSITION_DUNGEON_03", "14"),
                   ScriptConstant("int", "AREA_TRANSITION_DUNGEON_04", "15"),
                   ScriptConstant("int", "AREA_TRANSITION_DUNGEON_05", "16"),
                   ScriptConstant("int", "AREA_TRANSITION_DUNGEON_06", "17"),
                   ScriptConstant("int", "AREA_TRANSITION_DUNGEON_07", "18"),
                   ScriptConstant("int", "AREA_TRANSITION_DUNGEON_08", "19"),
                   ScriptConstant("int", "AREA_TRANSITION_MINES_01", "20"),
                   ScriptConstant("int", "AREA_TRANSITION_MINES_02", "21"),
                   ScriptConstant("int", "AREA_TRANSITION_MINES_03", "22"),
                   ScriptConstant("int", "AREA_TRANSITION_MINES_04", "23"),
                   ScriptConstant("int", "AREA_TRANSITION_MINES_05", "24"),
                   ScriptConstant("int", "AREA_TRANSITION_MINES_06", "25"),
                   ScriptConstant("int", "AREA_TRANSITION_MINES_07", "26"),
                   ScriptConstant("int", "AREA_TRANSITION_MINES_08", "27"),
                   ScriptConstant("int", "AREA_TRANSITION_MINES_09", "28"),
                   ScriptConstant("int", "AREA_TRANSITION_SEWER_01", "29"),
                   ScriptConstant("int", "AREA_TRANSITION_SEWER_02", "30"),
                   ScriptConstant("int", "AREA_TRANSITION_SEWER_03", "31"),
                   ScriptConstant("int", "AREA_TRANSITION_SEWER_04", "32"),
                   ScriptConstant("int", "AREA_TRANSITION_SEWER_05", "33"),
                   ScriptConstant("int", "AREA_TRANSITION_CASTLE_01", "34"),
                   ScriptConstant("int", "AREA_TRANSITION_CASTLE_02", "35"),
                   ScriptConstant("int", "AREA_TRANSITION_CASTLE_03", "36"),
                   ScriptConstant("int", "AREA_TRANSITION_CASTLE_04", "37"),
                   ScriptConstant("int", "AREA_TRANSITION_CASTLE_05", "38"),
                   ScriptConstant("int", "AREA_TRANSITION_CASTLE_06", "39"),
                   ScriptConstant("int", "AREA_TRANSITION_CASTLE_07", "40"),
                   ScriptConstant("int", "AREA_TRANSITION_CASTLE_08", "41"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_01", "42"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_02", "43"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_03", "44"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_04", "45"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_05", "46"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_06", "47"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_07", "48"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_08", "49"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_09", "50"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_10", "51"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_11", "52"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_12", "53"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_13", "54"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_14", "55"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_15", "56"),
                   ScriptConstant("int", "AREA_TRANSITION_INTERIOR_16", "57"),
                   ScriptConstant("int", "AREA_TRANSITION_FOREST_01", "58"),
                   ScriptConstant("int", "AREA_TRANSITION_FOREST_02", "59"),
                   ScriptConstant("int", "AREA_TRANSITION_FOREST_03", "60"),
                   ScriptConstant("int", "AREA_TRANSITION_FOREST_04", "61"),
                   ScriptConstant("int", "AREA_TRANSITION_FOREST_05", "62"),
                   ScriptConstant("int", "AREA_TRANSITION_RURAL_01", "63"),
                   ScriptConstant("int", "AREA_TRANSITION_RURAL_02", "64"),
                   ScriptConstant("int", "AREA_TRANSITION_RURAL_03", "65"),
                   ScriptConstant("int", "AREA_TRANSITION_RURAL_04", "66"),
                   ScriptConstant("int", "AREA_TRANSITION_RURAL_05", "67"),
                   ScriptConstant("int", "AREA_TRANSITION_CITY", "2"),
                   ScriptConstant("int", "AREA_TRANSITION_CRYPT", "7"),
                   ScriptConstant("int", "AREA_TRANSITION_FOREST", "58"),
                   ScriptConstant("int", "AREA_TRANSITION_RURAL", "63"), ScriptConstant("int", "BODY_NODE_HAND", "0"),
                   ScriptConstant("int", "BODY_NODE_CHEST", "1"), ScriptConstant("int", "BODY_NODE_HEAD", "2"),
                   ScriptConstant("int", "BODY_NODE_HAND_LEFT", "3"),
                   ScriptConstant("int", "BODY_NODE_HAND_RIGHT", "4"),
                   ScriptConstant("float", "RADIUS_SIZE_SMALL", "1.67f"),
                   ScriptConstant("float", "RADIUS_SIZE_MEDIUM", "3.33f"),
                   ScriptConstant("float", "RADIUS_SIZE_LARGE", "5.0f"),
                   ScriptConstant("float", "RADIUS_SIZE_HUGE", "6.67f"),
                   ScriptConstant("float", "RADIUS_SIZE_GARGANTUAN", "8.33f"),
                   ScriptConstant("float", "RADIUS_SIZE_COLOSSAL", "10.0f"),
                   ScriptConstant("int", "EFFECT_TYPE_INVALIDEFFECT", "0"),
                   ScriptConstant("int", "EFFECT_TYPE_DAMAGE_RESISTANCE", "1"),
                   ScriptConstant("int", "EFFECT_TYPE_REGENERATE", "3"),
                   ScriptConstant("int", "EFFECT_TYPE_DAMAGE_REDUCTION", "7"),
                   ScriptConstant("int", "EFFECT_TYPE_TEMPORARY_HITPOINTS", "9"),
                   ScriptConstant("int", "EFFECT_TYPE_ENTANGLE", "11"),
                   ScriptConstant("int", "EFFECT_TYPE_INVULNERABLE", "12"),
                   ScriptConstant("int", "EFFECT_TYPE_DEAF", "13"),
                   ScriptConstant("int", "EFFECT_TYPE_RESURRECTION", "14"),
                   ScriptConstant("int", "EFFECT_TYPE_IMMUNITY", "15"),
                   ScriptConstant("int", "EFFECT_TYPE_ENEMY_ATTACK_BONUS", "17"),
                   ScriptConstant("int", "EFFECT_TYPE_ARCANE_SPELL_FAILURE", "18"),
                   ScriptConstant("int", "EFFECT_TYPE_AREA_OF_EFFECT", "20"),
                   ScriptConstant("int", "EFFECT_TYPE_BEAM", "21"), ScriptConstant("int", "EFFECT_TYPE_CHARMED", "23"),
                   ScriptConstant("int", "EFFECT_TYPE_CONFUSED", "24"),
                   ScriptConstant("int", "EFFECT_TYPE_FRIGHTENED", "25"),
                   ScriptConstant("int", "EFFECT_TYPE_DOMINATED", "26"),
                   ScriptConstant("int", "EFFECT_TYPE_PARALYZE", "27"),
                   ScriptConstant("int", "EFFECT_TYPE_DAZED", "28"), ScriptConstant("int", "EFFECT_TYPE_STUNNED", "29"),
                   ScriptConstant("int", "EFFECT_TYPE_SLEEP", "30"), ScriptConstant("int", "EFFECT_TYPE_POISON", "31"),
                   ScriptConstant("int", "EFFECT_TYPE_DISEASE", "32"), ScriptConstant("int", "EFFECT_TYPE_CURSE", "33"),
                   ScriptConstant("int", "EFFECT_TYPE_SILENCE", "34"),
                   ScriptConstant("int", "EFFECT_TYPE_TURNED", "35"), ScriptConstant("int", "EFFECT_TYPE_HASTE", "36"),
                   ScriptConstant("int", "EFFECT_TYPE_SLOW", "37"),
                   ScriptConstant("int", "EFFECT_TYPE_ABILITY_INCREASE", "38"),
                   ScriptConstant("int", "EFFECT_TYPE_ABILITY_DECREASE", "39"),
                   ScriptConstant("int", "EFFECT_TYPE_ATTACK_INCREASE", "40"),
                   ScriptConstant("int", "EFFECT_TYPE_ATTACK_DECREASE", "41"),
                   ScriptConstant("int", "EFFECT_TYPE_DAMAGE_INCREASE", "42"),
                   ScriptConstant("int", "EFFECT_TYPE_DAMAGE_DECREASE", "43"),
                   ScriptConstant("int", "EFFECT_TYPE_DAMAGE_IMMUNITY_INCREASE", "44"),
                   ScriptConstant("int", "EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE", "45"),
                   ScriptConstant("int", "EFFECT_TYPE_AC_INCREASE", "46"),
                   ScriptConstant("int", "EFFECT_TYPE_AC_DECREASE", "47"),
                   ScriptConstant("int", "EFFECT_TYPE_MOVEMENT_SPEED_INCREASE", "48"),
                   ScriptConstant("int", "EFFECT_TYPE_MOVEMENT_SPEED_DECREASE", "49"),
                   ScriptConstant("int", "EFFECT_TYPE_SAVING_THROW_INCREASE", "50"),
                   ScriptConstant("int", "EFFECT_TYPE_SAVING_THROW_DECREASE", "51"),
                   ScriptConstant("int", "EFFECT_TYPE_FORCE_RESISTANCE_INCREASE", "52"),
                   ScriptConstant("int", "EFFECT_TYPE_FORCE_RESISTANCE_DECREASE", "53"),
                   ScriptConstant("int", "EFFECT_TYPE_SKILL_INCREASE", "54"),
                   ScriptConstant("int", "EFFECT_TYPE_SKILL_DECREASE", "55"),
                   ScriptConstant("int", "EFFECT_TYPE_INVISIBILITY", "56"),
                   ScriptConstant("int", "EFFECT_TYPE_IMPROVEDINVISIBILITY", "57"),
                   ScriptConstant("int", "EFFECT_TYPE_DARKNESS", "58"),
                   ScriptConstant("int", "EFFECT_TYPE_DISPELMAGICALL", "59"),
                   ScriptConstant("int", "EFFECT_TYPE_ELEMENTALSHIELD", "60"),
                   ScriptConstant("int", "EFFECT_TYPE_NEGATIVELEVEL", "61"),
                   ScriptConstant("int", "EFFECT_TYPE_DISGUISE", "62"),
                   ScriptConstant("int", "EFFECT_TYPE_SANCTUARY", "63"),
                   ScriptConstant("int", "EFFECT_TYPE_TRUESEEING", "64"),
                   ScriptConstant("int", "EFFECT_TYPE_SEEINVISIBLE", "65"),
                   ScriptConstant("int", "EFFECT_TYPE_TIMESTOP", "66"),
                   ScriptConstant("int", "EFFECT_TYPE_BLINDNESS", "67"),
                   ScriptConstant("int", "EFFECT_TYPE_SPELLLEVELABSORPTION", "68"),
                   ScriptConstant("int", "EFFECT_TYPE_DISPELMAGICBEST", "69"),
                   ScriptConstant("int", "EFFECT_TYPE_ULTRAVISION", "70"),
                   ScriptConstant("int", "EFFECT_TYPE_MISS_CHANCE", "71"),
                   ScriptConstant("int", "EFFECT_TYPE_CONCEALMENT", "72"),
                   ScriptConstant("int", "EFFECT_TYPE_SPELL_IMMUNITY", "73"),
                   ScriptConstant("int", "EFFECT_TYPE_ASSUREDHIT", "74"),
                   ScriptConstant("int", "EFFECT_TYPE_VISUAL", "75"),
                   ScriptConstant("int", "EFFECT_TYPE_LIGHTSABERTHROW", "76"),
                   ScriptConstant("int", "EFFECT_TYPE_FORCEJUMP", "77"),
                   ScriptConstant("int", "EFFECT_TYPE_ASSUREDDEFLECTION", "78"),
                   ScriptConstant("int", "ITEM_PROPERTY_ABILITY_BONUS", "0"),
                   ScriptConstant("int", "ITEM_PROPERTY_AC_BONUS", "1"),
                   ScriptConstant("int", "ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP", "2"),
                   ScriptConstant("int", "ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE", "3"),
                   ScriptConstant("int", "ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP", "4"),
                   ScriptConstant("int", "ITEM_PROPERTY_ENHANCEMENT_BONUS", "5"),
                   ScriptConstant("int", "ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP", "6"),
                   ScriptConstant("int", "ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP", "7"),
                   ScriptConstant("int", "ITEM_PROPERTY_ATTACK_PENALTY", "8"),
                   ScriptConstant("int", "ITEM_PROPERTY_BONUS_FEAT", "9"),
                   ScriptConstant("int", "ITEM_PROPERTY_ACTIVATE_ITEM", "10"),
                   ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_BONUS", "11"),
                   ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP", "12"),
                   ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP", "13"),
                   ScriptConstant("int", "ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE", "14"),
                   ScriptConstant("int", "ITEM_PROPERTY_DECREASED_DAMAGE", "15"),
                   ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_REDUCTION", "16"),
                   ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_RESISTANCE", "17"),
                   ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_VULNERABILITY", "18"),
                   ScriptConstant("int", "ITEM_PROPERTY_DECREASED_ABILITY_SCORE", "19"),
                   ScriptConstant("int", "ITEM_PROPERTY_DECREASED_AC", "20"),
                   ScriptConstant("int", "ITEM_PROPERTY_DECREASED_SKILL_MODIFIER", "21"),
                   ScriptConstant("int", "ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE", "22"),
                   ScriptConstant("int", "ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE", "23"),
                   ScriptConstant("int", "ITEM_PROPERTY_IMMUNITY", "24"),
                   ScriptConstant("int", "ITEM_PROPERTY_IMPROVED_FORCE_RESISTANCE", "25"),
                   ScriptConstant("int", "ITEM_PROPERTY_IMPROVED_SAVING_THROW", "26"),
                   ScriptConstant("int", "ITEM_PROPERTY_IMPROVED_SAVING_THROW_SPECIFIC", "27"),
                   ScriptConstant("int", "ITEM_PROPERTY_KEEN", "28"),
                   ScriptConstant("int", "ITEM_PROPERTY_LIGHT", "29"),
                   ScriptConstant("int", "ITEM_PROPERTY_MIGHTY", "30"),
                   ScriptConstant("int", "ITEM_PROPERTY_NO_DAMAGE", "31"),
                   ScriptConstant("int", "ITEM_PROPERTY_ON_HIT_PROPERTIES", "32"),
                   ScriptConstant("int", "ITEM_PROPERTY_DECREASED_SAVING_THROWS", "33"),
                   ScriptConstant("int", "ITEM_PROPERTY_DECREASED_SAVING_THROWS_SPECIFIC", "34"),
                   ScriptConstant("int", "ITEM_PROPERTY_REGENERATION", "35"),
                   ScriptConstant("int", "ITEM_PROPERTY_SKILL_BONUS", "36"),
                   ScriptConstant("int", "ITEM_PROPERTY_SECURITY_SPIKE", "37"),
                   ScriptConstant("int", "ITEM_PROPERTY_ATTACK_BONUS", "38"),
                   ScriptConstant("int", "ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP", "39"),
                   ScriptConstant("int", "ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP", "40"),
                   ScriptConstant("int", "ITEM_PROPERTY_DECREASED_ATTACK_MODIFIER", "41"),
                   ScriptConstant("int", "ITEM_PROPERTY_UNLIMITED_AMMUNITION", "42"),
                   ScriptConstant("int", "ITEM_PROPERTY_USE_LIMITATION_ALIGNMENT_GROUP", "43"),
                   ScriptConstant("int", "ITEM_PROPERTY_USE_LIMITATION_CLASS", "44"),
                   ScriptConstant("int", "ITEM_PROPERTY_USE_LIMITATION_RACIAL_TYPE", "45"),
                   ScriptConstant("int", "ITEM_PROPERTY_TRAP", "46"),
                   ScriptConstant("int", "ITEM_PROPERTY_TRUE_SEEING", "47"),
                   ScriptConstant("int", "ITEM_PROPERTY_ON_MONSTER_HIT", "48"),
                   ScriptConstant("int", "ITEM_PROPERTY_MASSIVE_CRITICALS", "49"),
                   ScriptConstant("int", "ITEM_PROPERTY_FREEDOM_OF_MOVEMENT", "50"),
                   ScriptConstant("int", "ITEM_PROPERTY_MONSTER_DAMAGE", "51"),
                   ScriptConstant("int", "ITEM_PROPERTY_SPECIAL_WALK", "52"),
                   ScriptConstant("int", "ITEM_PROPERTY_COMPUTER_SPIKE", "53"),
                   ScriptConstant("int", "ITEM_PROPERTY_REGENERATION_FORCE_POINTS", "54"),
                   ScriptConstant("int", "ITEM_PROPERTY_BLASTER_BOLT_DEFLECT_INCREASE", "55"),
                   ScriptConstant("int", "ITEM_PROPERTY_BLASTER_BOLT_DEFLECT_DECREASE", "56"),
                   ScriptConstant("int", "ITEM_PROPERTY_USE_LIMITATION_FEAT", "57"),
                   ScriptConstant("int", "ITEM_PROPERTY_DROID_REPAIR_KIT", "58"),
                   ScriptConstant("int", "BASE_ITEM_QUARTER_STAFF", "0"),
                   ScriptConstant("int", "BASE_ITEM_STUN_BATON", "1"),
                   ScriptConstant("int", "BASE_ITEM_LONG_SWORD", "2"),
                   ScriptConstant("int", "BASE_ITEM_VIBRO_SWORD", "3"),
                   ScriptConstant("int", "BASE_ITEM_SHORT_SWORD", "4"),
                   ScriptConstant("int", "BASE_ITEM_VIBRO_BLADE", "5"),
                   ScriptConstant("int", "BASE_ITEM_DOUBLE_BLADED_SWORD", "6"),
                   ScriptConstant("int", "BASE_ITEM_VIBRO_DOUBLE_BLADE", "7"),
                   ScriptConstant("int", "BASE_ITEM_LIGHTSABER", "8"),
                   ScriptConstant("int", "BASE_ITEM_DOUBLE_BLADED_LIGHTSABER", "9"),
                   ScriptConstant("int", "BASE_ITEM_SHORT_LIGHTSABER", "10"),
                   ScriptConstant("int", "BASE_ITEM_LIGHTSABER_CRYSTALS", "11"),
                   ScriptConstant("int", "BASE_ITEM_BLASTER_PISTOL", "12"),
                   ScriptConstant("int", "BASE_ITEM_HEAVY_BLASTER", "13"),
                   ScriptConstant("int", "BASE_ITEM_HOLD_OUT_BLASTER", "14"),
                   ScriptConstant("int", "BASE_ITEM_ION_BLASTER", "15"),
                   ScriptConstant("int", "BASE_ITEM_DISRUPTER_PISTOL", "16"),
                   ScriptConstant("int", "BASE_ITEM_SONIC_PISTOL", "17"),
                   ScriptConstant("int", "BASE_ITEM_ION_RIFLE", "18"),
                   ScriptConstant("int", "BASE_ITEM_BOWCASTER", "19"),
                   ScriptConstant("int", "BASE_ITEM_BLASTER_CARBINE", "20"),
                   ScriptConstant("int", "BASE_ITEM_DISRUPTER_RIFLE", "21"),
                   ScriptConstant("int", "BASE_ITEM_SONIC_RIFLE", "22"),
                   ScriptConstant("int", "BASE_ITEM_REPEATING_BLASTER", "23"),
                   ScriptConstant("int", "BASE_ITEM_HEAVY_REPEATING_BLASTER", "24"),
                   ScriptConstant("int", "BASE_ITEM_FRAGMENTATION_GRENADES", "25"),
                   ScriptConstant("int", "BASE_ITEM_STUN_GRENADES", "26"),
                   ScriptConstant("int", "BASE_ITEM_THERMAL_DETONATOR", "27"),
                   ScriptConstant("int", "BASE_ITEM_POISON_GRENADE", "28"),
                   ScriptConstant("int", "BASE_ITEM_FLASH_GRENADE", "29"),
                   ScriptConstant("int", "BASE_ITEM_SONIC_GRENADE", "30"),
                   ScriptConstant("int", "BASE_ITEM_ADHESIVE_GRENADE", "31"),
                   ScriptConstant("int", "BASE_ITEM_CRYOBAN_GRENADE", "32"),
                   ScriptConstant("int", "BASE_ITEM_FIRE_GRENADE", "33"),
                   ScriptConstant("int", "BASE_ITEM_ION_GRENADE", "34"),
                   ScriptConstant("int", "BASE_ITEM_JEDI_ROBE", "35"),
                   ScriptConstant("int", "BASE_ITEM_JEDI_KNIGHT_ROBE", "36"),
                   ScriptConstant("int", "BASE_ITEM_JEDI_MASTER_ROBE", "37"),
                   ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_4", "38"),
                   ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_5", "39"),
                   ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_6", "40"),
                   ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_7", "41"),
                   ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_8", "42"),
                   ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_9", "43"),
                   ScriptConstant("int", "BASE_ITEM_MASK", "44"), ScriptConstant("int", "BASE_ITEM_GAUNTLETS", "45"),
                   ScriptConstant("int", "BASE_ITEM_FOREARM_BANDS", "46"),
                   ScriptConstant("int", "BASE_ITEM_BELT", "47"), ScriptConstant("int", "BASE_ITEM_IMPLANT_1", "48"),
                   ScriptConstant("int", "BASE_ITEM_IMPLANT_2", "49"),
                   ScriptConstant("int", "BASE_ITEM_IMPLANT_3", "50"),
                   ScriptConstant("int", "BASE_ITEM_DATA_PAD", "52"),
                   ScriptConstant("int", "BASE_ITEM_ADRENALINE", "53"),
                   ScriptConstant("int", "BASE_ITEM_COMBAT_SHOTS", "54"),
                   ScriptConstant("int", "BASE_ITEM_MEDICAL_EQUIPMENT", "55"),
                   ScriptConstant("int", "BASE_ITEM_DROID_REPAIR_EQUIPMENT", "56"),
                   ScriptConstant("int", "BASE_ITEM_CREDITS", "57"), ScriptConstant("int", "BASE_ITEM_TRAP_KIT", "58"),
                   ScriptConstant("int", "BASE_ITEM_SECURITY_SPIKES", "59"),
                   ScriptConstant("int", "BASE_ITEM_PROGRAMMING_SPIKES", "60"),
                   ScriptConstant("int", "BASE_ITEM_GLOW_ROD", "61"),
                   ScriptConstant("int", "BASE_ITEM_COLLAR_LIGHT", "62"),
                   ScriptConstant("int", "BASE_ITEM_TORCH", "63"),
                   ScriptConstant("int", "BASE_ITEM_PLOT_USEABLE_ITEMS", "64"),
                   ScriptConstant("int", "BASE_ITEM_AESTHETIC_ITEM", "65"),
                   ScriptConstant("int", "BASE_ITEM_DROID_LIGHT_PLATING", "66"),
                   ScriptConstant("int", "BASE_ITEM_DROID_MEDIUM_PLATING", "67"),
                   ScriptConstant("int", "BASE_ITEM_DROID_HEAVY_PLATING", "68"),
                   ScriptConstant("int", "BASE_ITEM_DROID_SEARCH_SCOPE", "69"),
                   ScriptConstant("int", "BASE_ITEM_DROID_MOTION_SENSORS", "70"),
                   ScriptConstant("int", "BASE_ITEM_DROID_SONIC_SENSORS", "71"),
                   ScriptConstant("int", "BASE_ITEM_DROID_TARGETING_COMPUTERS", "72"),
                   ScriptConstant("int", "BASE_ITEM_DROID_COMPUTER_SPIKE_MOUNT", "73"),
                   ScriptConstant("int", "BASE_ITEM_DROID_SECURITY_SPIKE_MOUNT", "74"),
                   ScriptConstant("int", "BASE_ITEM_DROID_SHIELD", "75"),
                   ScriptConstant("int", "BASE_ITEM_DROID_UTILITY_DEVICE", "76"),
                   ScriptConstant("int", "BASE_ITEM_BLASTER_RIFLE", "77"),
                   ScriptConstant("int", "BASE_ITEM_GHAFFI_STICK", "78"),
                   ScriptConstant("int", "BASE_ITEM_WOOKIE_WARBLADE", "79"),
                   ScriptConstant("int", "BASE_ITEM_GAMMOREAN_BATTLEAXE", "80"),
                   ScriptConstant("int", "BASE_ITEM_CREATURE_ITEM_SLASH", "81"),
                   ScriptConstant("int", "BASE_ITEM_CREATURE_ITEM_PIERCE", "82"),
                   ScriptConstant("int", "BASE_ITEM_CREATURE_WEAPON_SL_PRC", "83"),
                   ScriptConstant("int", "BASE_ITEM_CREATURE_HIDE_ITEM", "84"),
                   ScriptConstant("int", "BASE_ITEM_BASIC_CLOTHING", "85"),
                   ScriptConstant("int", "BASE_ITEM_INVALID", "256"),
                   ScriptConstant("int", "ATTACK_RESULT_INVALID", "0"),
                   ScriptConstant("int", "ATTACK_RESULT_HIT_SUCCESSFUL", "1"),
                   ScriptConstant("int", "ATTACK_RESULT_CRITICAL_HIT", "2"),
                   ScriptConstant("int", "ATTACK_RESULT_AUTOMATIC_HIT", "3"),
                   ScriptConstant("int", "ATTACK_RESULT_MISS", "4"),
                   ScriptConstant("int", "ATTACK_RESULT_ATTACK_RESISTED", "5"),
                   ScriptConstant("int", "ATTACK_RESULT_ATTACK_FAILED", "6"),
                   ScriptConstant("int", "ATTACK_RESULT_PARRIED", "8"),
                   ScriptConstant("int", "ATTACK_RESULT_DEFLECTED", "9"), ScriptConstant("int", "VFX_NONE", "-1"),
                   ScriptConstant("int", "VFX_IMP_HEALING_SMALL", "1001"),
                   ScriptConstant("int", "VFX_IMP_FORCE_JUMP_ADVANCED", "1002"),
                   ScriptConstant("int", "VFX_PRO_AFFLICT", "1003"), ScriptConstant("int", "VFX_IMP_CHOKE", "1004"),
                   ScriptConstant("int", "VFX_IMP_CURE", "1005"), ScriptConstant("int", "VFX_PRO_DEATH_FIELD", "1006"),
                   ScriptConstant("int", "VFX_PRO_DROID_DISABLE", "1007"),
                   ScriptConstant("int", "VFX_PRO_DROID_KILL", "1008"), ScriptConstant("int", "VFX_PRO_DRAIN", "1009"),
                   ScriptConstant("int", "VFX_PRO_FORCE_ARMOR", "1010"),
                   ScriptConstant("int", "VFX_PRO_FORCE_AURA", "1011"),
                   ScriptConstant("int", "VFX_IMP_FORCE_BREACH", "1012"),
                   ScriptConstant("int", "VFX_IMP_FORCE_PUSH", "1014"),
                   ScriptConstant("int", "VFX_PRO_FORCE_SHIELD", "1015"),
                   ScriptConstant("int", "VFX_IMP_FORCE_WAVE", "1017"),
                   ScriptConstant("int", "VFX_IMP_FORCE_WHIRLWIND", "1018"),
                   ScriptConstant("int", "VFX_IMP_HEAL", "1019"), ScriptConstant("int", "VFX_IMP_SPEED_KNIGHT", "1020"),
                   ScriptConstant("int", "VFX_PRO_LIGHTNING_L", "1021"),
                   ScriptConstant("int", "VFX_IMP_SPEED_MASTERY", "1022"),
                   ScriptConstant("int", "VFX_PRO_RESIST_ELEMENTS", "1025"),
                   ScriptConstant("int", "VFX_PRO_RESIST_FORCE", "1026"),
                   ScriptConstant("int", "VFX_PRO_RESIST_POISON", "1027"),
                   ScriptConstant("int", "VFX_PRO_LIGHTNING_S", "1028"),
                   ScriptConstant("int", "VFX_IMP_MIND_FORCE", "1031"),
                   ScriptConstant("int", "VFX_IMP_SUPPRESS_FORCE", "1032"),
                   ScriptConstant("int", "VFX_IMP_MIND_KINIGHT", "1033"),
                   ScriptConstant("int", "VFX_IMP_MIND_MASTERY", "1034"),
                   ScriptConstant("int", "VFX_PRO_LIGHTNING_JEDI", "1035"),
                   ScriptConstant("int", "VFX_PRO_LIGHTNING_L_SOUND", "1036"),
                   ScriptConstant("int", "VFX_IMP_GRENADE_ADHESIVE_PERSONAL", "1038"),
                   ScriptConstant("int", "VFX_IMP_FLAME", "1039"), ScriptConstant("int", "VFX_IMP_STUN", "1040"),
                   ScriptConstant("int", "VFX_DUR_STEALTH_PULSE", "2000"),
                   ScriptConstant("int", "VFX_DUR_INVISIBILITY", "2001"),
                   ScriptConstant("int", "VFX_DUR_SPEED", "2004"),
                   ScriptConstant("int", "VFX_DUR_FORCE_WHIRLWIND", "2007"),
                   ScriptConstant("int", "VFX_DUR_HOLD", "2008"), ScriptConstant("int", "VFX_DUR_BODY_FUAL", "2024"),
                   ScriptConstant("int", "VFX_DUR_PSYCHIC_STATIC", "2025"),
                   ScriptConstant("int", "VFX_BEAM_DEATH_FIELD_TENTACLE", "2026"),
                   ScriptConstant("int", "VFX_BEAM_DROID_DISABLE", "2027"),
                   ScriptConstant("int", "VFX_BEAM_DROID_DESTROY", "2028"),
                   ScriptConstant("int", "VFX_BEAM_DRAIN_LIFE", "2029"),
                   ScriptConstant("int", "VFX_DUR_KNIGHTS_SPEED", "2031"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_RED_MARK_I", "2032"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_RED_MARK_II", "2034"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_RED_MARK_IV", "2035"),
                   ScriptConstant("int", "VFX_BEAM_LIGHTNING_DARK_S", "2037"),
                   ScriptConstant("int", "VFX_BEAM_LIGHTNING_DARK_L", "2038"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_01", "2040"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_02", "2041"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_03", "2042"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_04", "2043"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_GREEN_01", "2044"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_RED_01", "2045"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_RED_02", "2046"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_CHROME_01", "2047"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_CHROME_02", "2048"),
                   ScriptConstant("int", "VFX_BEAM_ION_RAY_01", "2049"),
                   ScriptConstant("int", "VFX_BEAM_ION_RAY_02", "2050"),
                   ScriptConstant("int", "VFX_BEAM_COLD_RAY", "2051"),
                   ScriptConstant("int", "VFX_BEAM_STUN_RAY", "2052"),
                   ScriptConstant("int", "VFX_BEAM_FLAME_SPRAY", "2053"),
                   ScriptConstant("int", "VFX_DUR_CARBONITE_ENCASING", "2054"),
                   ScriptConstant("int", "VFX_DUR_CARBONITE_CHUNKS", "2055"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_MARK_I", "2056"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_MARK_II", "2058"),
                   ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_MARK_IV", "2059"),
                   ScriptConstant("int", "VFX_FNF_FORCE_WAVE", "3001"),
                   ScriptConstant("int", "VFX_FNF_PLOT_MAN_SONIC_WAVE", "3002"),
                   ScriptConstant("int", "VFX_FNF_GRENADE_FRAGMENTATION", "3003"),
                   ScriptConstant("int", "VFX_FNF_GRENADE_STUN", "3004"),
                   ScriptConstant("int", "VFX_FNF_GRENADE_THERMAL_DETONATOR", "3005"),
                   ScriptConstant("int", "VFX_FNF_GRENADE_POISON", "3006"),
                   ScriptConstant("int", "VFX_FNF_GRENADE_SONIC", "3007"),
                   ScriptConstant("int", "VFX_FNF_GRENADE_ADHESIVE", "3008"),
                   ScriptConstant("int", "VFX_FNF_GRENADE_CRYOBAN", "3009"),
                   ScriptConstant("int", "VFX_FNF_GRENADE_PLASMA", "3010"),
                   ScriptConstant("int", "VFX_FNF_GRENADE_ION", "3011"),
                   ScriptConstant("int", "VFX_FNF_GRAVITY_GENERATOR", "3013"),
                   ScriptConstant("int", "VFX_COM_SPARKS_LARGE", "4003"),
                   ScriptConstant("int", "VFX_COM_SPARKS_LIGHTSABER", "4004"),
                   ScriptConstant("int", "VFX_COM_SPARKS_PARRY_METAL", "4011"),
                   ScriptConstant("int", "VFX_COM_POWER_ATTACK_IMPROVED_STAFF", "4012"),
                   ScriptConstant("int", "VFX_COM_POWER_BLAST_IMPROVED", "4013"),
                   ScriptConstant("int", "VFX_COM_CRITICAL_STRIKE_IMPROVED_STAFF", "4014"),
                   ScriptConstant("int", "VFX_COM_SNIPER_SHOT_IMPROVED", "4015"),
                   ScriptConstant("int", "VFX_COM_MULTI_SHOT", "4016"),
                   ScriptConstant("int", "VFX_COM_WHIRLWIND_STRIKE_STAFF", "4017"),
                   ScriptConstant("int", "VFX_COM_CRITICAL_STRIKE_MASTERY_STAFF", "4018"),
                   ScriptConstant("int", "VFX_COM_POWER_ATTACK_MASTERY_STAFF", "4019"),
                   ScriptConstant("int", "VFX_COM_SNIPER_SHOT_MASTERY", "4020"),
                   ScriptConstant("int", "VFX_COM_FLURRY_IMPROVED_STAFF", "4021"),
                   ScriptConstant("int", "VFX_COM_RAPID_SHOT_IMPROVED", "4022"),
                   ScriptConstant("int", "VFX_COM_BLASTER_DEFLECTION", "4023"),
                   ScriptConstant("int", "VFX_COM_BLASTER_IMPACT", "4024"),
                   ScriptConstant("int", "VFX_COM_CRITICAL_STRIKE_IMPROVED_SABER", "4025"),
                   ScriptConstant("int", "VFX_COM_CRITICAL_STRIKE_MASTERY_SABER", "4026"),
                   ScriptConstant("int", "VFX_COM_POWER_ATTACK_IMPROVED_SABER", "4027"),
                   ScriptConstant("int", "VFX_COM_POWER_ATTACK_MASTERY_SABER", "4028"),
                   ScriptConstant("int", "VFX_COM_POWER_BLAST_MASTERY", "4029"),
                   ScriptConstant("int", "VFX_COM_FLURRY_IMPROVED_SABER", "4030"),
                   ScriptConstant("int", "VFX_COM_WHIRLWIND_STRIKE_SABER", "4031"),
                   ScriptConstant("int", "VFX_COM_BLASTER_IMPACT_GROUND", "4032"),
                   ScriptConstant("int", "VFX_COM_SPARKS_BLASTER", "4033"),
                   ScriptConstant("int", "VFX_COM_DROID_EXPLOSION_1", "4034"),
                   ScriptConstant("int", "VFX_COM_DROID_EXPLOSION_2", "4035"),
                   ScriptConstant("int", "VFX_COM_JEDI_FORCE_FIZZLE", "4036"),
                   ScriptConstant("int", "VFX_COM_FORCE_RESISTED", "4037"),
                   ScriptConstant("int", "VFX_ARD_LIGHT_YELLOW_10", "5000"),
                   ScriptConstant("int", "VFX_ARD_LIGHT_YELLOW_20", "5001"),
                   ScriptConstant("int", "VFX_ARD_LIGHT_BLIND", "5002"),
                   ScriptConstant("int", "VFX_ARD_HEAT_SHIMMER", "5003"), ScriptConstant("int", "VFX_IMP_MIRV", "6000"),
                   ScriptConstant("int", "VFX_IMP_MIRV_IMPACT", "6001"),
                   ScriptConstant("int", "VFX_IMP_SCREEN_SHAKE", "6002"), ScriptConstant("int", "AOE_PER_FOGACID", "0"),
                   ScriptConstant("int", "AOE_PER_FOGFIRE", "1"), ScriptConstant("int", "AOE_PER_FOGSTINK", "2"),
                   ScriptConstant("int", "AOE_PER_FOGKILL", "3"), ScriptConstant("int", "AOE_PER_FOGMIND", "4"),
                   ScriptConstant("int", "AOE_PER_WALLFIRE", "5"), ScriptConstant("int", "AOE_PER_WALLWIND", "6"),
                   ScriptConstant("int", "AOE_PER_WALLBLADE", "7"), ScriptConstant("int", "AOE_PER_WEB", "8"),
                   ScriptConstant("int", "AOE_PER_ENTANGLE", "9"), ScriptConstant("int", "AOE_PER_DARKNESS", "11"),
                   ScriptConstant("int", "AOE_MOB_CIRCEVIL", "12"), ScriptConstant("int", "AOE_MOB_CIRCGOOD", "13"),
                   ScriptConstant("int", "AOE_MOB_CIRCLAW", "14"), ScriptConstant("int", "AOE_MOB_CIRCCHAOS", "15"),
                   ScriptConstant("int", "AOE_MOB_FEAR", "16"), ScriptConstant("int", "AOE_MOB_BLINDING", "17"),
                   ScriptConstant("int", "AOE_MOB_UNEARTHLY", "18"), ScriptConstant("int", "AOE_MOB_MENACE", "19"),
                   ScriptConstant("int", "AOE_MOB_UNNATURAL", "20"), ScriptConstant("int", "AOE_MOB_STUN", "21"),
                   ScriptConstant("int", "AOE_MOB_PROTECTION", "22"), ScriptConstant("int", "AOE_MOB_FIRE", "23"),
                   ScriptConstant("int", "AOE_MOB_FROST", "24"), ScriptConstant("int", "AOE_MOB_ELECTRICAL", "25"),
                   ScriptConstant("int", "AOE_PER_FOGGHOUL", "26"), ScriptConstant("int", "AOE_MOB_TYRANT_FOG", "27"),
                   ScriptConstant("int", "AOE_PER_STORM", "28"), ScriptConstant("int", "AOE_PER_INVIS_SPHERE", "29"),
                   ScriptConstant("int", "AOE_MOB_SILENCE", "30"),
                   ScriptConstant("int", "AOE_PER_DELAY_BLAST_FIREBALL", "31"),
                   ScriptConstant("int", "AOE_PER_GREASE", "32"), ScriptConstant("int", "AOE_PER_CREEPING_DOOM", "33"),
                   ScriptConstant("int", "AOE_PER_EVARDS_BLACK_TENTACLES", "34"),
                   ScriptConstant("int", "AOE_MOB_INVISIBILITY_PURGE", "35"),
                   ScriptConstant("int", "AOE_MOB_DRAGON_FEAR", "36"),
                   ScriptConstant("int", "FORCE_POWER_ALL_FORCE_POWERS", "-1"),
                   ScriptConstant("int", "FORCE_POWER_MASTER_ALTER", "0"),
                   ScriptConstant("int", "FORCE_POWER_MASTER_CONTROL", "1"),
                   ScriptConstant("int", "FORCE_POWER_MASTER_SENSE", "2"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_JUMP_ADVANCED", "3"),
                   ScriptConstant("int", "FORCE_POWER_LIGHT_SABER_THROW_ADVANCED", "4"),
                   ScriptConstant("int", "FORCE_POWER_REGNERATION_ADVANCED", "5"),
                   ScriptConstant("int", "FORCE_POWER_AFFECT_MIND", "6"),
                   ScriptConstant("int", "FORCE_POWER_AFFLICTION", "7"),
                   ScriptConstant("int", "FORCE_POWER_SPEED_BURST", "8"),
                   ScriptConstant("int", "FORCE_POWER_CHOKE", "9"), ScriptConstant("int", "FORCE_POWER_CURE", "10"),
                   ScriptConstant("int", "FORCE_POWER_DEATH_FIELD", "11"),
                   ScriptConstant("int", "FORCE_POWER_DROID_DISABLE", "12"),
                   ScriptConstant("int", "FORCE_POWER_DROID_DESTROY", "13"),
                   ScriptConstant("int", "FORCE_POWER_DOMINATE", "14"),
                   ScriptConstant("int", "FORCE_POWER_DRAIN_LIFE", "15"),
                   ScriptConstant("int", "FORCE_POWER_FEAR", "16"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_ARMOR", "17"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_AURA", "18"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_BREACH", "19"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_IMMUNITY", "20"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_JUMP", "21"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_MIND", "22"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_PUSH", "23"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_SHIELD", "24"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_STORM", "25"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_WAVE", "26"),
                   ScriptConstant("int", "FORCE_POWER_FORCE_WHIRLWIND", "27"),
                   ScriptConstant("int", "FORCE_POWER_HEAL", "28"), ScriptConstant("int", "FORCE_POWER_HOLD", "29"),
                   ScriptConstant("int", "FORCE_POWER_HORROR", "30"),
                   ScriptConstant("int", "FORCE_POWER_INSANITY", "31"), ScriptConstant("int", "FORCE_POWER_KILL", "32"),
                   ScriptConstant("int", "FORCE_POWER_KNIGHT_MIND", "33"),
                   ScriptConstant("int", "FORCE_POWER_KNIGHT_SPEED", "34"),
                   ScriptConstant("int", "FORCE_POWER_LIGHTNING", "35"),
                   ScriptConstant("int", "FORCE_POWER_MIND_MASTERY", "36"),
                   ScriptConstant("int", "FORCE_POWER_SPEED_MASTERY", "37"),
                   ScriptConstant("int", "FORCE_POWER_PLAGUE", "38"),
                   ScriptConstant("int", "FORCE_POWER_REGENERATION", "39"),
                   ScriptConstant("int", "FORCE_POWER_RESIST_COLD_HEAT_ENERGY", "40"),
                   ScriptConstant("int", "FORCE_POWER_RESIST_FORCE", "41"),
                   ScriptConstant("int", "FORCE_POWER_RESIST_POISON_DISEASE_SONIC", "42"),
                   ScriptConstant("int", "FORCE_POWER_SHOCK", "43"), ScriptConstant("int", "FORCE_POWER_SLEEP", "44"),
                   ScriptConstant("int", "FORCE_POWER_SLOW", "45"), ScriptConstant("int", "FORCE_POWER_STUN", "46"),
                   ScriptConstant("int", "FORCE_POWER_DROID_STUN", "47"),
                   ScriptConstant("int", "FORCE_POWER_SUPRESS_FORCE", "48"),
                   ScriptConstant("int", "FORCE_POWER_LIGHT_SABER_THROW", "49"),
                   ScriptConstant("int", "FORCE_POWER_WOUND", "50"),
                   ScriptConstant("int", "SPECIAL_ABILITY_BATTLE_MEDITATION", "51"),
                   ScriptConstant("int", "SPECIAL_ABILITY_BODY_FUEL", "52"),
                   ScriptConstant("int", "SPECIAL_ABILITY_COMBAT_REGENERATION", "53"),
                   ScriptConstant("int", "SPECIAL_ABILITY_WARRIOR_STANCE", "54"),
                   ScriptConstant("int", "SPECIAL_ABILITY_SENTINEL_STANCE", "55"),
                   ScriptConstant("int", "SPECIAL_ABILITY_DOMINATE_MIND", "56"),
                   ScriptConstant("int", "SPECIAL_ABILITY_PSYCHIC_STANCE", "57"),
                   ScriptConstant("int", "SPECIAL_ABILITY_CATHAR_REFLEXES", "58"),
                   ScriptConstant("int", "SPECIAL_ABILITY_ENHANCED_SENSES", "59"),
                   ScriptConstant("int", "SPECIAL_ABILITY_CAMOFLAGE", "60"),
                   ScriptConstant("int", "SPECIAL_ABILITY_TAUNT", "61"),
                   ScriptConstant("int", "SPECIAL_ABILITY_WHIRLING_DERVISH", "62"),
                   ScriptConstant("int", "SPECIAL_ABILITY_RAGE", "63"),
                   ScriptConstant("int", "POISON_ABILITY_SCORE_MILD", "0"),
                   ScriptConstant("int", "POISON_ABILITY_SCORE_AVERAGE", "1"),
                   ScriptConstant("int", "POISON_ABILITY_SCORE_VIRULENT", "2"),
                   ScriptConstant("int", "POISON_DAMAGE_MILD", "3"),
                   ScriptConstant("int", "POISON_DAMAGE_AVERAGE", "4"),
                   ScriptConstant("int", "POISON_DAMAGE_VIRULENT", "5"),
                   ScriptConstant("int", "CREATURE_TYPE_RACIAL_TYPE", "0"),
                   ScriptConstant("int", "CREATURE_TYPE_PLAYER_CHAR", "1"),
                   ScriptConstant("int", "CREATURE_TYPE_CLASS", "2"),
                   ScriptConstant("int", "CREATURE_TYPE_REPUTATION", "3"),
                   ScriptConstant("int", "CREATURE_TYPE_IS_ALIVE", "4"),
                   ScriptConstant("int", "CREATURE_TYPE_HAS_SPELL_EFFECT", "5"),
                   ScriptConstant("int", "CREATURE_TYPE_DOES_NOT_HAVE_SPELL_EFFECT", "6"),
                   ScriptConstant("int", "CREATURE_TYPE_PERCEPTION", "7"),
                   ScriptConstant("int", "REPUTATION_TYPE_FRIEND", "0"),
                   ScriptConstant("int", "REPUTATION_TYPE_ENEMY", "1"),
                   ScriptConstant("int", "REPUTATION_TYPE_NEUTRAL", "2"),
                   ScriptConstant("int", "PERCEPTION_SEEN_AND_HEARD", "0"),
                   ScriptConstant("int", "PERCEPTION_NOT_SEEN_AND_NOT_HEARD", "1"),
                   ScriptConstant("int", "PERCEPTION_HEARD_AND_NOT_SEEN", "2"),
                   ScriptConstant("int", "PERCEPTION_SEEN_AND_NOT_HEARD", "3"),
                   ScriptConstant("int", "PERCEPTION_NOT_HEARD", "4"), ScriptConstant("int", "PERCEPTION_HEARD", "5"),
                   ScriptConstant("int", "PERCEPTION_NOT_SEEN", "6"), ScriptConstant("int", "PERCEPTION_SEEN", "7"),
                   ScriptConstant("int", "PLAYER_CHAR_NOT_PC", "FALSE"),
                   ScriptConstant("int", "PLAYER_CHAR_IS_PC", "TRUE"), ScriptConstant("int", "CLASS_TYPE_SOLDIER", "0"),
                   ScriptConstant("int", "CLASS_TYPE_SCOUT", "1"), ScriptConstant("int", "CLASS_TYPE_SCOUNDREL", "2"),
                   ScriptConstant("int", "CLASS_TYPE_JEDIGUARDIAN", "3"),
                   ScriptConstant("int", "CLASS_TYPE_JEDICONSULAR", "4"),
                   ScriptConstant("int", "CLASS_TYPE_JEDISENTINEL", "5"),
                   ScriptConstant("int", "CLASS_TYPE_COMBATDROID", "6"),
                   ScriptConstant("int", "CLASS_TYPE_EXPERTDROID", "7"),
                   ScriptConstant("int", "CLASS_TYPE_MINION", "8"), ScriptConstant("int", "CLASS_TYPE_INVALID", "255"),
                   ScriptConstant("int", "PERSISTENT_ZONE_ACTIVE", "0"),
                   ScriptConstant("int", "PERSISTENT_ZONE_FOLLOW", "1"),
                   ScriptConstant("int", "INVALID_STANDARD_FACTION", "-1"),
                   ScriptConstant("int", "STANDARD_FACTION_HOSTILE_1", "1"),
                   ScriptConstant("int", "STANDARD_FACTION_FRIENDLY_1", "2"),
                   ScriptConstant("int", "STANDARD_FACTION_HOSTILE_2", "3"),
                   ScriptConstant("int", "STANDARD_FACTION_FRIENDLY_2", "4"),
                   ScriptConstant("int", "STANDARD_FACTION_NEUTRAL", "5"),
                   ScriptConstant("int", "STANDARD_FACTION_INSANE", "6"),
                   ScriptConstant("int", "STANDARD_FACTION_PTAT_TUSKAN", "7"),
                   ScriptConstant("int", "STANDARD_FACTION_GLB_XOR", "8"),
                   ScriptConstant("int", "STANDARD_FACTION_SURRENDER_1", "9"),
                   ScriptConstant("int", "STANDARD_FACTION_SURRENDER_2", "10"),
                   ScriptConstant("int", "STANDARD_FACTION_PREDATOR", "11"),
                   ScriptConstant("int", "STANDARD_FACTION_PREY", "12"),
                   ScriptConstant("int", "STANDARD_FACTION_TRAP", "13"),
                   ScriptConstant("int", "STANDARD_FACTION_ENDAR_SPIRE", "14"),
                   ScriptConstant("int", "STANDARD_FACTION_RANCOR", "15"),
                   ScriptConstant("int", "STANDARD_FACTION_GIZKA_1", "16"),
                   ScriptConstant("int", "STANDARD_FACTION_GIZKA_2", "17"),
                   ScriptConstant("int", "SKILL_COMPUTER_USE", "0"), ScriptConstant("int", "SKILL_DEMOLITIONS", "1"),
                   ScriptConstant("int", "SKILL_STEALTH", "2"), ScriptConstant("int", "SKILL_AWARENESS", "3"),
                   ScriptConstant("int", "SKILL_PERSUADE", "4"), ScriptConstant("int", "SKILL_REPAIR", "5"),
                   ScriptConstant("int", "SKILL_SECURITY", "6"), ScriptConstant("int", "SKILL_TREAT_INJURY", "7"),
                   ScriptConstant("int", "SKILL_MAX_SKILLS", "8"), ScriptConstant("int", "SUBSKILL_FLAGTRAP", "100"),
                   ScriptConstant("int", "SUBSKILL_RECOVERTRAP", "101"),
                   ScriptConstant("int", "SUBSKILL_EXAMINETRAP", "102"),
                   ScriptConstant("int", "FEAT_ADVANCED_JEDI_DEFENSE", "1"),
                   ScriptConstant("int", "FEAT_ADVANCED_GUARD_STANCE", "2"),
                   ScriptConstant("int", "FEAT_AMBIDEXTERITY", "3"),
                   ScriptConstant("int", "FEAT_ARMOUR_PROF_HEAVY", "4"),
                   ScriptConstant("int", "FEAT_ARMOUR_PROF_LIGHT", "5"),
                   ScriptConstant("int", "FEAT_ARMOUR_PROF_MEDIUM", "6"), ScriptConstant("int", "FEAT_CAUTIOUS", "7"),
                   ScriptConstant("int", "FEAT_CRITICAL_STRIKE", "8"),
                   ScriptConstant("int", "FEAT_DOUBLE_WEAPON_FIGHTING", "9"),
                   ScriptConstant("int", "FEAT_EMPATHY", "10"), ScriptConstant("int", "FEAT_FLURRY", "11"),
                   ScriptConstant("int", "FEAT_GEAR_HEAD", "12"), ScriptConstant("int", "FEAT_GREAT_FORTITUDE", "13"),
                   ScriptConstant("int", "FEAT_IMPLANT_LEVEL_1", "14"),
                   ScriptConstant("int", "FEAT_IMPLANT_LEVEL_2", "15"),
                   ScriptConstant("int", "FEAT_IMPLANT_LEVEL_3", "16"),
                   ScriptConstant("int", "FEAT_IMPROVED_POWER_ATTACK", "17"),
                   ScriptConstant("int", "FEAT_IMPROVED_POWER_BLAST", "18"),
                   ScriptConstant("int", "FEAT_IMPROVED_CRITICAL_STRIKE", "19"),
                   ScriptConstant("int", "FEAT_IMPROVED_SNIPER_SHOT", "20"),
                   ScriptConstant("int", "FEAT_IRON_WILL", "21"),
                   ScriptConstant("int", "FEAT_LIGHTNING_REFLEXES", "22"),
                   ScriptConstant("int", "FEAT_MASTER_JEDI_DEFENSE", "24"),
                   ScriptConstant("int", "FEAT_MASTER_GUARD_STANCE", "25"),
                   ScriptConstant("int", "FEAT_MULTI_SHOT", "26"), ScriptConstant("int", "FEAT_PERCEPTIVE", "27"),
                   ScriptConstant("int", "FEAT_POWER_ATTACK", "28"), ScriptConstant("int", "FEAT_POWER_BLAST", "29"),
                   ScriptConstant("int", "FEAT_RAPID_SHOT", "30"), ScriptConstant("int", "FEAT_SNIPER_SHOT", "31"),
                   ScriptConstant("int", "FEAT_WEAPON_FOCUS_BLASTER", "32"),
                   ScriptConstant("int", "FEAT_WEAPON_FOCUS_BLASTER_RIFLE", "33"),
                   ScriptConstant("int", "FEAT_WEAPON_FOCUS_GRENADE", "34"),
                   ScriptConstant("int", "FEAT_WEAPON_FOCUS_HEAVY_WEAPONS", "35"),
                   ScriptConstant("int", "FEAT_WEAPON_FOCUS_LIGHTSABER", "36"),
                   ScriptConstant("int", "FEAT_WEAPON_FOCUS_MELEE_WEAPONS", "37"),
                   ScriptConstant("int", "FEAT_WEAPON_FOCUS_SIMPLE_WEAPONS", "38"),
                   ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_BLASTER", "39"),
                   ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_BLASTER_RIFLE", "40"),
                   ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_GRENADE", "41"),
                   ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_HEAVY_WEAPONS", "42"),
                   ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_LIGHTSABER", "43"),
                   ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_MELEE_WEAPONS", "44"),
                   ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_SIMPLE_WEAPONS", "45"),
                   ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_BLASTER", "46"),
                   ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_BLASTER_RIFLE", "47"),
                   ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_GRENADE", "48"),
                   ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_HEAVY_WEAPONS", "49"),
                   ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_LIGHTSABER", "50"),
                   ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_MELEE_WEAPONS", "51"),
                   ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_SIMPLE_WEAPONS", "52"),
                   ScriptConstant("int", "FEAT_WHIRLWIND_ATTACK", "53"),
                   ScriptConstant("int", "FEAT_GUARD_STANCE", "54"), ScriptConstant("int", "FEAT_JEDI_DEFENSE", "55"),
                   ScriptConstant("int", "FEAT_UNCANNY_DODGE_1", "56"),
                   ScriptConstant("int", "FEAT_UNCANNY_DODGE_2", "57"),
                   ScriptConstant("int", "FEAT_SKILL_FOCUS_COMPUTER_USE", "58"),
                   ScriptConstant("int", "FEAT_SNEAK_ATTACK_1D6", "60"),
                   ScriptConstant("int", "FEAT_SNEAK_ATTACK_2D6", "61"),
                   ScriptConstant("int", "FEAT_SNEAK_ATTACK_3D6", "62"),
                   ScriptConstant("int", "FEAT_SNEAK_ATTACK_4D6", "63"),
                   ScriptConstant("int", "FEAT_SNEAK_ATTACK_5D6", "64"),
                   ScriptConstant("int", "FEAT_SNEAK_ATTACK_6D6", "65"),
                   ScriptConstant("int", "FEAT_SNEAK_ATTACK_7D6", "66"),
                   ScriptConstant("int", "FEAT_SNEAK_ATTACK_8D6", "67"),
                   ScriptConstant("int", "FEAT_SNEAK_ATTACK_9D6", "68"),
                   ScriptConstant("int", "FEAT_SNEAK_ATTACK_10D6", "69"),
                   ScriptConstant("int", "FEAT_SKILL_FOCUS_DEMOLITIONS", "70"),
                   ScriptConstant("int", "FEAT_SKILL_FOCUS_STEALTH", "71"),
                   ScriptConstant("int", "FEAT_SKILL_FOCUS_AWARENESS", "72"),
                   ScriptConstant("int", "FEAT_SKILL_FOCUS_PERSUADE", "73"),
                   ScriptConstant("int", "FEAT_SKILL_FOCUS_REPAIR", "74"),
                   ScriptConstant("int", "FEAT_SKILL_FOCUS_SECURITY", "75"),
                   ScriptConstant("int", "FEAT_SKILL_FOCUS_TREAT_INJUURY", "76"),
                   ScriptConstant("int", "FEAT_MASTER_SNIPER_SHOT", "77"),
                   ScriptConstant("int", "FEAT_DROID_UPGRADE_1", "78"),
                   ScriptConstant("int", "FEAT_DROID_UPGRADE_2", "79"),
                   ScriptConstant("int", "FEAT_DROID_UPGRADE_3", "80"),
                   ScriptConstant("int", "FEAT_MASTER_CRITICAL_STRIKE", "81"),
                   ScriptConstant("int", "FEAT_MASTER_POWER_BLAST", "82"),
                   ScriptConstant("int", "FEAT_MASTER_POWER_ATTACK", "83"),
                   ScriptConstant("int", "FEAT_TOUGHNESS", "84"),
                   ScriptConstant("int", "FEAT_ADVANCED_DOUBLE_WEAPON_FIGHTING", "85"),
                   ScriptConstant("int", "FEAT_FORCE_FOCUS_ALTER", "86"),
                   ScriptConstant("int", "FEAT_FORCE_FOCUS_CONTROL", "87"),
                   ScriptConstant("int", "FEAT_FORCE_FOCUS_SENSE", "88"),
                   ScriptConstant("int", "FEAT_FORCE_FOCUS_ADVANCED", "89"),
                   ScriptConstant("int", "FEAT_FORCE_FOCUS_MASTERY", "90"),
                   ScriptConstant("int", "FEAT_IMPROVED_FLURRY", "91"),
                   ScriptConstant("int", "FEAT_IMPROVED_RAPID_SHOT", "92"),
                   ScriptConstant("int", "FEAT_PROFICIENCY_ALL", "93"),
                   ScriptConstant("int", "FEAT_BATTLE_MEDITATION", "94"),
                   ScriptConstant("int", "SPECIAL_ATTACK_INVALID", "0"),
                   ScriptConstant("int", "SPECIAL_ATTACK_CALLED_SHOT_LEG", "1"),
                   ScriptConstant("int", "SPECIAL_ATTACK_CALLED_SHOT_ARM", "2"),
                   ScriptConstant("int", "SPECIAL_ATTACK_SAP", "3"),
                   ScriptConstant("int", "SPECIAL_ATTACK_DISARM", "4"),
                   ScriptConstant("int", "SPECIAL_ATTACK_IMPROVED_DISARM", "5"),
                   ScriptConstant("int", "SPECIAL_ATTACK_KNOCKDOWN", "6"),
                   ScriptConstant("int", "SPECIAL_ATTACK_IMPROVED_KNOCKDOWN", "7"),
                   ScriptConstant("int", "SPECIAL_ATTACK_STUNNING_FIST", "8"),
                   ScriptConstant("int", "SPECIAL_ATTACK_FLURRY_OF_BLOWS", "9"),
                   ScriptConstant("int", "SPECIAL_ATTACK_RAPID_SHOT", "10"),
                   ScriptConstant("int", "COMBAT_MODE_INVALID", "0"), ScriptConstant("int", "COMBAT_MODE_PARRY", "1"),
                   ScriptConstant("int", "COMBAT_MODE_POWER_ATTACK", "2"),
                   ScriptConstant("int", "COMBAT_MODE_IMPROVED_POWER_ATTACK", "3"),
                   ScriptConstant("int", "COMBAT_MODE_FLURRY_OF_BLOWS", "4"),
                   ScriptConstant("int", "COMBAT_MODE_RAPID_SHOT", "5"),
                   ScriptConstant("int", "ENCOUNTER_DIFFICULTY_VERY_EASY", "0"),
                   ScriptConstant("int", "ENCOUNTER_DIFFICULTY_EASY", "1"),
                   ScriptConstant("int", "ENCOUNTER_DIFFICULTY_NORMAL", "2"),
                   ScriptConstant("int", "ENCOUNTER_DIFFICULTY_HARD", "3"),
                   ScriptConstant("int", "ENCOUNTER_DIFFICULTY_IMPOSSIBLE", "4"),
                   ScriptConstant("int", "ANIMATION_LOOPING_PAUSE", "0"),
                   ScriptConstant("int", "ANIMATION_LOOPING_PAUSE2", "1"),
                   ScriptConstant("int", "ANIMATION_LOOPING_LISTEN", "2"),
                   ScriptConstant("int", "ANIMATION_LOOPING_MEDITATE", "3"),
                   ScriptConstant("int", "ANIMATION_LOOPING_WORSHIP", "4"),
                   ScriptConstant("int", "ANIMATION_LOOPING_TALK_NORMAL", "5"),
                   ScriptConstant("int", "ANIMATION_LOOPING_TALK_PLEADING", "6"),
                   ScriptConstant("int", "ANIMATION_LOOPING_TALK_FORCEFUL", "7"),
                   ScriptConstant("int", "ANIMATION_LOOPING_TALK_LAUGHING", "8"),
                   ScriptConstant("int", "ANIMATION_LOOPING_TALK_SAD", "9"),
                   ScriptConstant("int", "ANIMATION_LOOPING_GET_LOW", "10"),
                   ScriptConstant("int", "ANIMATION_LOOPING_GET_MID", "11"),
                   ScriptConstant("int", "ANIMATION_LOOPING_PAUSE_TIRED", "12"),
                   ScriptConstant("int", "ANIMATION_LOOPING_PAUSE_DRUNK", "13"),
                   ScriptConstant("int", "ANIMATION_LOOPING_FLIRT", "14"),
                   ScriptConstant("int", "ANIMATION_LOOPING_USE_COMPUTER", "15"),
                   ScriptConstant("int", "ANIMATION_LOOPING_DANCE", "16"),
                   ScriptConstant("int", "ANIMATION_LOOPING_DANCE1", "17"),
                   ScriptConstant("int", "ANIMATION_LOOPING_HORROR", "18"),
                   ScriptConstant("int", "ANIMATION_LOOPING_READY", "19"),
                   ScriptConstant("int", "ANIMATION_LOOPING_DEACTIVATE", "20"),
                   ScriptConstant("int", "ANIMATION_LOOPING_SPASM", "21"),
                   ScriptConstant("int", "ANIMATION_LOOPING_SLEEP", "22"),
                   ScriptConstant("int", "ANIMATION_LOOPING_PRONE", "23"),
                   ScriptConstant("int", "ANIMATION_LOOPING_PAUSE3", "24"),
                   ScriptConstant("int", "ANIMATION_LOOPING_WELD", "25"),
                   ScriptConstant("int", "ANIMATION_LOOPING_DEAD", "26"),
                   ScriptConstant("int", "ANIMATION_LOOPING_TALK_INJURED", "27"),
                   ScriptConstant("int", "ANIMATION_LOOPING_LISTEN_INJURED", "28"),
                   ScriptConstant("int", "ANIMATION_LOOPING_TREAT_INJURED", "29"),
                   ScriptConstant("int", "ANIMATION_LOOPING_DEAD_PRONE", "30"),
                   ScriptConstant("int", "ANIMATION_LOOPING_KNEEL_TALK_ANGRY", "31"),
                   ScriptConstant("int", "ANIMATION_LOOPING_KNEEL_TALK_SAD", "32"),
                   ScriptConstant("int", "ANIMATION_LOOPING_CHOKE", "116"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_HEAD_TURN_LEFT", "100"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_HEAD_TURN_RIGHT", "101"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD", "102"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_PAUSE_BORED", "103"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_SALUTE", "104"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_BOW", "105"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_GREETING", "106"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_TAUNT", "107"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_VICTORY1", "108"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_VICTORY2", "109"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_VICTORY3", "110"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_INJECT", "112"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_USE_COMPUTER", "113"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_PERSUADE", "114"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_ACTIVATE", "115"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_CHOKE", "116"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_THROW_HIGH", "117"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_THROW_LOW", "118"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_CUSTOM01", "119"),
                   ScriptConstant("int", "ANIMATION_FIREFORGET_TREAT_INJURED", "120"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ACTIVATE", "200"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_DEACTIVATE", "201"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_OPEN", "202"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_CLOSE", "203"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP01", "204"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP02", "205"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP03", "206"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP04", "207"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP05", "208"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP06", "209"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP07", "210"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP08", "211"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP09", "212"),
                   ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP10", "213"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP01", "1"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP02", "2"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP03", "3"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP04", "4"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP05", "5"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP06", "6"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP07", "7"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP08", "8"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP09", "9"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP10", "10"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP11", "11"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP12", "12"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP13", "13"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP14", "14"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP15", "15"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP16", "16"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP17", "17"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP18", "18"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP19", "19"),
                   ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP20", "20"),
                   ScriptConstant("int", "TALENT_TYPE_FORCE", "0"), ScriptConstant("int", "TALENT_TYPE_SPELL", "0"),
                   ScriptConstant("int", "TALENT_TYPE_FEAT", "1"), ScriptConstant("int", "TALENT_TYPE_SKILL", "2"),
                   ScriptConstant("int", "TALENT_EXCLUDE_ALL_OF_TYPE", "-1"),
                   ScriptConstant("int", "INVENTORY_DISTURB_TYPE_ADDED", "0"),
                   ScriptConstant("int", "INVENTORY_DISTURB_TYPE_REMOVED", "1"),
                   ScriptConstant("int", "INVENTORY_DISTURB_TYPE_STOLEN", "2"),
                   ScriptConstant("int", "GUI_PANEL_PLAYER_DEATH", "0"),
                   ScriptConstant("int", "POLYMORPH_TYPE_WEREWOLF", "0"),
                   ScriptConstant("int", "POLYMORPH_TYPE_WERERAT", "1"),
                   ScriptConstant("int", "POLYMORPH_TYPE_WERECAT", "2"),
                   ScriptConstant("int", "POLYMORPH_TYPE_GIANT_SPIDER", "3"),
                   ScriptConstant("int", "POLYMORPH_TYPE_TROLL", "4"),
                   ScriptConstant("int", "POLYMORPH_TYPE_UMBER_HULK", "5"),
                   ScriptConstant("int", "POLYMORPH_TYPE_PIXIE", "6"),
                   ScriptConstant("int", "POLYMORPH_TYPE_ZOMBIE", "7"),
                   ScriptConstant("int", "POLYMORPH_TYPE_RED_DRAGON", "8"),
                   ScriptConstant("int", "POLYMORPH_TYPE_FIRE_GIANT", "9"),
                   ScriptConstant("int", "POLYMORPH_TYPE_BALOR", "10"),
                   ScriptConstant("int", "POLYMORPH_TYPE_DEATH_SLAAD", "11"),
                   ScriptConstant("int", "POLYMORPH_TYPE_IRON_GOLEM", "12"),
                   ScriptConstant("int", "POLYMORPH_TYPE_HUGE_FIRE_ELEMENTAL", "13"),
                   ScriptConstant("int", "POLYMORPH_TYPE_HUGE_WATER_ELEMENTAL", "14"),
                   ScriptConstant("int", "POLYMORPH_TYPE_HUGE_EARTH_ELEMENTAL", "15"),
                   ScriptConstant("int", "POLYMORPH_TYPE_HUGE_AIR_ELEMENTAL", "16"),
                   ScriptConstant("int", "POLYMORPH_TYPE_ELDER_FIRE_ELEMENTAL", "17"),
                   ScriptConstant("int", "POLYMORPH_TYPE_ELDER_WATER_ELEMENTAL", "18"),
                   ScriptConstant("int", "POLYMORPH_TYPE_ELDER_EARTH_ELEMENTAL", "19"),
                   ScriptConstant("int", "POLYMORPH_TYPE_ELDER_AIR_ELEMENTAL", "20"),
                   ScriptConstant("int", "POLYMORPH_TYPE_BROWN_BEAR", "21"),
                   ScriptConstant("int", "POLYMORPH_TYPE_PANTHER", "22"),
                   ScriptConstant("int", "POLYMORPH_TYPE_WOLF", "23"),
                   ScriptConstant("int", "POLYMORPH_TYPE_BOAR", "24"),
                   ScriptConstant("int", "POLYMORPH_TYPE_BADGER", "25"),
                   ScriptConstant("int", "POLYMORPH_TYPE_PENGUIN", "26"),
                   ScriptConstant("int", "POLYMORPH_TYPE_COW", "27"),
                   ScriptConstant("int", "POLYMORPH_TYPE_DOOM_KNIGHT", "28"),
                   ScriptConstant("int", "POLYMORPH_TYPE_YUANTI", "29"),
                   ScriptConstant("int", "POLYMORPH_TYPE_IMP", "30"),
                   ScriptConstant("int", "POLYMORPH_TYPE_QUASIT", "31"),
                   ScriptConstant("int", "POLYMORPH_TYPE_SUCCUBUS", "32"),
                   ScriptConstant("int", "POLYMORPH_TYPE_DIRE_BROWN_BEAR", "33"),
                   ScriptConstant("int", "POLYMORPH_TYPE_DIRE_PANTHER", "34"),
                   ScriptConstant("int", "POLYMORPH_TYPE_DIRE_WOLF", "35"),
                   ScriptConstant("int", "POLYMORPH_TYPE_DIRE_BOAR", "36"),
                   ScriptConstant("int", "POLYMORPH_TYPE_DIRE_BADGER", "37"),
                   ScriptConstant("int", "INVISIBILITY_TYPE_NORMAL", "1"),
                   ScriptConstant("int", "INVISIBILITY_TYPE_DARKNESS", "2"),
                   ScriptConstant("int", "INVISIBILITY_TYPE_IMPROVED", "4"),
                   ScriptConstant("int", "CREATURE_SIZE_INVALID", "0"),
                   ScriptConstant("int", "CREATURE_SIZE_TINY", "1"), ScriptConstant("int", "CREATURE_SIZE_SMALL", "2"),
                   ScriptConstant("int", "CREATURE_SIZE_MEDIUM", "3"),
                   ScriptConstant("int", "CREATURE_SIZE_LARGE", "4"), ScriptConstant("int", "CREATURE_SIZE_HUGE", "5"),
                   ScriptConstant("int", "CAMERA_MODE_CHASE_CAMERA", "0"),
                   ScriptConstant("int", "CAMERA_MODE_TOP_DOWN", "1"),
                   ScriptConstant("int", "CAMERA_MODE_STIFF_CHASE_CAMERA", "2"),
                   ScriptConstant("int", "PROJECTILE_PATH_TYPE_DEFAULT", "0"),
                   ScriptConstant("int", "PROJECTILE_PATH_TYPE_HOMING", "1"),
                   ScriptConstant("int", "PROJECTILE_PATH_TYPE_BALLISTIC", "2"),
                   ScriptConstant("int", "PROJECTILE_PATH_TYPE_HIGH_BALLISTIC", "3"),
                   ScriptConstant("int", "PROJECTILE_PATH_TYPE_ACCELERATING", "4"),
                   ScriptConstant("int", "GAME_DIFFICULTY_VERY_EASY", "0"),
                   ScriptConstant("int", "GAME_DIFFICULTY_EASY", "1"),
                   ScriptConstant("int", "GAME_DIFFICULTY_NORMAL", "2"),
                   ScriptConstant("int", "GAME_DIFFICULTY_CORE_RULES", "3"),
                   ScriptConstant("int", "GAME_DIFFICULTY_DIFFICULT", "4"),
                   ScriptConstant("int", "ACTION_MOVETOPOINT", "0"), ScriptConstant("int", "ACTION_PICKUPITEM", "1"),
                   ScriptConstant("int", "ACTION_DROPITEM", "2"), ScriptConstant("int", "ACTION_ATTACKOBJECT", "3"),
                   ScriptConstant("int", "ACTION_CASTSPELL", "4"), ScriptConstant("int", "ACTION_OPENDOOR", "5"),
                   ScriptConstant("int", "ACTION_CLOSEDOOR", "6"), ScriptConstant("int", "ACTION_DIALOGOBJECT", "7"),
                   ScriptConstant("int", "ACTION_DISABLETRAP", "8"), ScriptConstant("int", "ACTION_RECOVERTRAP", "9"),
                   ScriptConstant("int", "ACTION_FLAGTRAP", "10"), ScriptConstant("int", "ACTION_EXAMINETRAP", "11"),
                   ScriptConstant("int", "ACTION_SETTRAP", "12"), ScriptConstant("int", "ACTION_OPENLOCK", "13"),
                   ScriptConstant("int", "ACTION_LOCK", "14"), ScriptConstant("int", "ACTION_USEOBJECT", "15"),
                   ScriptConstant("int", "ACTION_ANIMALEMPATHY", "16"), ScriptConstant("int", "ACTION_REST", "17"),
                   ScriptConstant("int", "ACTION_TAUNT", "18"), ScriptConstant("int", "ACTION_ITEMCASTSPELL", "19"),
                   ScriptConstant("int", "ACTION_COUNTERSPELL", "31"), ScriptConstant("int", "ACTION_HEAL", "33"),
                   ScriptConstant("int", "ACTION_PICKPOCKET", "34"), ScriptConstant("int", "ACTION_FOLLOW", "35"),
                   ScriptConstant("int", "ACTION_WAIT", "36"), ScriptConstant("int", "ACTION_SIT", "37"),
                   ScriptConstant("int", "ACTION_FOLLOWLEADER", "38"), ScriptConstant("int", "ACTION_INVALID", "65535"),
                   ScriptConstant("int", "ACTION_QUEUEEMPTY", "65534"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_FLASH_STUN_MINOR", "0"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_FLASH_STUN_AVERAGE", "1"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_FLASH_STUN_DEADLY", "2"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_FRAGMENTATION_MINE_MINOR", "3"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_FRAGMENTATION_MINE_AVERAGE", "4"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_FRAGMENTATION_MINE_DEADLY", "5"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_LASER_SLICING_MINOR", "6"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_LASER_SLICING_AVERAGE", "7"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_LASER_SLICING_DEADLY", "8"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_POISON_GAS_MINOR", "9"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_POISON_GAS_AVERAGE", "10"),
                   ScriptConstant("int", "TRAP_BASE_TYPE_POISON_GAS_DEADLY", "11"),
                   ScriptConstant("int", "SWMINIGAME_TRACKFOLLOWER_SOUND_ENGINE", "0"),
                   ScriptConstant("int", "SWMINIGAME_TRACKFOLLOWER_SOUND_DEATH", "1"),
                   ScriptConstant("int", "CONVERSATION_TYPE_CINEMATIC", "0"),
                   ScriptConstant("int", "CONVERSATION_TYPE_COMPUTER", "1"),
                   ScriptConstant("int", "PLANET_ENDAR_SPIRE", "0"), ScriptConstant("int", "PLANET_TARIS", "1"),
                   ScriptConstant("int", "PLANET_EBON_HAWK", "2"), ScriptConstant("int", "PLANET_DANTOOINE", "3"),
                   ScriptConstant("int", "PLANET_TATOOINE", "4"), ScriptConstant("int", "PLANET_KASHYYYK", "5"),
                   ScriptConstant("int", "PLANET_MANAAN", "6"), ScriptConstant("int", "PLANET_KORRIBAN", "7"),
                   ScriptConstant("int", "PLANET_LEVIATHAN", "8"), ScriptConstant("int", "PLANET_UNKNOWN_WORLD", "9"),
                   ScriptConstant("int", "PLANET_STAR_FORGE", "10"), ScriptConstant("int", "PLANET_LIVE_01", "11"),
                   ScriptConstant("int", "PLANET_LIVE_02", "12"), ScriptConstant("int", "PLANET_LIVE_03", "13"),
                   ScriptConstant("int", "PLANET_LIVE_04", "14"), ScriptConstant("int", "PLANET_LIVE_05", "15"),
                   ScriptConstant("int", "NPC_PLAYER", "-1"), ScriptConstant("int", "NPC_BASTILA", "0"),
                   ScriptConstant("int", "NPC_CANDEROUS", "1"), ScriptConstant("int", "NPC_CARTH", "2"),
                   ScriptConstant("int", "NPC_HK_47", "3"), ScriptConstant("int", "NPC_JOLEE", "4"),
                   ScriptConstant("int", "NPC_JUHANI", "5"), ScriptConstant("int", "NPC_MISSION", "6"),
                   ScriptConstant("int", "NPC_T3_M4", "7"), ScriptConstant("int", "NPC_ZAALBAR", "8"),
                   ScriptConstant("int", "PARTY_AISTYLE_AGGRESSIVE", "0"),
                   ScriptConstant("int", "PARTY_AISTYLE_DEFENSIVE", "1"),
                   ScriptConstant("int", "PARTY_AISTYLE_PASSIVE", "2"),
                   ScriptConstant("int", "NPC_AISTYLE_DEFAULT_ATTACK", "0"),
                   ScriptConstant("int", "NPC_AISTYLE_RANGED_ATTACK", "1"),
                   ScriptConstant("int", "NPC_AISTYLE_MELEE_ATTACK", "2"),
                   ScriptConstant("int", "NPC_AISTYLE_AID", "3"),
                   ScriptConstant("int", "NPC_AISTYLE_GRENADE_THROWER", "4"),
                   ScriptConstant("int", "NPC_AISTYLE_JEDI_SUPPORT", "5"),
                   ScriptConstant("int", "DISGUISE_TYPE_TEST", "1"), ScriptConstant("int", "DISGUISE_TYPE_P_T3M3", "2"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_HK47", "3"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_BASTILLA", "4"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_CAND", "5"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_CARTH", "6"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_JOLEE", "7"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_JUHANI", "8"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_ZAALBAR", "9"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MISSION", "10"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_ADMRLSAULKAR", "11"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_BITH", "12"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_CALONORD", "13"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_COMMF", "14"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_COMMKIDF", "15"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_COMMKIDM", "16"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_COMMM", "17"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_CZERLAOFF", "18"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_DARKJEDIF", "19"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_DARKJEDIM", "20"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_DARTHMALAK", "21"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_DARTHREVAN", "22"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_DODONNA", "23"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_DUROS", "24"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_FATCOMF", "25"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_FATCOMM", "26"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_SMUGGLER", "27"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_SITHSOLDIER", "28"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_JEDICOUNTF", "30"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_JEDICOUNTM", "31"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_JEDIMALEK", "32"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_JEDIMEMF", "33"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_JEDIMEMM", "34"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_MANDALORIAN", "35"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_RAKATA", "36"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_REPOFF", "37"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_REPSOLD", "38"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_RODIAN", "39"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_SELKATH", "40"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_SITHAPPREN", "41"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_SITHCOMF", "42"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_SITHCOMM", "43"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_SWOOPGANG", "45"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_TUSKEN", "46"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_TWILEKF", "47"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_TWILEKM", "48"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_WALRUSMAN", "49"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_WOOKIEF", "50"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_WOOKIEM", "51"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_YODA", "52"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_BANTHA", "53"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_BRITH", "54"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DEWBACK", "55"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDASSASSIN", "56"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDASTRO", "57"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDG", "58"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDMKFOUR", "59"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDMKONE", "60"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDMKTWO", "61"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDPROBE", "62"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDPROT", "63"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDSENTRY", "64"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDSPYDER", "65"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_DRDWAR", "66"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_FIRIXA", "67"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_GAMMOREAN", "68"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_GIZKA", "69"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_HUTT", "70"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_IRIAZ", "71"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_ITHORIAN", "72"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_JAWA", "73"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_KATAARN", "74"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_KHOUNDA", "75"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_KHOUNDB", "76"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_KRAYTDRAGON", "77"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_MYKAL", "78"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_RAKGHOUL", "79"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_RANCOR", "80"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_SEABEAST", "81"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_TACH", "83"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_TWOHEAD", "84"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_VERKAAL", "85"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_WRAID", "86"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_RONTO", "87"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_KINRATH", "88"),
                   ScriptConstant("int", "DISGUISE_TYPE_C_TUKATA", "89"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_TUSKENF", "90"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_SML_01", "91"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_MED_01", "92"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_LRG_01", "93"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_SML_02", "94"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_MED_02", "95"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_LRG_02", "96"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_SML_03", "97"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_MED_03", "98"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_LRG_03", "99"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_SML_04", "100"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_MED_04", "101"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_LRG_04", "102"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_SML_05", "103"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_MED_05", "104"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_LRG_05", "105"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_SML_01", "106"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_MED_01", "107"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_LRG_01", "108"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_SML_02", "109"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_MED_02", "110"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_LRG_02", "111"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_SML_03", "112"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_MED_03", "113"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_LRG_03", "114"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_SML_04", "115"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_MED_04", "116"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_LRG_04", "117"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_SML_05", "118"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_MED_05", "119"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_LRG_05", "120"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_SML_01", "121"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_MED_01", "122"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_LRG_01", "123"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_SML_02", "124"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_MED_02", "125"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_LRG_02", "126"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_SML_03", "127"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_MED_03", "128"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_LRG_03", "129"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_SML_04", "130"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_MED_04", "131"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_LRG_04", "132"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_SML_05", "133"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_MED_05", "134"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_LRG_05", "135"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_SML_01", "136"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_MED_01", "137"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_LRG_01", "138"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_SML_02", "139"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_MED_02", "140"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_LRG_02", "141"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_SML_03", "142"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_MED_03", "143"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_LRG_03", "144"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_SML_04", "145"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_MED_04", "146"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_LRG_04", "147"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_SML_05", "148"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_MED_05", "149"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_LRG_05", "150"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_SML_01", "151"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_MED_01", "152"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_LRG_01", "153"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_SML_02", "154"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_MED_02", "155"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_LRG_02", "156"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_SML_03", "157"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_MED_03", "158"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_LRG_03", "159"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_SML_04", "160"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_MED_04", "161"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_LRG_04", "162"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_SML_05", "163"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_MED_05", "164"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_LRG_05", "165"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_SML_01", "166"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_MED_01", "167"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_LRG_01", "168"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_SML_02", "169"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_MED_02", "170"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_LRG_02", "171"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_SML_03", "172"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_MED_03", "173"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_LRG_03", "174"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_SML_04", "175"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_MED_04", "176"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_LRG_04", "177"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_SML_05", "178"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_MED_05", "179"),
                   ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_LRG_05", "180"),
                   ScriptConstant("int", "DISGUISE_TYPE_ENVIRONMENTSUIT", "181"),
                   ScriptConstant("int", "DISGUISE_TYPE_TURRET", "182"),
                   ScriptConstant("int", "DISGUISE_TYPE_TURRET2", "183"),
                   ScriptConstant("int", "DISGUISE_TYPE_N_DARTHBAND", "184"),
                   ScriptConstant("int", "DISGUISE_TYPE_COMMONER_FEM_WHITE", "185"),
                   ScriptConstant("int", "DISGUISE_TYPE_COMMONER_FEM_BLACK", "186"),
                   ScriptConstant("int", "DISGUISE_TYPE_COMMONER_FEM_OLD_ASIAN", "187"),
                   ScriptConstant("int", "DISGUISE_TYPE_COMMONER_FEM_OLD_WHITE", "188"),
                   ScriptConstant("int", "DISGUISE_TYPE_COMMONER_FEM_OLD_BLACK", "189"),
                   ScriptConstant("int", "DISGUISE_TYPE_COMMONER_MAL_WHITE", "190"),
                   ScriptConstant("int", "DISGUISE_TYPE_COMMONER_MAL_BLACK", "191"),
                   ScriptConstant("int", "DISGUISE_TYPE_COMMONER_MAL_OLD_ASIAN", "192"),
                   ScriptConstant("int", "DISGUISE_TYPE_COMMONER_MAL_OLD_WHITE", "193"),
                   ScriptConstant("int", "DISGUISE_TYPE_COMMONER_MAL_OLD_BLACK", "194"),
                   ScriptConstant("int", "DISGUISE_TYPE_CZERKA_OFFICER_WHITE", "195"),
                   ScriptConstant("int", "DISGUISE_TYPE_CZERKA_OFFICER_BLACK", "196"),
                   ScriptConstant("int", "DISGUISE_TYPE_CZERKA_OFFICER_OLD_ASIAN", "197"),
                   ScriptConstant("int", "DISGUISE_TYPE_CZERKA_OFFICER_OLD_WHITE", "198"),
                   ScriptConstant("int", "DISGUISE_TYPE_CZERKA_OFFICER_OLD_BLACK", "199"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_FEMALE_02", "200"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_FEMALE_03", "201"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_FEMALE_04", "202"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_FEMALE_05", "203"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_FEMALE_01", "204"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_FEMALE_02", "205"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_FEMALE_03", "206"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_FEMALE_04", "207"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_FEMALE_05", "208"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_FEMALE_01", "209"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_FEMALE_02", "210"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_FEMALE_03", "211"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_FEMALE_04", "212"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_FEMALE_05", "213"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_MALE_02", "214"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_MALE_03", "215"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_MALE_04", "216"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_MALE_05", "217"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_MALE_01", "218"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_MALE_02", "219"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_MALE_03", "220"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_MALE_04", "221"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_MALE_05", "222"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_MALE_01", "223"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_MALE_02", "224"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_MALE_03", "225"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_MALE_04", "226"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_MALE_05", "227"),
                   ScriptConstant("int", "DISGUISE_TYPE_HUTT_02", "228"),
                   ScriptConstant("int", "DISGUISE_TYPE_HUTT_03", "229"),
                   ScriptConstant("int", "DISGUISE_TYPE_HUTT_04", "230"),
                   ScriptConstant("int", "DISGUISE_TYPE_DROID_ASTRO_02", "231"),
                   ScriptConstant("int", "DISGUISE_TYPE_DROID_ASTRO_03", "232"),
                   ScriptConstant("int", "DISGUISE_TYPE_DROID_PROTOCOL_02", "233"),
                   ScriptConstant("int", "DISGUISE_TYPE_DROID_PROTOCOL_03", "234"),
                   ScriptConstant("int", "DISGUISE_TYPE_DROID_PROTOCOL_04", "235"),
                   ScriptConstant("int", "DISGUISE_TYPE_DROID_WAR_02", "236"),
                   ScriptConstant("int", "DISGUISE_TYPE_DROID_WAR_03", "237"),
                   ScriptConstant("int", "DISGUISE_TYPE_DROID_WAR_04", "238"),
                   ScriptConstant("int", "DISGUISE_TYPE_DROID_WAR_05", "239"),
                   ScriptConstant("int", "DISGUISE_TYPE_GAMMOREAN_02", "240"),
                   ScriptConstant("int", "DISGUISE_TYPE_GAMMOREAN_03", "241"),
                   ScriptConstant("int", "DISGUISE_TYPE_GAMMOREAN_04", "242"),
                   ScriptConstant("int", "DISGUISE_TYPE_ITHORIAN_02", "243"),
                   ScriptConstant("int", "DISGUISE_TYPE_ITHORIAN_03", "244"),
                   ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_A02", "245"),
                   ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_A03", "246"),
                   ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_A04", "247"),
                   ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_B02", "248"),
                   ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_B03", "249"),
                   ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_B04", "250"),
                   ScriptConstant("int", "DISGUISE_TYPE_WRAID_02", "251"),
                   ScriptConstant("int", "DISGUISE_TYPE_WRAID_03", "252"),
                   ScriptConstant("int", "DISGUISE_TYPE_WRAID_04", "253"),
                   ScriptConstant("int", "DISGUISE_TYPE_RAKATA_02", "254"),
                   ScriptConstant("int", "DISGUISE_TYPE_RAKATA_03", "255"),
                   ScriptConstant("int", "DISGUISE_TYPE_RODIAN_02", "256"),
                   ScriptConstant("int", "DISGUISE_TYPE_RODIAN_03", "257"),
                   ScriptConstant("int", "DISGUISE_TYPE_RODIAN_04", "258"),
                   ScriptConstant("int", "DISGUISE_TYPE_SELKATH_02", "259"),
                   ScriptConstant("int", "DISGUISE_TYPE_SELKATH_03", "260"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_SOLDIER_03", "261"),
                   ScriptConstant("int", "DISGUISE_TYPE_SWOOP_GANG_02", "262"),
                   ScriptConstant("int", "DISGUISE_TYPE_SWOOP_GANG_03", "263"),
                   ScriptConstant("int", "DISGUISE_TYPE_SWOOP_GANG_04", "264"),
                   ScriptConstant("int", "DISGUISE_TYPE_SWOOP_GANG_05", "265"),
                   ScriptConstant("int", "DISGUISE_TYPE_TUSKAN_RAIDER_02", "266"),
                   ScriptConstant("int", "DISGUISE_TYPE_TUSKAN_RAIDER_03", "267"),
                   ScriptConstant("int", "DISGUISE_TYPE_TUSKAN_RAIDER_04", "268"),
                   ScriptConstant("int", "DISGUISE_TYPE_TWILEK_MALE_02", "269"),
                   ScriptConstant("int", "DISGUISE_TYPE_TWILEK_FEMALE_02", "270"),
                   ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_MALE_02", "271"),
                   ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_MALE_03", "272"),
                   ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_MALE_04", "273"),
                   ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_MALE_05", "274"),
                   ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_FEMALE_02", "275"),
                   ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_FEMALE_03", "276"),
                   ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_FEMALE_04", "277"),
                   ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_FEMALE_05", "278"),
                   ScriptConstant("int", "DISGUISE_TYPE_ENVIRONMENTSUIT_02", "279"),
                   ScriptConstant("int", "DISGUISE_TYPE_YUTHURA_BAN", "280"),
                   ScriptConstant("int", "DISGUISE_TYPE_SHYRACK_01", "281"),
                   ScriptConstant("int", "DISGUISE_TYPE_SHYRACK_02", "282"),
                   ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_BLACK", "283"),
                   ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_OLD_ASIAN", "284"),
                   ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_OLD_WHITE", "285"),
                   ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_OLD_BLACK", "286"),
                   ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_BLACK", "287"),
                   ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_OLD_ASIAN", "288"),
                   ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_OLD_WHITE", "289"),
                   ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_OLD_BLACK", "290"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_WHITE", "291"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_BLACK", "292"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_OLD_ASIAN", "293"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_OLD_WHITE", "294"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_OLD_BLACK", "295"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_WHITE", "296"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_BLACK", "297"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_OLD_ASIAN", "298"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_OLD_WHITE", "299"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_OLD_BLACK", "300"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_ASIAN", "301"),
                   ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_ASIAN", "302"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_OLD_MALE", "303"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_OLD_MALE", "304"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_OLD_MALE", "305"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_OLD_FEM", "306"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_OLD_FEM", "307"),
                   ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_OLD_FEM", "308"),
                   ScriptConstant("int", "PLOT_O_DOOM", "0"), ScriptConstant("int", "PLOT_O_SCARY_STUFF", "1"),
                   ScriptConstant("int", "PLOT_O_BIG_MONSTERS", "2"), ScriptConstant("int", "FORMATION_WEDGE", "0"),
                   ScriptConstant("int", "FORMATION_LINE", "1"), ScriptConstant("int", "SUBSCREEN_ID_NONE", "0"),
                   ScriptConstant("int", "SUBSCREEN_ID_EQUIP", "1"), ScriptConstant("int", "SUBSCREEN_ID_ITEM", "2"),
                   ScriptConstant("int", "SUBSCREEN_ID_CHARACTER_RECORD", "3"),
                   ScriptConstant("int", "SUBSCREEN_ID_ABILITY", "4"), ScriptConstant("int", "SUBSCREEN_ID_MAP", "5"),
                   ScriptConstant("int", "SUBSCREEN_ID_QUEST", "6"), ScriptConstant("int", "SUBSCREEN_ID_OPTIONS", "7"),
                   ScriptConstant("int", "SUBSCREEN_ID_MESSAGES", "8"),
                   ScriptConstant("int", "SHIELD_DROID_ENERGY_1", "0"),
                   ScriptConstant("int", "SHIELD_DROID_ENERGY_2", "1"),
                   ScriptConstant("int", "SHIELD_DROID_ENERGY_3", "2"),
                   ScriptConstant("int", "SHIELD_DROID_ENVIRO_1", "3"),
                   ScriptConstant("int", "SHIELD_DROID_ENVIRO_2", "4"),
                   ScriptConstant("int", "SHIELD_DROID_ENVIRO_3", "5"), ScriptConstant("int", "SHIELD_ENERGY", "6"),
                   ScriptConstant("int", "SHIELD_ENERGY_SITH", "7"),
                   ScriptConstant("int", "SHIELD_ENERGY_ARKANIAN", "8"), ScriptConstant("int", "SHIELD_ECHANI", "9"),
                   ScriptConstant("int", "SHIELD_MANDALORIAN_MELEE", "10"),
                   ScriptConstant("int", "SHIELD_MANDALORIAN_POWER", "11"),
                   ScriptConstant("int", "SHIELD_DUELING_ECHANI", "12"),
                   ScriptConstant("int", "SHIELD_DUELING_YUSANIS", "13"),
                   ScriptConstant("int", "SHIELD_VERPINE_PROTOTYPE", "14"),
                   ScriptConstant("int", "SHIELD_ANTIQUE_DROID", "15"),
                   ScriptConstant("int", "SHIELD_PLOT_TAR_M09AA", "16"),
                   ScriptConstant("int", "SHIELD_PLOT_UNK_M44AA", "17"), ScriptConstant("int", "SUBRACE_NONE", "0"),
                   ScriptConstant("int", "SUBRACE_WOOKIE", "1"), ScriptConstant("int", "VIDEO_EFFECT_NONE", "-1"),
                   ScriptConstant("int", "VIDEO_EFFECT_SECURITY_CAMERA", "0"),
                   ScriptConstant("int", "VIDEO_EFFECT_FREELOOK_T3M4", "1"),
                   ScriptConstant("int", "VIDEO_EFFECT_FREELOOK_HK47", "2"),
                   ScriptConstant("int", "TUTORIAL_WINDOW_START_SWOOP_RACE", "0"),
                   ScriptConstant("int", "TUTORIAL_WINDOW_RETURN_TO_BASE", "1"),
                   ScriptConstant("int", "TUTORIAL_WINDOW_MOVEMENT_KEYS", "2"),
                   ScriptConstant("int", "MOVEMENT_SPEED_PC", "0"),
                   ScriptConstant("int", "MOVEMENT_SPEED_IMMOBILE", "1"),
                   ScriptConstant("int", "MOVEMENT_SPEED_VERYSLOW", "2"),
                   ScriptConstant("int", "MOVEMENT_SPEED_SLOW", "3"),
                   ScriptConstant("int", "MOVEMENT_SPEED_NORMAL", "4"),
                   ScriptConstant("int", "MOVEMENT_SPEED_FAST", "5"),
                   ScriptConstant("int", "MOVEMENT_SPEED_VERYFAST", "6"),
                   ScriptConstant("int", "MOVEMENT_SPEED_DEFAULT", "7"),
                   ScriptConstant("int", "MOVEMENT_SPEED_DMFAST", "8"), ScriptConstant("int", "LIVE_CONTENT_PKG1", "1"),
                   ScriptConstant("int", "LIVE_CONTENT_PKG2", "2"), ScriptConstant("int", "LIVE_CONTENT_PKG3", "3"),
                   ScriptConstant("int", "LIVE_CONTENT_PKG4", "4"), ScriptConstant("int", "LIVE_CONTENT_PKG5", "5"),
                   ScriptConstant("int", "LIVE_CONTENT_PKG6", "6")]
TSL_CONSTANTS = [ScriptConstant("int", "NUM_INVENTORY_SLOTS", "20"), ScriptConstant("int", "TRUE", "1"),
                 ScriptConstant("int", "FALSE", "0"), ScriptConstant("float", "DIRECTION_EAST", "0.0"),
                 ScriptConstant("float", "DIRECTION_NORTH", "90.0"), ScriptConstant("float", "DIRECTION_WEST", "180.0"),
                 ScriptConstant("float", "DIRECTION_SOUTH", "270.0"), ScriptConstant("float", "PI", "3.141592"),
                 ScriptConstant("int", "ATTITUDE_NEUTRAL", "0"), ScriptConstant("int", "ATTITUDE_AGGRESSIVE", "1"),
                 ScriptConstant("int", "ATTITUDE_DEFENSIVE", "2"), ScriptConstant("int", "ATTITUDE_SPECIAL", "3"),
                 ScriptConstant("int", "TALKVOLUME_TALK", "0"), ScriptConstant("int", "TALKVOLUME_WHISPER", "1"),
                 ScriptConstant("int", "TALKVOLUME_SHOUT", "2"), ScriptConstant("int", "TALKVOLUME_SILENT_TALK", "3"),
                 ScriptConstant("int", "TALKVOLUME_SILENT_SHOUT", "4"),
                 ScriptConstant("int", "INVENTORY_SLOT_HEAD", "0"), ScriptConstant("int", "INVENTORY_SLOT_BODY", "1"),
                 ScriptConstant("int", "INVENTORY_SLOT_HANDS", "3"),
                 ScriptConstant("int", "INVENTORY_SLOT_RIGHTWEAPON", "4"),
                 ScriptConstant("int", "INVENTORY_SLOT_LEFTWEAPON", "5"),
                 ScriptConstant("int", "INVENTORY_SLOT_LEFTARM", "7"),
                 ScriptConstant("int", "INVENTORY_SLOT_RIGHTARM", "8"),
                 ScriptConstant("int", "INVENTORY_SLOT_IMPLANT", "9"),
                 ScriptConstant("int", "INVENTORY_SLOT_BELT", "10"),
                 ScriptConstant("int", "INVENTORY_SLOT_CWEAPON_L", "14"),
                 ScriptConstant("int", "INVENTORY_SLOT_CWEAPON_R", "15"),
                 ScriptConstant("int", "INVENTORY_SLOT_CWEAPON_B", "16"),
                 ScriptConstant("int", "INVENTORY_SLOT_CARMOUR", "17"),
                 ScriptConstant("int", "INVENTORY_SLOT_RIGHTWEAPON2", "18"),
                 ScriptConstant("int", "INVENTORY_SLOT_LEFTWEAPON2", "19"),
                 ScriptConstant("int", "DURATION_TYPE_INSTANT", "0"),
                 ScriptConstant("int", "DURATION_TYPE_TEMPORARY", "1"),
                 ScriptConstant("int", "DURATION_TYPE_PERMANENT", "2"), ScriptConstant("int", "SUBTYPE_MAGICAL", "8"),
                 ScriptConstant("int", "SUBTYPE_SUPERNATURAL", "16"),
                 ScriptConstant("int", "SUBTYPE_EXTRAORDINARY", "24"), ScriptConstant("int", "ABILITY_STRENGTH", "0"),
                 ScriptConstant("int", "ABILITY_DEXTERITY", "1"), ScriptConstant("int", "ABILITY_CONSTITUTION", "2"),
                 ScriptConstant("int", "ABILITY_INTELLIGENCE", "3"), ScriptConstant("int", "ABILITY_WISDOM", "4"),
                 ScriptConstant("int", "ABILITY_CHARISMA", "5"), ScriptConstant("int", "SHAPE_SPELLCYLINDER", "0"),
                 ScriptConstant("int", "SHAPE_CONE", "1"), ScriptConstant("int", "SHAPE_CUBE", "2"),
                 ScriptConstant("int", "SHAPE_SPELLCONE", "3"), ScriptConstant("int", "SHAPE_SPHERE", "4"),
                 ScriptConstant("int", "OBJECT_TYPE_CREATURE", "1"), ScriptConstant("int", "OBJECT_TYPE_ITEM", "2"),
                 ScriptConstant("int", "OBJECT_TYPE_TRIGGER", "4"), ScriptConstant("int", "OBJECT_TYPE_DOOR", "8"),
                 ScriptConstant("int", "OBJECT_TYPE_AREA_OF_EFFECT", "16"),
                 ScriptConstant("int", "OBJECT_TYPE_WAYPOINT", "32"),
                 ScriptConstant("int", "OBJECT_TYPE_PLACEABLE", "64"),
                 ScriptConstant("int", "OBJECT_TYPE_STORE", "128"),
                 ScriptConstant("int", "OBJECT_TYPE_ENCOUNTER", "256"),
                 ScriptConstant("int", "OBJECT_TYPE_SOUND", "512"), ScriptConstant("int", "OBJECT_TYPE_ALL", "32767"),
                 ScriptConstant("int", "OBJECT_TYPE_INVALID", "32767"), ScriptConstant("int", "GENDER_MALE", "0"),
                 ScriptConstant("int", "GENDER_FEMALE", "1"), ScriptConstant("int", "GENDER_BOTH", "2"),
                 ScriptConstant("int", "GENDER_OTHER", "3"), ScriptConstant("int", "GENDER_NONE", "4"),
                 ScriptConstant("int", "DAMAGE_TYPE_BLUDGEONING", "1"),
                 ScriptConstant("int", "DAMAGE_TYPE_PIERCING", "2"), ScriptConstant("int", "DAMAGE_TYPE_SLASHING", "4"),
                 ScriptConstant("int", "DAMAGE_TYPE_UNIVERSAL", "8"), ScriptConstant("int", "DAMAGE_TYPE_ACID", "16"),
                 ScriptConstant("int", "DAMAGE_TYPE_COLD", "32"), ScriptConstant("int", "DAMAGE_TYPE_LIGHT_SIDE", "64"),
                 ScriptConstant("int", "DAMAGE_TYPE_ELECTRICAL", "128"),
                 ScriptConstant("int", "DAMAGE_TYPE_FIRE", "256"),
                 ScriptConstant("int", "DAMAGE_TYPE_DARK_SIDE", "512"),
                 ScriptConstant("int", "DAMAGE_TYPE_SONIC", "1024"), ScriptConstant("int", "DAMAGE_TYPE_ION", "2048"),
                 ScriptConstant("int", "DAMAGE_TYPE_BLASTER", "4096"),
                 ScriptConstant("int", "AC_VS_DAMAGE_TYPE_ALL", "8199"), ScriptConstant("int", "DAMAGE_BONUS_1", "1"),
                 ScriptConstant("int", "DAMAGE_BONUS_2", "2"), ScriptConstant("int", "DAMAGE_BONUS_3", "3"),
                 ScriptConstant("int", "DAMAGE_BONUS_4", "4"), ScriptConstant("int", "DAMAGE_BONUS_5", "5"),
                 ScriptConstant("int", "DAMAGE_BONUS_1d4", "6"), ScriptConstant("int", "DAMAGE_BONUS_1d6", "7"),
                 ScriptConstant("int", "DAMAGE_BONUS_1d8", "8"), ScriptConstant("int", "DAMAGE_BONUS_1d10", "9"),
                 ScriptConstant("int", "DAMAGE_BONUS_2d6", "10"), ScriptConstant("int", "DAMAGE_POWER_NORMAL", "0"),
                 ScriptConstant("int", "DAMAGE_POWER_PLUS_ONE", "1"),
                 ScriptConstant("int", "DAMAGE_POWER_PLUS_TWO", "2"),
                 ScriptConstant("int", "DAMAGE_POWER_PLUS_THREE", "3"),
                 ScriptConstant("int", "DAMAGE_POWER_PLUS_FOUR", "4"),
                 ScriptConstant("int", "DAMAGE_POWER_PLUS_FIVE", "5"),
                 ScriptConstant("int", "DAMAGE_POWER_ENERGY", "6"), ScriptConstant("int", "ATTACK_BONUS_MISC", "0"),
                 ScriptConstant("int", "ATTACK_BONUS_ONHAND", "1"), ScriptConstant("int", "ATTACK_BONUS_OFFHAND", "2"),
                 ScriptConstant("int", "AC_DODGE_BONUS", "0"), ScriptConstant("int", "AC_NATURAL_BONUS", "1"),
                 ScriptConstant("int", "AC_ARMOUR_ENCHANTMENT_BONUS", "2"),
                 ScriptConstant("int", "AC_SHIELD_ENCHANTMENT_BONUS", "3"),
                 ScriptConstant("int", "AC_DEFLECTION_BONUS", "4"), ScriptConstant("int", "DOOR_ACTION_OPEN", "0"),
                 ScriptConstant("int", "DOOR_ACTION_UNLOCK", "1"), ScriptConstant("int", "DOOR_ACTION_BASH", "2"),
                 ScriptConstant("int", "DOOR_ACTION_IGNORE", "3"), ScriptConstant("int", "DOOR_ACTION_KNOCK", "4"),
                 ScriptConstant("int", "PLACEABLE_ACTION_USE", "0"),
                 ScriptConstant("int", "PLACEABLE_ACTION_UNLOCK", "1"),
                 ScriptConstant("int", "PLACEABLE_ACTION_BASH", "2"),
                 ScriptConstant("int", "PLACEABLE_ACTION_KNOCK", "4"),
                 ScriptConstant("int", "RACIAL_TYPE_UNKNOWN", "0"), ScriptConstant("int", "RACIAL_TYPE_ELF", "1"),
                 ScriptConstant("int", "RACIAL_TYPE_GNOME", "2"), ScriptConstant("int", "RACIAL_TYPE_HALFLING", "3"),
                 ScriptConstant("int", "RACIAL_TYPE_HALFELF", "4"), ScriptConstant("int", "RACIAL_TYPE_DROID", "5"),
                 ScriptConstant("int", "RACIAL_TYPE_HUMAN", "6"), ScriptConstant("int", "RACIAL_TYPE_ALL", "7"),
                 ScriptConstant("int", "RACIAL_TYPE_INVALID", "8"), ScriptConstant("int", "ALIGNMENT_ALL", "0"),
                 ScriptConstant("int", "ALIGNMENT_NEUTRAL", "1"), ScriptConstant("int", "ALIGNMENT_LIGHT_SIDE", "2"),
                 ScriptConstant("int", "ALIGNMENT_DARK_SIDE", "3"), ScriptConstant("int", "SAVING_THROW_ALL", "0"),
                 ScriptConstant("int", "SAVING_THROW_FORT", "1"), ScriptConstant("int", "SAVING_THROW_REFLEX", "2"),
                 ScriptConstant("int", "SAVING_THROW_WILL", "3"), ScriptConstant("int", "SAVING_THROW_TYPE_ALL", "0"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_NONE", "0"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_ACID", "1"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_SNEAK_ATTACK", "2"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_COLD", "3"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_DEATH", "4"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_DISEASE", "5"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_LIGHT_SIDE", "6"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_ELECTRICAL", "7"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_FEAR", "8"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_FIRE", "9"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_MIND_AFFECTING", "10"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_DARK_SIDE", "11"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_POISON", "12"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_SONIC", "13"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_TRAP", "14"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_FORCE_POWER", "15"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_ION", "16"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_BLASTER", "17"),
                 ScriptConstant("int", "SAVING_THROW_TYPE_PARALYSIS", "18"),
                 ScriptConstant("int", "IMMUNITY_TYPE_NONE", "0"),
                 ScriptConstant("int", "IMMUNITY_TYPE_MIND_SPELLS", "1"),
                 ScriptConstant("int", "IMMUNITY_TYPE_POISON", "2"),
                 ScriptConstant("int", "IMMUNITY_TYPE_DISEASE", "3"), ScriptConstant("int", "IMMUNITY_TYPE_FEAR", "4"),
                 ScriptConstant("int", "IMMUNITY_TYPE_TRAP", "5"),
                 ScriptConstant("int", "IMMUNITY_TYPE_PARALYSIS", "6"),
                 ScriptConstant("int", "IMMUNITY_TYPE_BLINDNESS", "7"),
                 ScriptConstant("int", "IMMUNITY_TYPE_DEAFNESS", "8"), ScriptConstant("int", "IMMUNITY_TYPE_SLOW", "9"),
                 ScriptConstant("int", "IMMUNITY_TYPE_ENTANGLE", "10"),
                 ScriptConstant("int", "IMMUNITY_TYPE_SILENCE", "11"),
                 ScriptConstant("int", "IMMUNITY_TYPE_STUN", "12"), ScriptConstant("int", "IMMUNITY_TYPE_SLEEP", "13"),
                 ScriptConstant("int", "IMMUNITY_TYPE_CHARM", "14"),
                 ScriptConstant("int", "IMMUNITY_TYPE_DOMINATE", "15"),
                 ScriptConstant("int", "IMMUNITY_TYPE_CONFUSED", "16"),
                 ScriptConstant("int", "IMMUNITY_TYPE_CURSED", "17"),
                 ScriptConstant("int", "IMMUNITY_TYPE_DAZED", "18"),
                 ScriptConstant("int", "IMMUNITY_TYPE_ABILITY_DECREASE", "19"),
                 ScriptConstant("int", "IMMUNITY_TYPE_ATTACK_DECREASE", "20"),
                 ScriptConstant("int", "IMMUNITY_TYPE_DAMAGE_DECREASE", "21"),
                 ScriptConstant("int", "IMMUNITY_TYPE_DAMAGE_IMMUNITY_DECREASE", "22"),
                 ScriptConstant("int", "IMMUNITY_TYPE_AC_DECREASE", "23"),
                 ScriptConstant("int", "IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE", "24"),
                 ScriptConstant("int", "IMMUNITY_TYPE_SAVING_THROW_DECREASE", "25"),
                 ScriptConstant("int", "IMMUNITY_TYPE_FORCE_RESISTANCE_DECREASE", "26"),
                 ScriptConstant("int", "IMMUNITY_TYPE_SKILL_DECREASE", "27"),
                 ScriptConstant("int", "IMMUNITY_TYPE_KNOCKDOWN", "28"),
                 ScriptConstant("int", "IMMUNITY_TYPE_NEGATIVE_LEVEL", "29"),
                 ScriptConstant("int", "IMMUNITY_TYPE_SNEAK_ATTACK", "30"),
                 ScriptConstant("int", "IMMUNITY_TYPE_CRITICAL_HIT", "31"),
                 ScriptConstant("int", "IMMUNITY_TYPE_DEATH", "32"),
                 ScriptConstant("int", "IMMUNITY_TYPE_DROID_CONFUSED", "33"),
                 ScriptConstant("int", "AREA_TRANSITION_RANDOM", "0"),
                 ScriptConstant("int", "AREA_TRANSITION_USER_DEFINED", "1"),
                 ScriptConstant("int", "AREA_TRANSITION_CITY_01", "2"),
                 ScriptConstant("int", "AREA_TRANSITION_CITY_02", "3"),
                 ScriptConstant("int", "AREA_TRANSITION_CITY_03", "4"),
                 ScriptConstant("int", "AREA_TRANSITION_CITY_04", "5"),
                 ScriptConstant("int", "AREA_TRANSITION_CITY_05", "6"),
                 ScriptConstant("int", "AREA_TRANSITION_CRYPT_01", "7"),
                 ScriptConstant("int", "AREA_TRANSITION_CRYPT_02", "8"),
                 ScriptConstant("int", "AREA_TRANSITION_CRYPT_03", "9"),
                 ScriptConstant("int", "AREA_TRANSITION_CRYPT_04", "10"),
                 ScriptConstant("int", "AREA_TRANSITION_CRYPT_05", "11"),
                 ScriptConstant("int", "AREA_TRANSITION_DUNGEON_01", "12"),
                 ScriptConstant("int", "AREA_TRANSITION_DUNGEON_02", "13"),
                 ScriptConstant("int", "AREA_TRANSITION_DUNGEON_03", "14"),
                 ScriptConstant("int", "AREA_TRANSITION_DUNGEON_04", "15"),
                 ScriptConstant("int", "AREA_TRANSITION_DUNGEON_05", "16"),
                 ScriptConstant("int", "AREA_TRANSITION_DUNGEON_06", "17"),
                 ScriptConstant("int", "AREA_TRANSITION_DUNGEON_07", "18"),
                 ScriptConstant("int", "AREA_TRANSITION_DUNGEON_08", "19"),
                 ScriptConstant("int", "AREA_TRANSITION_MINES_01", "20"),
                 ScriptConstant("int", "AREA_TRANSITION_MINES_02", "21"),
                 ScriptConstant("int", "AREA_TRANSITION_MINES_03", "22"),
                 ScriptConstant("int", "AREA_TRANSITION_MINES_04", "23"),
                 ScriptConstant("int", "AREA_TRANSITION_MINES_05", "24"),
                 ScriptConstant("int", "AREA_TRANSITION_MINES_06", "25"),
                 ScriptConstant("int", "AREA_TRANSITION_MINES_07", "26"),
                 ScriptConstant("int", "AREA_TRANSITION_MINES_08", "27"),
                 ScriptConstant("int", "AREA_TRANSITION_MINES_09", "28"),
                 ScriptConstant("int", "AREA_TRANSITION_SEWER_01", "29"),
                 ScriptConstant("int", "AREA_TRANSITION_SEWER_02", "30"),
                 ScriptConstant("int", "AREA_TRANSITION_SEWER_03", "31"),
                 ScriptConstant("int", "AREA_TRANSITION_SEWER_04", "32"),
                 ScriptConstant("int", "AREA_TRANSITION_SEWER_05", "33"),
                 ScriptConstant("int", "AREA_TRANSITION_CASTLE_01", "34"),
                 ScriptConstant("int", "AREA_TRANSITION_CASTLE_02", "35"),
                 ScriptConstant("int", "AREA_TRANSITION_CASTLE_03", "36"),
                 ScriptConstant("int", "AREA_TRANSITION_CASTLE_04", "37"),
                 ScriptConstant("int", "AREA_TRANSITION_CASTLE_05", "38"),
                 ScriptConstant("int", "AREA_TRANSITION_CASTLE_06", "39"),
                 ScriptConstant("int", "AREA_TRANSITION_CASTLE_07", "40"),
                 ScriptConstant("int", "AREA_TRANSITION_CASTLE_08", "41"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_01", "42"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_02", "43"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_03", "44"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_04", "45"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_05", "46"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_06", "47"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_07", "48"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_08", "49"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_09", "50"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_10", "51"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_11", "52"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_12", "53"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_13", "54"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_14", "55"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_15", "56"),
                 ScriptConstant("int", "AREA_TRANSITION_INTERIOR_16", "57"),
                 ScriptConstant("int", "AREA_TRANSITION_FOREST_01", "58"),
                 ScriptConstant("int", "AREA_TRANSITION_FOREST_02", "59"),
                 ScriptConstant("int", "AREA_TRANSITION_FOREST_03", "60"),
                 ScriptConstant("int", "AREA_TRANSITION_FOREST_04", "61"),
                 ScriptConstant("int", "AREA_TRANSITION_FOREST_05", "62"),
                 ScriptConstant("int", "AREA_TRANSITION_RURAL_01", "63"),
                 ScriptConstant("int", "AREA_TRANSITION_RURAL_02", "64"),
                 ScriptConstant("int", "AREA_TRANSITION_RURAL_03", "65"),
                 ScriptConstant("int", "AREA_TRANSITION_RURAL_04", "66"),
                 ScriptConstant("int", "AREA_TRANSITION_RURAL_05", "67"),
                 ScriptConstant("int", "AREA_TRANSITION_CITY", "2"),
                 ScriptConstant("int", "AREA_TRANSITION_CRYPT", "7"),
                 ScriptConstant("int", "AREA_TRANSITION_FOREST", "58"),
                 ScriptConstant("int", "AREA_TRANSITION_RURAL", "63"), ScriptConstant("int", "BODY_NODE_HAND", "0"),
                 ScriptConstant("int", "BODY_NODE_CHEST", "1"), ScriptConstant("int", "BODY_NODE_HEAD", "2"),
                 ScriptConstant("int", "BODY_NODE_HAND_LEFT", "3"), ScriptConstant("int", "BODY_NODE_HAND_RIGHT", "4"),
                 ScriptConstant("float", "RADIUS_SIZE_SMALL", "1.67f"),
                 ScriptConstant("float", "RADIUS_SIZE_MEDIUM", "3.33f"),
                 ScriptConstant("float", "RADIUS_SIZE_LARGE", "5.0f"),
                 ScriptConstant("float", "RADIUS_SIZE_HUGE", "6.67f"),
                 ScriptConstant("float", "RADIUS_SIZE_GARGANTUAN", "8.33f"),
                 ScriptConstant("float", "RADIUS_SIZE_COLOSSAL", "10.0f"),
                 ScriptConstant("int", "EFFECT_TYPE_INVALIDEFFECT", "0"),
                 ScriptConstant("int", "EFFECT_TYPE_DAMAGE_RESISTANCE", "1"),
                 ScriptConstant("int", "EFFECT_TYPE_REGENERATE", "3"),
                 ScriptConstant("int", "EFFECT_TYPE_DAMAGE_REDUCTION", "7"),
                 ScriptConstant("int", "EFFECT_TYPE_TEMPORARY_HITPOINTS", "9"),
                 ScriptConstant("int", "EFFECT_TYPE_ENTANGLE", "11"),
                 ScriptConstant("int", "EFFECT_TYPE_INVULNERABLE", "12"),
                 ScriptConstant("int", "EFFECT_TYPE_DEAF", "13"),
                 ScriptConstant("int", "EFFECT_TYPE_RESURRECTION", "14"),
                 ScriptConstant("int", "EFFECT_TYPE_IMMUNITY", "15"),
                 ScriptConstant("int", "EFFECT_TYPE_ENEMY_ATTACK_BONUS", "17"),
                 ScriptConstant("int", "EFFECT_TYPE_ARCANE_SPELL_FAILURE", "18"),
                 ScriptConstant("int", "EFFECT_TYPE_AREA_OF_EFFECT", "20"),
                 ScriptConstant("int", "EFFECT_TYPE_BEAM", "21"), ScriptConstant("int", "EFFECT_TYPE_CHARMED", "23"),
                 ScriptConstant("int", "EFFECT_TYPE_CONFUSED", "24"),
                 ScriptConstant("int", "EFFECT_TYPE_FRIGHTENED", "25"),
                 ScriptConstant("int", "EFFECT_TYPE_DOMINATED", "26"),
                 ScriptConstant("int", "EFFECT_TYPE_PARALYZE", "27"), ScriptConstant("int", "EFFECT_TYPE_DAZED", "28"),
                 ScriptConstant("int", "EFFECT_TYPE_STUNNED", "29"), ScriptConstant("int", "EFFECT_TYPE_SLEEP", "30"),
                 ScriptConstant("int", "EFFECT_TYPE_POISON", "31"), ScriptConstant("int", "EFFECT_TYPE_DISEASE", "32"),
                 ScriptConstant("int", "EFFECT_TYPE_CURSE", "33"), ScriptConstant("int", "EFFECT_TYPE_SILENCE", "34"),
                 ScriptConstant("int", "EFFECT_TYPE_TURNED", "35"), ScriptConstant("int", "EFFECT_TYPE_HASTE", "36"),
                 ScriptConstant("int", "EFFECT_TYPE_SLOW", "37"),
                 ScriptConstant("int", "EFFECT_TYPE_ABILITY_INCREASE", "38"),
                 ScriptConstant("int", "EFFECT_TYPE_ABILITY_DECREASE", "39"),
                 ScriptConstant("int", "EFFECT_TYPE_ATTACK_INCREASE", "40"),
                 ScriptConstant("int", "EFFECT_TYPE_ATTACK_DECREASE", "41"),
                 ScriptConstant("int", "EFFECT_TYPE_DAMAGE_INCREASE", "42"),
                 ScriptConstant("int", "EFFECT_TYPE_DAMAGE_DECREASE", "43"),
                 ScriptConstant("int", "EFFECT_TYPE_DAMAGE_IMMUNITY_INCREASE", "44"),
                 ScriptConstant("int", "EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE", "45"),
                 ScriptConstant("int", "EFFECT_TYPE_AC_INCREASE", "46"),
                 ScriptConstant("int", "EFFECT_TYPE_AC_DECREASE", "47"),
                 ScriptConstant("int", "EFFECT_TYPE_MOVEMENT_SPEED_INCREASE", "48"),
                 ScriptConstant("int", "EFFECT_TYPE_MOVEMENT_SPEED_DECREASE", "49"),
                 ScriptConstant("int", "EFFECT_TYPE_SAVING_THROW_INCREASE", "50"),
                 ScriptConstant("int", "EFFECT_TYPE_SAVING_THROW_DECREASE", "51"),
                 ScriptConstant("int", "EFFECT_TYPE_FORCE_RESISTANCE_INCREASE", "52"),
                 ScriptConstant("int", "EFFECT_TYPE_FORCE_RESISTANCE_DECREASE", "53"),
                 ScriptConstant("int", "EFFECT_TYPE_SKILL_INCREASE", "54"),
                 ScriptConstant("int", "EFFECT_TYPE_SKILL_DECREASE", "55"),
                 ScriptConstant("int", "EFFECT_TYPE_INVISIBILITY", "56"),
                 ScriptConstant("int", "EFFECT_TYPE_IMPROVEDINVISIBILITY", "57"),
                 ScriptConstant("int", "EFFECT_TYPE_DARKNESS", "58"),
                 ScriptConstant("int", "EFFECT_TYPE_DISPELMAGICALL", "59"),
                 ScriptConstant("int", "EFFECT_TYPE_ELEMENTALSHIELD", "60"),
                 ScriptConstant("int", "EFFECT_TYPE_NEGATIVELEVEL", "61"),
                 ScriptConstant("int", "EFFECT_TYPE_DISGUISE", "62"),
                 ScriptConstant("int", "EFFECT_TYPE_SANCTUARY", "63"),
                 ScriptConstant("int", "EFFECT_TYPE_TRUESEEING", "64"),
                 ScriptConstant("int", "EFFECT_TYPE_SEEINVISIBLE", "65"),
                 ScriptConstant("int", "EFFECT_TYPE_TIMESTOP", "66"),
                 ScriptConstant("int", "EFFECT_TYPE_BLINDNESS", "67"),
                 ScriptConstant("int", "EFFECT_TYPE_SPELLLEVELABSORPTION", "68"),
                 ScriptConstant("int", "EFFECT_TYPE_DISPELMAGICBEST", "69"),
                 ScriptConstant("int", "EFFECT_TYPE_ULTRAVISION", "70"),
                 ScriptConstant("int", "EFFECT_TYPE_MISS_CHANCE", "71"),
                 ScriptConstant("int", "EFFECT_TYPE_CONCEALMENT", "72"),
                 ScriptConstant("int", "EFFECT_TYPE_SPELL_IMMUNITY", "73"),
                 ScriptConstant("int", "EFFECT_TYPE_ASSUREDHIT", "74"),
                 ScriptConstant("int", "EFFECT_TYPE_VISUAL", "75"),
                 ScriptConstant("int", "EFFECT_TYPE_LIGHTSABERTHROW", "76"),
                 ScriptConstant("int", "EFFECT_TYPE_FORCEJUMP", "77"),
                 ScriptConstant("int", "EFFECT_TYPE_ASSUREDDEFLECTION", "78"),
                 ScriptConstant("int", "EFFECT_TYPE_DROID_CONFUSED", "79"),
                 ScriptConstant("int", "EFFECT_TYPE_MINDTRICK", "80"),
                 ScriptConstant("int", "EFFECT_TYPE_DROIDSCRAMBLE", "81"),
                 ScriptConstant("int", "ITEM_PROPERTY_ABILITY_BONUS", "0"),
                 ScriptConstant("int", "ITEM_PROPERTY_AC_BONUS", "1"),
                 ScriptConstant("int", "ITEM_PROPERTY_AC_BONUS_VS_ALIGNMENT_GROUP", "2"),
                 ScriptConstant("int", "ITEM_PROPERTY_AC_BONUS_VS_DAMAGE_TYPE", "3"),
                 ScriptConstant("int", "ITEM_PROPERTY_AC_BONUS_VS_RACIAL_GROUP", "4"),
                 ScriptConstant("int", "ITEM_PROPERTY_ENHANCEMENT_BONUS", "5"),
                 ScriptConstant("int", "ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_ALIGNMENT_GROUP", "6"),
                 ScriptConstant("int", "ITEM_PROPERTY_ENHANCEMENT_BONUS_VS_RACIAL_GROUP", "7"),
                 ScriptConstant("int", "ITEM_PROPERTY_ATTACK_PENALTY", "8"),
                 ScriptConstant("int", "ITEM_PROPERTY_BONUS_FEAT", "9"),
                 ScriptConstant("int", "ITEM_PROPERTY_ACTIVATE_ITEM", "10"),
                 ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_BONUS", "11"),
                 ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_BONUS_VS_ALIGNMENT_GROUP", "12"),
                 ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_BONUS_VS_RACIAL_GROUP", "13"),
                 ScriptConstant("int", "ITEM_PROPERTY_IMMUNITY_DAMAGE_TYPE", "14"),
                 ScriptConstant("int", "ITEM_PROPERTY_DECREASED_DAMAGE", "15"),
                 ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_REDUCTION", "16"),
                 ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_RESISTANCE", "17"),
                 ScriptConstant("int", "ITEM_PROPERTY_DAMAGE_VULNERABILITY", "18"),
                 ScriptConstant("int", "ITEM_PROPERTY_DECREASED_ABILITY_SCORE", "19"),
                 ScriptConstant("int", "ITEM_PROPERTY_DECREASED_AC", "20"),
                 ScriptConstant("int", "ITEM_PROPERTY_DECREASED_SKILL_MODIFIER", "21"),
                 ScriptConstant("int", "ITEM_PROPERTY_EXTRA_MELEE_DAMAGE_TYPE", "22"),
                 ScriptConstant("int", "ITEM_PROPERTY_EXTRA_RANGED_DAMAGE_TYPE", "23"),
                 ScriptConstant("int", "ITEM_PROPERTY_IMMUNITY", "24"),
                 ScriptConstant("int", "ITEM_PROPERTY_IMPROVED_FORCE_RESISTANCE", "25"),
                 ScriptConstant("int", "ITEM_PROPERTY_IMPROVED_SAVING_THROW", "26"),
                 ScriptConstant("int", "ITEM_PROPERTY_IMPROVED_SAVING_THROW_SPECIFIC", "27"),
                 ScriptConstant("int", "ITEM_PROPERTY_KEEN", "28"), ScriptConstant("int", "ITEM_PROPERTY_LIGHT", "29"),
                 ScriptConstant("int", "ITEM_PROPERTY_MIGHTY", "30"),
                 ScriptConstant("int", "ITEM_PROPERTY_NO_DAMAGE", "31"),
                 ScriptConstant("int", "ITEM_PROPERTY_ON_HIT_PROPERTIES", "32"),
                 ScriptConstant("int", "ITEM_PROPERTY_DECREASED_SAVING_THROWS", "33"),
                 ScriptConstant("int", "ITEM_PROPERTY_DECREASED_SAVING_THROWS_SPECIFIC", "34"),
                 ScriptConstant("int", "ITEM_PROPERTY_REGENERATION", "35"),
                 ScriptConstant("int", "ITEM_PROPERTY_SKILL_BONUS", "36"),
                 ScriptConstant("int", "ITEM_PROPERTY_SECURITY_SPIKE", "37"),
                 ScriptConstant("int", "ITEM_PROPERTY_ATTACK_BONUS", "38"),
                 ScriptConstant("int", "ITEM_PROPERTY_ATTACK_BONUS_VS_ALIGNMENT_GROUP", "39"),
                 ScriptConstant("int", "ITEM_PROPERTY_ATTACK_BONUS_VS_RACIAL_GROUP", "40"),
                 ScriptConstant("int", "ITEM_PROPERTY_DECREASED_ATTACK_MODIFIER", "41"),
                 ScriptConstant("int", "ITEM_PROPERTY_UNLIMITED_AMMUNITION", "42"),
                 ScriptConstant("int", "ITEM_PROPERTY_USE_LIMITATION_ALIGNMENT_GROUP", "43"),
                 ScriptConstant("int", "ITEM_PROPERTY_USE_LIMITATION_CLASS", "44"),
                 ScriptConstant("int", "ITEM_PROPERTY_USE_LIMITATION_RACIAL_TYPE", "45"),
                 ScriptConstant("int", "ITEM_PROPERTY_TRAP", "46"),
                 ScriptConstant("int", "ITEM_PROPERTY_TRUE_SEEING", "47"),
                 ScriptConstant("int", "ITEM_PROPERTY_ON_MONSTER_HIT", "48"),
                 ScriptConstant("int", "ITEM_PROPERTY_MASSIVE_CRITICALS", "49"),
                 ScriptConstant("int", "ITEM_PROPERTY_FREEDOM_OF_MOVEMENT", "50"),
                 ScriptConstant("int", "ITEM_PROPERTY_MONSTER_DAMAGE", "51"),
                 ScriptConstant("int", "ITEM_PROPERTY_SPECIAL_WALK", "52"),
                 ScriptConstant("int", "ITEM_PROPERTY_COMPUTER_SPIKE", "53"),
                 ScriptConstant("int", "ITEM_PROPERTY_REGENERATION_FORCE_POINTS", "54"),
                 ScriptConstant("int", "ITEM_PROPERTY_BLASTER_BOLT_DEFLECT_INCREASE", "55"),
                 ScriptConstant("int", "ITEM_PROPERTY_BLASTER_BOLT_DEFLECT_DECREASE", "56"),
                 ScriptConstant("int", "ITEM_PROPERTY_USE_LIMITATION_FEAT", "57"),
                 ScriptConstant("int", "ITEM_PROPERTY_DROID_REPAIR_KIT", "58"),
                 ScriptConstant("int", "ITEM_PROPERTY_DISGUISE", "59//RWT-OEI"),
                 ScriptConstant("int", "ITEM_PROPERTY_LIMIT_USE_BY_GENDER", "60"),
                 ScriptConstant("int", "ITEM_PROPERTY_LIMIT_USE_BY_SUBRACE", "61"),
                 ScriptConstant("int", "ITEM_PROPERTY_LIMIT_USE_BY_PC", "62"),
                 ScriptConstant("int", "ITEM_PROPERTY_DAMPEN_SOUND", "63"),
                 ScriptConstant("int", "ITEM_PROPERTY_DOORCUTTING", "64"),
                 ScriptConstant("int", "ITEM_PROPERTY_DOORSABERING", "65"),
                 ScriptConstant("int", "BASE_ITEM_QUARTER_STAFF", "0"),
                 ScriptConstant("int", "BASE_ITEM_STUN_BATON", "1"), ScriptConstant("int", "BASE_ITEM_LONG_SWORD", "2"),
                 ScriptConstant("int", "BASE_ITEM_VIBRO_SWORD", "3"),
                 ScriptConstant("int", "BASE_ITEM_SHORT_SWORD", "4"),
                 ScriptConstant("int", "BASE_ITEM_VIBRO_BLADE", "5"),
                 ScriptConstant("int", "BASE_ITEM_DOUBLE_BLADED_SWORD", "6"),
                 ScriptConstant("int", "BASE_ITEM_VIBRO_DOUBLE_BLADE", "7"),
                 ScriptConstant("int", "BASE_ITEM_LIGHTSABER", "8"),
                 ScriptConstant("int", "BASE_ITEM_DOUBLE_BLADED_LIGHTSABER", "9"),
                 ScriptConstant("int", "BASE_ITEM_SHORT_LIGHTSABER", "10"),
                 ScriptConstant("int", "BASE_ITEM_LIGHTSABER_CRYSTALS", "11"),
                 ScriptConstant("int", "BASE_ITEM_BLASTER_PISTOL", "12"),
                 ScriptConstant("int", "BASE_ITEM_HEAVY_BLASTER", "13"),
                 ScriptConstant("int", "BASE_ITEM_HOLD_OUT_BLASTER", "14"),
                 ScriptConstant("int", "BASE_ITEM_ION_BLASTER", "15"),
                 ScriptConstant("int", "BASE_ITEM_DISRUPTER_PISTOL", "16"),
                 ScriptConstant("int", "BASE_ITEM_SONIC_PISTOL", "17"),
                 ScriptConstant("int", "BASE_ITEM_ION_RIFLE", "18"), ScriptConstant("int", "BASE_ITEM_BOWCASTER", "19"),
                 ScriptConstant("int", "BASE_ITEM_BLASTER_CARBINE", "20"),
                 ScriptConstant("int", "BASE_ITEM_DISRUPTER_RIFLE", "21"),
                 ScriptConstant("int", "BASE_ITEM_SONIC_RIFLE", "22"),
                 ScriptConstant("int", "BASE_ITEM_REPEATING_BLASTER", "23"),
                 ScriptConstant("int", "BASE_ITEM_HEAVY_REPEATING_BLASTER", "24"),
                 ScriptConstant("int", "BASE_ITEM_FRAGMENTATION_GRENADES", "25"),
                 ScriptConstant("int", "BASE_ITEM_STUN_GRENADES", "26"),
                 ScriptConstant("int", "BASE_ITEM_THERMAL_DETONATOR", "27"),
                 ScriptConstant("int", "BASE_ITEM_POISON_GRENADE", "28"),
                 ScriptConstant("int", "BASE_ITEM_FLASH_GRENADE", "29"),
                 ScriptConstant("int", "BASE_ITEM_SONIC_GRENADE", "30"),
                 ScriptConstant("int", "BASE_ITEM_ADHESIVE_GRENADE", "31"),
                 ScriptConstant("int", "BASE_ITEM_CRYOBAN_GRENADE", "32"),
                 ScriptConstant("int", "BASE_ITEM_FIRE_GRENADE", "33"),
                 ScriptConstant("int", "BASE_ITEM_ION_GRENADE", "34"),
                 ScriptConstant("int", "BASE_ITEM_JEDI_ROBE", "35"),
                 ScriptConstant("int", "BASE_ITEM_JEDI_KNIGHT_ROBE", "36"),
                 ScriptConstant("int", "BASE_ITEM_JEDI_MASTER_ROBE", "37"),
                 ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_4", "38"),
                 ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_5", "39"),
                 ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_6", "40"),
                 ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_7", "41"),
                 ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_8", "42"),
                 ScriptConstant("int", "BASE_ITEM_ARMOR_CLASS_9", "43"), ScriptConstant("int", "BASE_ITEM_MASK", "44"),
                 ScriptConstant("int", "BASE_ITEM_GAUNTLETS", "45"),
                 ScriptConstant("int", "BASE_ITEM_FOREARM_BANDS", "46"), ScriptConstant("int", "BASE_ITEM_BELT", "47"),
                 ScriptConstant("int", "BASE_ITEM_IMPLANT_1", "48"), ScriptConstant("int", "BASE_ITEM_IMPLANT_2", "49"),
                 ScriptConstant("int", "BASE_ITEM_IMPLANT_3", "50"), ScriptConstant("int", "BASE_ITEM_DATA_PAD", "52"),
                 ScriptConstant("int", "BASE_ITEM_ADRENALINE", "53"),
                 ScriptConstant("int", "BASE_ITEM_COMBAT_SHOTS", "54"),
                 ScriptConstant("int", "BASE_ITEM_MEDICAL_EQUIPMENT", "55"),
                 ScriptConstant("int", "BASE_ITEM_DROID_REPAIR_EQUIPMENT", "56"),
                 ScriptConstant("int", "BASE_ITEM_CREDITS", "57"), ScriptConstant("int", "BASE_ITEM_TRAP_KIT", "58"),
                 ScriptConstant("int", "BASE_ITEM_SECURITY_SPIKES", "59"),
                 ScriptConstant("int", "BASE_ITEM_PROGRAMMING_SPIKES", "60"),
                 ScriptConstant("int", "BASE_ITEM_GLOW_ROD", "61"),
                 ScriptConstant("int", "BASE_ITEM_COLLAR_LIGHT", "62"), ScriptConstant("int", "BASE_ITEM_TORCH", "63"),
                 ScriptConstant("int", "BASE_ITEM_PLOT_USEABLE_ITEMS", "64"),
                 ScriptConstant("int", "BASE_ITEM_AESTHETIC_ITEM", "65"),
                 ScriptConstant("int", "BASE_ITEM_DROID_LIGHT_PLATING", "66"),
                 ScriptConstant("int", "BASE_ITEM_DROID_MEDIUM_PLATING", "67"),
                 ScriptConstant("int", "BASE_ITEM_DROID_HEAVY_PLATING", "68"),
                 ScriptConstant("int", "BASE_ITEM_DROID_SEARCH_SCOPE", "69"),
                 ScriptConstant("int", "BASE_ITEM_DROID_MOTION_SENSORS", "70"),
                 ScriptConstant("int", "BASE_ITEM_DROID_SONIC_SENSORS", "71"),
                 ScriptConstant("int", "BASE_ITEM_DROID_TARGETING_COMPUTERS", "72"),
                 ScriptConstant("int", "BASE_ITEM_DROID_COMPUTER_SPIKE_MOUNT", "73"),
                 ScriptConstant("int", "BASE_ITEM_DROID_SECURITY_SPIKE_MOUNT", "74"),
                 ScriptConstant("int", "BASE_ITEM_DROID_SHIELD", "75"),
                 ScriptConstant("int", "BASE_ITEM_DROID_UTILITY_DEVICE", "76"),
                 ScriptConstant("int", "BASE_ITEM_BLASTER_RIFLE", "77"),
                 ScriptConstant("int", "BASE_ITEM_GHAFFI_STICK", "78"),
                 ScriptConstant("int", "BASE_ITEM_WOOKIE_WARBLADE", "79"),
                 ScriptConstant("int", "BASE_ITEM_GAMMOREAN_BATTLEAXE", "80"),
                 ScriptConstant("int", "BASE_ITEM_CREATURE_ITEM_SLASH", "81"),
                 ScriptConstant("int", "BASE_ITEM_CREATURE_ITEM_PIERCE", "82"),
                 ScriptConstant("int", "BASE_ITEM_CREATURE_WEAPON_SL_PRC", "83"),
                 ScriptConstant("int", "BASE_ITEM_CREATURE_HIDE_ITEM", "84"),
                 ScriptConstant("int", "BASE_ITEM_BASIC_CLOTHING", "85"),
                 ScriptConstant("int", "BASE_ITEM_WRIST_LAUNCHER", "91"),
                 ScriptConstant("int", "BASE_ITEM_FORCE_PIKE", "93"), ScriptConstant("int", "BASE_ITEM_INVALID", "256"),
                 ScriptConstant("int", "ATTACK_RESULT_INVALID", "0"),
                 ScriptConstant("int", "ATTACK_RESULT_HIT_SUCCESSFUL", "1"),
                 ScriptConstant("int", "ATTACK_RESULT_CRITICAL_HIT", "2"),
                 ScriptConstant("int", "ATTACK_RESULT_AUTOMATIC_HIT", "3"),
                 ScriptConstant("int", "ATTACK_RESULT_MISS", "4"),
                 ScriptConstant("int", "ATTACK_RESULT_ATTACK_RESISTED", "5"),
                 ScriptConstant("int", "ATTACK_RESULT_ATTACK_FAILED", "6"),
                 ScriptConstant("int", "ATTACK_RESULT_PARRIED", "8"),
                 ScriptConstant("int", "ATTACK_RESULT_DEFLECTED", "9"), ScriptConstant("int", "VFX_NONE", "-1"),
                 ScriptConstant("int", "VFX_IMP_HEALING_SMALL", "1001"),
                 ScriptConstant("int", "VFX_IMP_FORCE_JUMP_ADVANCED", "1002"),
                 ScriptConstant("int", "VFX_PRO_AFFLICT", "1003"), ScriptConstant("int", "VFX_IMP_CHOKE", "1004"),
                 ScriptConstant("int", "VFX_IMP_CURE", "1005"), ScriptConstant("int", "VFX_PRO_DEATH_FIELD", "1006"),
                 ScriptConstant("int", "VFX_PRO_DROID_DISABLE", "1007"),
                 ScriptConstant("int", "VFX_PRO_DROID_KILL", "1008"), ScriptConstant("int", "VFX_PRO_DRAIN", "1009"),
                 ScriptConstant("int", "VFX_PRO_FORCE_ARMOR", "1010"),
                 ScriptConstant("int", "VFX_PRO_FORCE_AURA", "1011"),
                 ScriptConstant("int", "VFX_IMP_FORCE_BREACH", "1012"),
                 ScriptConstant("int", "VFX_IMP_FORCE_PUSH", "1014"),
                 ScriptConstant("int", "VFX_PRO_FORCE_SHIELD", "1015"),
                 ScriptConstant("int", "VFX_IMP_FORCE_WAVE", "1017"),
                 ScriptConstant("int", "VFX_IMP_FORCE_WHIRLWIND", "1018"),
                 ScriptConstant("int", "VFX_IMP_HEAL", "1019"), ScriptConstant("int", "VFX_IMP_SPEED_KNIGHT", "1020"),
                 ScriptConstant("int", "VFX_PRO_LIGHTNING_L", "1021"),
                 ScriptConstant("int", "VFX_IMP_SPEED_MASTERY", "1022"),
                 ScriptConstant("int", "VFX_PRO_RESIST_ELEMENTS", "1025"),
                 ScriptConstant("int", "VFX_PRO_RESIST_FORCE", "1026"),
                 ScriptConstant("int", "VFX_PRO_RESIST_POISON", "1027"),
                 ScriptConstant("int", "VFX_PRO_LIGHTNING_S", "1028"),
                 ScriptConstant("int", "VFX_IMP_MIND_FORCE", "1031"),
                 ScriptConstant("int", "VFX_IMP_SUPPRESS_FORCE", "1032"),
                 ScriptConstant("int", "VFX_IMP_MIND_KINIGHT", "1033"),
                 ScriptConstant("int", "VFX_IMP_MIND_MASTERY", "1034"),
                 ScriptConstant("int", "VFX_PRO_LIGHTNING_JEDI", "1035"),
                 ScriptConstant("int", "VFX_PRO_LIGHTNING_L_SOUND", "1036"),
                 ScriptConstant("int", "VFX_IMP_GRENADE_ADHESIVE_PERSONAL", "1038"),
                 ScriptConstant("int", "VFX_IMP_FLAME", "1039"), ScriptConstant("int", "VFX_IMP_STUN", "1040"),
                 ScriptConstant("int", "VFX_DUR_STEALTH_PULSE", "2000"),
                 ScriptConstant("int", "VFX_DUR_INVISIBILITY", "2001"), ScriptConstant("int", "VFX_DUR_SPEED", "2004"),
                 ScriptConstant("int", "VFX_DUR_FORCE_WHIRLWIND", "2007"),
                 ScriptConstant("int", "VFX_DUR_HOLD", "2008"), ScriptConstant("int", "VFX_DUR_BODY_FUAL", "2024"),
                 ScriptConstant("int", "VFX_DUR_PSYCHIC_STATIC", "2025"),
                 ScriptConstant("int", "VFX_BEAM_DEATH_FIELD_TENTACLE", "2026"),
                 ScriptConstant("int", "VFX_BEAM_DROID_DISABLE", "2027"),
                 ScriptConstant("int", "VFX_BEAM_DROID_DESTROY", "2028"),
                 ScriptConstant("int", "VFX_BEAM_DRAIN_LIFE", "2029"),
                 ScriptConstant("int", "VFX_DUR_KNIGHTS_SPEED", "2031"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_RED_MARK_I", "2032"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_RED_MARK_II", "2034"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_RED_MARK_IV", "2035"),
                 ScriptConstant("int", "VFX_BEAM_LIGHTNING_DARK_S", "2037"),
                 ScriptConstant("int", "VFX_BEAM_LIGHTNING_DARK_L", "2038"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_01", "2040"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_02", "2041"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_03", "2042"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_04", "2043"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_GREEN_01", "2044"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_RED_01", "2045"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_RED_02", "2046"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_CHROME_01", "2047"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_CHROME_02", "2048"),
                 ScriptConstant("int", "VFX_BEAM_ION_RAY_01", "2049"),
                 ScriptConstant("int", "VFX_BEAM_ION_RAY_02", "2050"),
                 ScriptConstant("int", "VFX_BEAM_COLD_RAY", "2051"), ScriptConstant("int", "VFX_BEAM_STUN_RAY", "2052"),
                 ScriptConstant("int", "VFX_BEAM_FLAME_SPRAY", "2053"),
                 ScriptConstant("int", "VFX_DUR_CARBONITE_ENCASING", "2054"),
                 ScriptConstant("int", "VFX_DUR_CARBONITE_CHUNKS", "2055"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_MARK_I", "2056"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_MARK_II", "2058"),
                 ScriptConstant("int", "VFX_DUR_SHIELD_BLUE_MARK_IV", "2059"),
                 ScriptConstant("int", "VFX_DUR_ELECTRICAL_SPARK", "2067"),
                 ScriptConstant("int", "VFX_FNF_FORCE_WAVE", "3001"),
                 ScriptConstant("int", "VFX_FNF_PLOT_MAN_SONIC_WAVE", "3002"),
                 ScriptConstant("int", "VFX_FNF_GRENADE_FRAGMENTATION", "3003"),
                 ScriptConstant("int", "VFX_FNF_GRENADE_STUN", "3004"),
                 ScriptConstant("int", "VFX_FNF_GRENADE_THERMAL_DETONATOR", "3005"),
                 ScriptConstant("int", "VFX_FNF_GRENADE_POISON", "3006"),
                 ScriptConstant("int", "VFX_FNF_GRENADE_SONIC", "3007"),
                 ScriptConstant("int", "VFX_FNF_GRENADE_ADHESIVE", "3008"),
                 ScriptConstant("int", "VFX_FNF_GRENADE_CRYOBAN", "3009"),
                 ScriptConstant("int", "VFX_FNF_GRENADE_PLASMA", "3010"),
                 ScriptConstant("int", "VFX_FNF_GRENADE_ION", "3011"),
                 ScriptConstant("int", "VFX_FNF_GRAVITY_GENERATOR", "3013"),
                 ScriptConstant("int", "VFX_COM_SPARKS_LARGE", "4003"),
                 ScriptConstant("int", "VFX_COM_SPARKS_LIGHTSABER", "4004"),
                 ScriptConstant("int", "VFX_COM_SPARKS_PARRY_METAL", "4011"),
                 ScriptConstant("int", "VFX_COM_POWER_ATTACK_IMPROVED_STAFF", "4012"),
                 ScriptConstant("int", "VFX_COM_POWER_BLAST_IMPROVED", "4013"),
                 ScriptConstant("int", "VFX_COM_CRITICAL_STRIKE_IMPROVED_STAFF", "4014"),
                 ScriptConstant("int", "VFX_COM_SNIPER_SHOT_IMPROVED", "4015"),
                 ScriptConstant("int", "VFX_COM_MULTI_SHOT", "4016"),
                 ScriptConstant("int", "VFX_COM_WHIRLWIND_STRIKE_STAFF", "4017"),
                 ScriptConstant("int", "VFX_COM_CRITICAL_STRIKE_MASTERY_STAFF", "4018"),
                 ScriptConstant("int", "VFX_COM_POWER_ATTACK_MASTERY_STAFF", "4019"),
                 ScriptConstant("int", "VFX_COM_SNIPER_SHOT_MASTERY", "4020"),
                 ScriptConstant("int", "VFX_COM_FLURRY_IMPROVED_STAFF", "4021"),
                 ScriptConstant("int", "VFX_COM_RAPID_SHOT_IMPROVED", "4022"),
                 ScriptConstant("int", "VFX_COM_BLASTER_DEFLECTION", "4023"),
                 ScriptConstant("int", "VFX_COM_BLASTER_IMPACT", "4024"),
                 ScriptConstant("int", "VFX_COM_CRITICAL_STRIKE_IMPROVED_SABER", "4025"),
                 ScriptConstant("int", "VFX_COM_CRITICAL_STRIKE_MASTERY_SABER", "4026"),
                 ScriptConstant("int", "VFX_COM_POWER_ATTACK_IMPROVED_SABER", "4027"),
                 ScriptConstant("int", "VFX_COM_POWER_ATTACK_MASTERY_SABER", "4028"),
                 ScriptConstant("int", "VFX_COM_POWER_BLAST_MASTERY", "4029"),
                 ScriptConstant("int", "VFX_COM_FLURRY_IMPROVED_SABER", "4030"),
                 ScriptConstant("int", "VFX_COM_WHIRLWIND_STRIKE_SABER", "4031"),
                 ScriptConstant("int", "VFX_COM_BLASTER_IMPACT_GROUND", "4032"),
                 ScriptConstant("int", "VFX_COM_SPARKS_BLASTER", "4033"),
                 ScriptConstant("int", "VFX_COM_DROID_EXPLOSION_1", "4034"),
                 ScriptConstant("int", "VFX_COM_DROID_EXPLOSION_2", "4035"),
                 ScriptConstant("int", "VFX_COM_JEDI_FORCE_FIZZLE", "4036"),
                 ScriptConstant("int", "VFX_COM_FORCE_RESISTED", "4037"),
                 ScriptConstant("int", "VFX_ARD_LIGHT_YELLOW_10", "5000"),
                 ScriptConstant("int", "VFX_ARD_LIGHT_YELLOW_20", "5001"),
                 ScriptConstant("int", "VFX_ARD_LIGHT_BLIND", "5002"),
                 ScriptConstant("int", "VFX_ARD_HEAT_SHIMMER", "5003"), ScriptConstant("int", "VFX_IMP_MIRV", "6000"),
                 ScriptConstant("int", "VFX_IMP_MIRV_IMPACT", "6001"),
                 ScriptConstant("int", "VFX_IMP_SCREEN_SHAKE", "6002"),
                 ScriptConstant("int", "VFX_DUR_HOLO_PROJECT", "9010"), ScriptConstant("int", "AOE_PER_FOGACID", "0"),
                 ScriptConstant("int", "AOE_PER_FOGFIRE", "1"), ScriptConstant("int", "AOE_PER_FOGSTINK", "2"),
                 ScriptConstant("int", "AOE_PER_FOGKILL", "3"), ScriptConstant("int", "AOE_PER_FOGMIND", "4"),
                 ScriptConstant("int", "AOE_PER_WALLFIRE", "5"), ScriptConstant("int", "AOE_PER_WALLWIND", "6"),
                 ScriptConstant("int", "AOE_PER_WALLBLADE", "7"), ScriptConstant("int", "AOE_PER_WEB", "8"),
                 ScriptConstant("int", "AOE_PER_ENTANGLE", "9"), ScriptConstant("int", "AOE_PER_DARKNESS", "11"),
                 ScriptConstant("int", "AOE_MOB_CIRCEVIL", "12"), ScriptConstant("int", "AOE_MOB_CIRCGOOD", "13"),
                 ScriptConstant("int", "AOE_MOB_CIRCLAW", "14"), ScriptConstant("int", "AOE_MOB_CIRCCHAOS", "15"),
                 ScriptConstant("int", "AOE_MOB_FEAR", "16"), ScriptConstant("int", "AOE_MOB_BLINDING", "17"),
                 ScriptConstant("int", "AOE_MOB_UNEARTHLY", "18"), ScriptConstant("int", "AOE_MOB_MENACE", "19"),
                 ScriptConstant("int", "AOE_MOB_UNNATURAL", "20"), ScriptConstant("int", "AOE_MOB_STUN", "21"),
                 ScriptConstant("int", "AOE_MOB_PROTECTION", "22"), ScriptConstant("int", "AOE_MOB_FIRE", "23"),
                 ScriptConstant("int", "AOE_MOB_FROST", "24"), ScriptConstant("int", "AOE_MOB_ELECTRICAL", "25"),
                 ScriptConstant("int", "AOE_PER_FOGGHOUL", "26"), ScriptConstant("int", "AOE_MOB_TYRANT_FOG", "27"),
                 ScriptConstant("int", "AOE_PER_STORM", "28"), ScriptConstant("int", "AOE_PER_INVIS_SPHERE", "29"),
                 ScriptConstant("int", "AOE_MOB_SILENCE", "30"),
                 ScriptConstant("int", "AOE_PER_DELAY_BLAST_FIREBALL", "31"),
                 ScriptConstant("int", "AOE_PER_GREASE", "32"), ScriptConstant("int", "AOE_PER_CREEPING_DOOM", "33"),
                 ScriptConstant("int", "AOE_PER_EVARDS_BLACK_TENTACLES", "34"),
                 ScriptConstant("int", "AOE_MOB_INVISIBILITY_PURGE", "35"),
                 ScriptConstant("int", "AOE_MOB_DRAGON_FEAR", "36"),
                 ScriptConstant("int", "FORM_MASK_FORCE_FOCUS", "1"),
                 ScriptConstant("int", "FORM_MASK_ENDURING_FORCE", "2"),
                 ScriptConstant("int", "FORM_MASK_FORCE_AMPLIFICATION", "4"),
                 ScriptConstant("int", "FORM_MASK_FORCE_POTENCY", "8"),
                 ScriptConstant("int", "FORM_MASK_REGENERATION", "16"),
                 ScriptConstant("int", "FORM_MASK_POWER_OF_THE_DARK_SIDE", "32"),
                 ScriptConstant("int", "FORCE_POWER_ALL_FORCE_POWERS", "-1"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_ALTER", "0"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_CONTROL", "1"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_SENSE", "2"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_JUMP_ADVANCED", "3"),
                 ScriptConstant("int", "FORCE_POWER_LIGHT_SABER_THROW_ADVANCED", "4"),
                 ScriptConstant("int", "FORCE_POWER_REGNERATION_ADVANCED", "5"),
                 ScriptConstant("int", "FORCE_POWER_AFFECT_MIND", "6"),
                 ScriptConstant("int", "FORCE_POWER_AFFLICTION", "7"),
                 ScriptConstant("int", "FORCE_POWER_SPEED_BURST", "8"), ScriptConstant("int", "FORCE_POWER_CHOKE", "9"),
                 ScriptConstant("int", "FORCE_POWER_CURE", "10"),
                 ScriptConstant("int", "FORCE_POWER_DEATH_FIELD", "11"),
                 ScriptConstant("int", "FORCE_POWER_DROID_DISABLE", "12"),
                 ScriptConstant("int", "FORCE_POWER_DROID_DESTROY", "13"),
                 ScriptConstant("int", "FORCE_POWER_DOMINATE", "14"),
                 ScriptConstant("int", "FORCE_POWER_DRAIN_LIFE", "15"), ScriptConstant("int", "FORCE_POWER_FEAR", "16"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_ARMOR", "17"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_AURA", "18"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_BREACH", "19"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_IMMUNITY", "20"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_JUMP", "21"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_MIND", "22"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_PUSH", "23"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_SHIELD", "24"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_STORM", "25"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_WAVE", "26"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_WHIRLWIND", "27"),
                 ScriptConstant("int", "FORCE_POWER_HEAL", "28"), ScriptConstant("int", "FORCE_POWER_HOLD", "29"),
                 ScriptConstant("int", "FORCE_POWER_HORROR", "30"), ScriptConstant("int", "FORCE_POWER_INSANITY", "31"),
                 ScriptConstant("int", "FORCE_POWER_KILL", "32"),
                 ScriptConstant("int", "FORCE_POWER_KNIGHT_MIND", "33"),
                 ScriptConstant("int", "FORCE_POWER_KNIGHT_SPEED", "34"),
                 ScriptConstant("int", "FORCE_POWER_LIGHTNING", "35"),
                 ScriptConstant("int", "FORCE_POWER_MIND_MASTERY", "36"),
                 ScriptConstant("int", "FORCE_POWER_SPEED_MASTERY", "37"),
                 ScriptConstant("int", "FORCE_POWER_PLAGUE", "38"),
                 ScriptConstant("int", "FORCE_POWER_REGENERATION", "39"),
                 ScriptConstant("int", "FORCE_POWER_RESIST_COLD_HEAT_ENERGY", "40"),
                 ScriptConstant("int", "FORCE_POWER_RESIST_FORCE", "41"),
                 ScriptConstant("int", "FORCE_POWER_RESIST_POISON_DISEASE_SONIC", "42"),
                 ScriptConstant("int", "FORCE_POWER_SHOCK", "43"), ScriptConstant("int", "FORCE_POWER_SLEEP", "44"),
                 ScriptConstant("int", "FORCE_POWER_SLOW", "45"), ScriptConstant("int", "FORCE_POWER_STUN", "46"),
                 ScriptConstant("int", "FORCE_POWER_DROID_STUN", "47"),
                 ScriptConstant("int", "FORCE_POWER_SUPRESS_FORCE", "48"),
                 ScriptConstant("int", "FORCE_POWER_LIGHT_SABER_THROW", "49"),
                 ScriptConstant("int", "FORCE_POWER_WOUND", "50"),
                 ScriptConstant("int", "SPECIAL_ABILITY_BATTLE_MEDITATION", "51"),
                 ScriptConstant("int", "SPECIAL_ABILITY_BODY_FUEL", "52"),
                 ScriptConstant("int", "SPECIAL_ABILITY_COMBAT_REGENERATION", "53"),
                 ScriptConstant("int", "SPECIAL_ABILITY_WARRIOR_STANCE", "54"),
                 ScriptConstant("int", "SPECIAL_ABILITY_SENTINEL_STANCE", "55"),
                 ScriptConstant("int", "SPECIAL_ABILITY_DOMINATE_MIND", "56"),
                 ScriptConstant("int", "SPECIAL_ABILITY_PSYCHIC_STANCE", "57"),
                 ScriptConstant("int", "SPECIAL_ABILITY_CATHAR_REFLEXES", "58"),
                 ScriptConstant("int", "SPECIAL_ABILITY_ENHANCED_SENSES", "59"),
                 ScriptConstant("int", "SPECIAL_ABILITY_CAMOFLAGE", "60"),
                 ScriptConstant("int", "SPECIAL_ABILITY_TAUNT", "61"),
                 ScriptConstant("int", "SPECIAL_ABILITY_WHIRLING_DERVISH", "62"),
                 ScriptConstant("int", "SPECIAL_ABILITY_RAGE", "63"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_ENERGY_RESISTANCE", "133"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_HEAL", "134"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_BARRIER", "135"),
                 ScriptConstant("int", "FORCE_POWER_IMPROVED_FORCE_BARRIER", "136"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_FORCE_BARRIER", "137"),
                 ScriptConstant("int", "FORCE_POWER_BATTLE_MEDITATION_PC", "138"),
                 ScriptConstant("int", "FORCE_POWER_IMPROVED_BATTLE_MEDITATION_PC", "139"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_BATTLE_MEDITATION_PC", "140"),
                 ScriptConstant("int", "FORCE_POWER_BAT_MED_ENEMY", "141"),
                 ScriptConstant("int", "FORCE_POWER_IMP_BAT_MED_ENEMY", "142"),
                 ScriptConstant("int", "FORCE_POWER_MAS_BAT_MED_ENEMY", "143"),
                 ScriptConstant("int", "FORCE_POWER_CRUSH_OPPOSITION_I", "144"),
                 ScriptConstant("int", "FORCE_POWER_CRUSH_OPPOSITION_II", "145"),
                 ScriptConstant("int", "FORCE_POWER_CRUSH_OPPOSITION_III", "146"),
                 ScriptConstant("int", "FORCE_POWER_CRUSH_OPPOSITION_IV", "147"),
                 ScriptConstant("int", "FORCE_POWER_CRUSH_OPPOSITION_V", "148"),
                 ScriptConstant("int", "FORCE_POWER_CRUSH_OPPOSITION_VI", "149"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_BODY", "150"),
                 ScriptConstant("int", "FORCE_POWER_IMPROVED_FORCE_BODY", "151"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_FORCE_BODY", "152"),
                 ScriptConstant("int", "FORCE_POWER_DRAIN_FORCE", "153"),
                 ScriptConstant("int", "FORCE_POWER_IMPROVED_DRAIN_FORCE", "154"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_DRAIN_FORCE", "155"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_CAMOUFLAGE", "156"),
                 ScriptConstant("int", "FORCE_POWER_IMPROVED_FORCE_CAMOUFLAGE", "157"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_FORCE_CAMOUFLAGE", "158"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_SCREAM", "159"),
                 ScriptConstant("int", "FORCE_POWER_IMPROVED_FORCE_SCREAM", "160"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_FORCE_SCREAM", "161"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_REPULSION", "162"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_REDIRECTION", "163"),
                 ScriptConstant("int", "FORCE_POWER_FURY", "164"),
                 ScriptConstant("int", "FORCE_POWER_IMPROVED_FURY", "165"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_FURY", "166"),
                 ScriptConstant("int", "FORCE_POWER_INSPIRE_FOLLOWERS_I", "167"),
                 ScriptConstant("int", "FORCE_POWER_INSPIRE_FOLLOWERS_II", "168"),
                 ScriptConstant("int", "FORCE_POWER_INSPIRE_FOLLOWERS_III", "169"),
                 ScriptConstant("int", "FORCE_POWER_INSPIRE_FOLLOWERS_IV", "170"),
                 ScriptConstant("int", "FORCE_POWER_INSPIRE_FOLLOWERS_V", "171"),
                 ScriptConstant("int", "FORCE_POWER_INSPIRE_FOLLOWERS_VI", "172"),
                 ScriptConstant("int", "FORCE_POWER_REVITALIZE", "173"),
                 ScriptConstant("int", "FORCE_POWER_IMPROVED_REVITALIZE", "174"),
                 ScriptConstant("int", "FORCE_POWER_MASTER_REVITALIZE", "175"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_SIGHT", "176"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_CRUSH", "177"),
                 ScriptConstant("int", "FORCE_POWER_PRECOGNITION", "178"),
                 ScriptConstant("int", "FORCE_POWER_BATTLE_PRECOGNITION", "179"),
                 ScriptConstant("int", "FORCE_POWER_FORCE_ENLIGHTENMENT", "180"),
                 ScriptConstant("int", "FORCE_POWER_MIND_TRICK", "181"),
                 ScriptConstant("int", "FORCE_POWER_CONFUSION", "200"),
                 ScriptConstant("int", "FORCE_POWER_BEAST_TRICK", "182"),
                 ScriptConstant("int", "FORCE_POWER_BEAST_CONFUSION", "184"),
                 ScriptConstant("int", "FORCE_POWER_DROID_TRICK", "201"),
                 ScriptConstant("int", "FORCE_POWER_DROID_CONFUSION", "269"),
                 ScriptConstant("int", "FORCE_POWER_BREATH_CONTROL", "270"),
                 ScriptConstant("int", "FORCE_POWER_WOOKIEE_RAGE_I", "271"),
                 ScriptConstant("int", "FORCE_POWER_WOOKIEE_RAGE_II", "272"),
                 ScriptConstant("int", "FORCE_POWER_WOOKIEE_RAGE_III", "273"),
                 ScriptConstant("int", "FORM_LIGHTSABER_PADAWAN_I", "205"),
                 ScriptConstant("int", "FORM_LIGHTSABER_PADAWAN_II", "206"),
                 ScriptConstant("int", "FORM_LIGHTSABER_PADAWAN_III", "207"),
                 ScriptConstant("int", "FORM_LIGHTSABER_DAKLEAN_I", "208"),
                 ScriptConstant("int", "FORM_LIGHTSABER_DAKLEAN_II", "209"),
                 ScriptConstant("int", "FORM_LIGHTSABER_DAKLEAN_III", "210"),
                 ScriptConstant("int", "FORM_LIGHTSABER_SENTINEL_I", "211"),
                 ScriptConstant("int", "FORM_LIGHTSABER_SENTINEL_II", "212"),
                 ScriptConstant("int", "FORM_LIGHTSABER_SENTINEL_III", "213"),
                 ScriptConstant("int", "FORM_LIGHTSABER_SODAK_I", "214"),
                 ScriptConstant("int", "FORM_LIGHTSABER_SODAK_II", "215"),
                 ScriptConstant("int", "FORM_LIGHTSABER_SODAK_III", "216"),
                 ScriptConstant("int", "FORM_LIGHTSABER_ANCIENT_I", "217"),
                 ScriptConstant("int", "FORM_LIGHTSABER_ANCIENT_II", "218"),
                 ScriptConstant("int", "FORM_LIGHTSABER_ANCIENT_III", "219"),
                 ScriptConstant("int", "FORM_LIGHTSABER_MASTER_I", "220"),
                 ScriptConstant("int", "FORM_LIGHTSABER_MASTER_II", "221"),
                 ScriptConstant("int", "FORM_LIGHTSABER_MASTER_III", "222"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_FOCUS_I", "223"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_FOCUS_II", "224"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_FOCUS_III", "225"),
                 ScriptConstant("int", "FORM_CONSULAR_ENDURING_FORCE_I", "226"),
                 ScriptConstant("int", "FORM_CONSULAR_ENDURING_FORCE_II", "227"),
                 ScriptConstant("int", "FORM_CONSULAR_ENDURING_FORCE_III", "228"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_AMPLIFICATION_I", "229"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_AMPLIFICATION_II", "230"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_AMPLIFICATION_III", "231"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_SHELL_I", "232"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_SHELL_II", "233"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_SHELL_III", "234"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_POTENCY_I", "235"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_POTENCY_II", "236"),
                 ScriptConstant("int", "FORM_CONSULAR_FORCE_POTENCY_III", "237"),
                 ScriptConstant("int", "FORM_CONSULAR_REGENERATION_I", "238"),
                 ScriptConstant("int", "FORM_CONSULAR_REGENERATION_II", "239"),
                 ScriptConstant("int", "FORM_CONSULAR_REGENERATION_III", "240"),
                 ScriptConstant("int", "FORM_CONSULAR_POWER_OF_THE_DARK_SIDE_I", "241"),
                 ScriptConstant("int", "FORM_CONSULAR_POWER_OF_THE_DARK_SIDE_II", "242"),
                 ScriptConstant("int", "FORM_CONSULAR_POWER_OF_THE_DARK_SIDE_III", "243"),
                 ScriptConstant("int", "FORM_SABER_I_SHII_CHO", "258"),
                 ScriptConstant("int", "FORM_SABER_II_MAKASHI", "259"),
                 ScriptConstant("int", "FORM_SABER_III_SORESU", "260"),
                 ScriptConstant("int", "FORM_SABER_IV_ATARU", "261"),
                 ScriptConstant("int", "FORM_SABER_V_SHIEN", "262"),
                 ScriptConstant("int", "FORM_SABER_VI_NIMAN", "263"),
                 ScriptConstant("int", "FORM_SABER_VII_JUYO", "264"),
                 ScriptConstant("int", "FORM_FORCE_I_FOCUS", "265"),
                 ScriptConstant("int", "FORM_FORCE_II_POTENCY", "266"),
                 ScriptConstant("int", "FORM_FORCE_III_AFFINITY", "267"),
                 ScriptConstant("int", "FORM_FORCE_IV_MASTERY", "268"),
                 ScriptConstant("int", "POISON_ABILITY_SCORE_MILD", "0"),
                 ScriptConstant("int", "POISON_ABILITY_SCORE_AVERAGE", "1"),
                 ScriptConstant("int", "POISON_ABILITY_SCORE_VIRULENT", "2"),
                 ScriptConstant("int", "POISON_DAMAGE_MILD", "3"), ScriptConstant("int", "POISON_DAMAGE_AVERAGE", "4"),
                 ScriptConstant("int", "POISON_DAMAGE_VIRULENT", "5"),
                 ScriptConstant("int", "POISON_ABILITY_AND_DAMAGE_AVERAGE", "6"),
                 ScriptConstant("int", "POISON_ABILITY_AND_DAMAGE_VIRULENT", "7"),
                 ScriptConstant("int", "POISON_DAMAGE_ROCKET", "8"),
                 ScriptConstant("int", "POISON_DAMAGE_NORMAL_DART", "9"),
                 ScriptConstant("int", "POISON_DAMAGE_KYBER_DART", "10"),
                 ScriptConstant("int", "POISON_DAMAGE_KYBER_DART_HALF", "11"),
                 ScriptConstant("int", "CREATURE_TYPE_RACIAL_TYPE", "0"),
                 ScriptConstant("int", "CREATURE_TYPE_PLAYER_CHAR", "1"),
                 ScriptConstant("int", "CREATURE_TYPE_CLASS", "2"),
                 ScriptConstant("int", "CREATURE_TYPE_REPUTATION", "3"),
                 ScriptConstant("int", "CREATURE_TYPE_IS_ALIVE", "4"),
                 ScriptConstant("int", "CREATURE_TYPE_HAS_SPELL_EFFECT", "5"),
                 ScriptConstant("int", "CREATURE_TYPE_DOES_NOT_HAVE_SPELL_EFFECT", "6"),
                 ScriptConstant("int", "CREATURE_TYPE_PERCEPTION", "7"),
                 ScriptConstant("int", "REPUTATION_TYPE_FRIEND", "0"),
                 ScriptConstant("int", "REPUTATION_TYPE_ENEMY", "1"),
                 ScriptConstant("int", "REPUTATION_TYPE_NEUTRAL", "2"),
                 ScriptConstant("int", "PERCEPTION_SEEN_AND_HEARD", "0"),
                 ScriptConstant("int", "PERCEPTION_NOT_SEEN_AND_NOT_HEARD", "1"),
                 ScriptConstant("int", "PERCEPTION_HEARD_AND_NOT_SEEN", "2"),
                 ScriptConstant("int", "PERCEPTION_SEEN_AND_NOT_HEARD", "3"),
                 ScriptConstant("int", "PERCEPTION_NOT_HEARD", "4"), ScriptConstant("int", "PERCEPTION_HEARD", "5"),
                 ScriptConstant("int", "PERCEPTION_NOT_SEEN", "6"), ScriptConstant("int", "PERCEPTION_SEEN", "7"),
                 ScriptConstant("int", "PLAYER_CHAR_NOT_PC", "FALSE"),
                 ScriptConstant("int", "PLAYER_CHAR_IS_PC", "TRUE"), ScriptConstant("int", "CLASS_TYPE_SOLDIER", "0"),
                 ScriptConstant("int", "CLASS_TYPE_SCOUT", "1"), ScriptConstant("int", "CLASS_TYPE_SCOUNDREL", "2"),
                 ScriptConstant("int", "CLASS_TYPE_JEDIGUARDIAN", "3"),
                 ScriptConstant("int", "CLASS_TYPE_JEDICONSULAR", "4"),
                 ScriptConstant("int", "CLASS_TYPE_JEDISENTINEL", "5"),
                 ScriptConstant("int", "CLASS_TYPE_COMBATDROID", "6"),
                 ScriptConstant("int", "CLASS_TYPE_EXPERTDROID", "7"), ScriptConstant("int", "CLASS_TYPE_MINION", "8"),
                 ScriptConstant("int", "CLASS_TYPE_TECHSPECIALIST", "9"),
                 ScriptConstant("int", "CLASS_TYPE_BOUNTYHUNTER", "10"),
                 ScriptConstant("int", "CLASS_TYPE_JEDIWEAPONMASTER", "11"),
                 ScriptConstant("int", "CLASS_TYPE_JEDIMASTER", "12"),
                 ScriptConstant("int", "CLASS_TYPE_JEDIWATCHMAN", "13"),
                 ScriptConstant("int", "CLASS_TYPE_SITHMARAUDER", "14"),
                 ScriptConstant("int", "CLASS_TYPE_SITHLORD", "15"),
                 ScriptConstant("int", "CLASS_TYPE_SITHASSASSIN", "16"),
                 ScriptConstant("int", "CLASS_TYPE_INVALID", "255"),
                 ScriptConstant("int", "PERSISTENT_ZONE_ACTIVE", "0"),
                 ScriptConstant("int", "PERSISTENT_ZONE_FOLLOW", "1"),
                 ScriptConstant("int", "INVALID_STANDARD_FACTION", "-1"),
                 ScriptConstant("int", "STANDARD_FACTION_HOSTILE_1", "1"),
                 ScriptConstant("int", "STANDARD_FACTION_FRIENDLY_1", "2"),
                 ScriptConstant("int", "STANDARD_FACTION_HOSTILE_2", "3"),
                 ScriptConstant("int", "STANDARD_FACTION_FRIENDLY_2", "4"),
                 ScriptConstant("int", "STANDARD_FACTION_NEUTRAL", "5"),
                 ScriptConstant("int", "STANDARD_FACTION_INSANE", "6"),
                 ScriptConstant("int", "STANDARD_FACTION_PTAT_TUSKAN", "7"),
                 ScriptConstant("int", "STANDARD_FACTION_GLB_XOR", "8"),
                 ScriptConstant("int", "STANDARD_FACTION_SURRENDER_1", "9"),
                 ScriptConstant("int", "STANDARD_FACTION_SURRENDER_2", "10"),
                 ScriptConstant("int", "STANDARD_FACTION_PREDATOR", "11"),
                 ScriptConstant("int", "STANDARD_FACTION_PREY", "12"),
                 ScriptConstant("int", "STANDARD_FACTION_TRAP", "13"),
                 ScriptConstant("int", "STANDARD_FACTION_ENDAR_SPIRE", "14"),
                 ScriptConstant("int", "STANDARD_FACTION_RANCOR", "15"),
                 ScriptConstant("int", "STANDARD_FACTION_GIZKA_1", "16"),
                 ScriptConstant("int", "STANDARD_FACTION_GIZKA_2", "17"),
                 ScriptConstant("int", "STANDARD_FACTION_SELF_LOATHING", "21"),
                 ScriptConstant("int", "STANDARD_FACTION_ONE_ON_ONE", "22"),
                 ScriptConstant("int", "STANDARD_FACTION_PARTYPUPPET", "23"),
                 ScriptConstant("int", "SKILL_COMPUTER_USE", "0"), ScriptConstant("int", "SKILL_DEMOLITIONS", "1"),
                 ScriptConstant("int", "SKILL_STEALTH", "2"), ScriptConstant("int", "SKILL_AWARENESS", "3"),
                 ScriptConstant("int", "SKILL_PERSUADE", "4"), ScriptConstant("int", "SKILL_REPAIR", "5"),
                 ScriptConstant("int", "SKILL_SECURITY", "6"), ScriptConstant("int", "SKILL_TREAT_INJURY", "7"),
                 ScriptConstant("int", "SKILL_MAX_SKILLS", "8"), ScriptConstant("int", "SUBSKILL_FLAGTRAP", "100"),
                 ScriptConstant("int", "SUBSKILL_RECOVERTRAP", "101"),
                 ScriptConstant("int", "SUBSKILL_EXAMINETRAP", "102"),
                 ScriptConstant("int", "FEAT_ADVANCED_JEDI_DEFENSE", "1"),
                 ScriptConstant("int", "FEAT_ADVANCED_GUARD_STANCE", "2"),
                 ScriptConstant("int", "FEAT_AMBIDEXTERITY", "3"), ScriptConstant("int", "FEAT_ARMOUR_PROF_HEAVY", "4"),
                 ScriptConstant("int", "FEAT_ARMOUR_PROF_LIGHT", "5"),
                 ScriptConstant("int", "FEAT_ARMOUR_PROF_MEDIUM", "6"), ScriptConstant("int", "FEAT_CAUTIOUS", "7"),
                 ScriptConstant("int", "FEAT_CRITICAL_STRIKE", "8"),
                 ScriptConstant("int", "FEAT_DOUBLE_WEAPON_FIGHTING", "9"), ScriptConstant("int", "FEAT_EMPATHY", "10"),
                 ScriptConstant("int", "FEAT_FLURRY", "11"), ScriptConstant("int", "FEAT_GEAR_HEAD", "12"),
                 ScriptConstant("int", "FEAT_GREAT_FORTITUDE", "13"),
                 ScriptConstant("int", "FEAT_IMPLANT_LEVEL_1", "14"),
                 ScriptConstant("int", "FEAT_IMPLANT_LEVEL_2", "15"),
                 ScriptConstant("int", "FEAT_IMPLANT_LEVEL_3", "16"),
                 ScriptConstant("int", "FEAT_IMPROVED_POWER_ATTACK", "17"),
                 ScriptConstant("int", "FEAT_IMPROVED_POWER_BLAST", "18"),
                 ScriptConstant("int", "FEAT_IMPROVED_CRITICAL_STRIKE", "19"),
                 ScriptConstant("int", "FEAT_IMPROVED_SNIPER_SHOT", "20"),
                 ScriptConstant("int", "FEAT_IRON_WILL", "21"), ScriptConstant("int", "FEAT_LIGHTNING_REFLEXES", "22"),
                 ScriptConstant("int", "FEAT_MASTER_JEDI_DEFENSE", "24"),
                 ScriptConstant("int", "FEAT_MASTER_GUARD_STANCE", "25"),
                 ScriptConstant("int", "FEAT_MULTI_SHOT", "26"), ScriptConstant("int", "FEAT_PERCEPTIVE", "27"),
                 ScriptConstant("int", "FEAT_POWER_ATTACK", "28"), ScriptConstant("int", "FEAT_POWER_BLAST", "29"),
                 ScriptConstant("int", "FEAT_RAPID_SHOT", "30"), ScriptConstant("int", "FEAT_SNIPER_SHOT", "31"),
                 ScriptConstant("int", "FEAT_WEAPON_FOCUS_BLASTER", "32"),
                 ScriptConstant("int", "FEAT_WEAPON_FOCUS_BLASTER_RIFLE", "33"),
                 ScriptConstant("int", "FEAT_WEAPON_FOCUS_GRENADE", "34"),
                 ScriptConstant("int", "FEAT_WEAPON_FOCUS_HEAVY_WEAPONS", "35"),
                 ScriptConstant("int", "FEAT_WEAPON_FOCUS_LIGHTSABER", "36"),
                 ScriptConstant("int", "FEAT_WEAPON_FOCUS_MELEE_WEAPONS", "37"),
                 ScriptConstant("int", "FEAT_WEAPON_FOCUS_SIMPLE_WEAPONS", "38"),
                 ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_BLASTER", "39"),
                 ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_BLASTER_RIFLE", "40"),
                 ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_GRENADE", "41"),
                 ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_HEAVY_WEAPONS", "42"),
                 ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_LIGHTSABER", "43"),
                 ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_MELEE_WEAPONS", "44"),
                 ScriptConstant("int", "FEAT_WEAPON_PROFICIENCY_SIMPLE_WEAPONS", "45"),
                 ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_BLASTER", "46"),
                 ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_BLASTER_RIFLE", "47"),
                 ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_GRENADE", "48"),
                 ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_HEAVY_WEAPONS", "49"),
                 ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_LIGHTSABER", "50"),
                 ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_MELEE_WEAPONS", "51"),
                 ScriptConstant("int", "FEAT_WEAPON_SPECIALIZATION_SIMPLE_WEAPONS", "52"),
                 ScriptConstant("int", "FEAT_WHIRLWIND_ATTACK", "53"), ScriptConstant("int", "FEAT_GUARD_STANCE", "54"),
                 ScriptConstant("int", "FEAT_JEDI_DEFENSE", "55"), ScriptConstant("int", "FEAT_UNCANNY_DODGE_1", "56"),
                 ScriptConstant("int", "FEAT_UNCANNY_DODGE_2", "57"),
                 ScriptConstant("int", "FEAT_SKILL_FOCUS_COMPUTER_USE", "58"),
                 ScriptConstant("int", "FEAT_SNEAK_ATTACK_1D6", "60"),
                 ScriptConstant("int", "FEAT_SNEAK_ATTACK_2D6", "61"),
                 ScriptConstant("int", "FEAT_SNEAK_ATTACK_3D6", "62"),
                 ScriptConstant("int", "FEAT_SNEAK_ATTACK_4D6", "63"),
                 ScriptConstant("int", "FEAT_SNEAK_ATTACK_5D6", "64"),
                 ScriptConstant("int", "FEAT_SNEAK_ATTACK_6D6", "65"),
                 ScriptConstant("int", "FEAT_SNEAK_ATTACK_7D6", "66"),
                 ScriptConstant("int", "FEAT_SNEAK_ATTACK_8D6", "67"),
                 ScriptConstant("int", "FEAT_SNEAK_ATTACK_9D6", "68"),
                 ScriptConstant("int", "FEAT_SNEAK_ATTACK_10D6", "69"),
                 ScriptConstant("int", "FEAT_SKILL_FOCUS_DEMOLITIONS", "70"),
                 ScriptConstant("int", "FEAT_SKILL_FOCUS_STEALTH", "71"),
                 ScriptConstant("int", "FEAT_SKILL_FOCUS_AWARENESS", "72"),
                 ScriptConstant("int", "FEAT_SKILL_FOCUS_PERSUADE", "73"),
                 ScriptConstant("int", "FEAT_SKILL_FOCUS_REPAIR", "74"),
                 ScriptConstant("int", "FEAT_SKILL_FOCUS_SECURITY", "75"),
                 ScriptConstant("int", "FEAT_SKILL_FOCUS_TREAT_INJUURY", "76"),
                 ScriptConstant("int", "FEAT_MASTER_SNIPER_SHOT", "77"),
                 ScriptConstant("int", "FEAT_DROID_UPGRADE_1", "78"),
                 ScriptConstant("int", "FEAT_DROID_UPGRADE_2", "79"),
                 ScriptConstant("int", "FEAT_DROID_UPGRADE_3", "80"),
                 ScriptConstant("int", "FEAT_MASTER_CRITICAL_STRIKE", "81"),
                 ScriptConstant("int", "FEAT_MASTER_POWER_BLAST", "82"),
                 ScriptConstant("int", "FEAT_MASTER_POWER_ATTACK", "83"), ScriptConstant("int", "FEAT_TOUGHNESS", "84"),
                 ScriptConstant("int", "FEAT_ADVANCED_DOUBLE_WEAPON_FIGHTING", "85"),
                 ScriptConstant("int", "FEAT_FORCE_FOCUS_ALTER", "86"),
                 ScriptConstant("int", "FEAT_FORCE_FOCUS_CONTROL", "87"),
                 ScriptConstant("int", "FEAT_FORCE_FOCUS_SENSE", "88"),
                 ScriptConstant("int", "FEAT_FORCE_FOCUS_ADVANCED", "89"),
                 ScriptConstant("int", "FEAT_FORCE_FOCUS_MASTERY", "90"),
                 ScriptConstant("int", "FEAT_IMPROVED_FLURRY", "91"),
                 ScriptConstant("int", "FEAT_IMPROVED_RAPID_SHOT", "92"),
                 ScriptConstant("int", "FEAT_PROFICIENCY_ALL", "93"),
                 ScriptConstant("int", "FEAT_BATTLE_MEDITATION", "94"), ScriptConstant("int", "FEAT_EVASION", "125"),
                 ScriptConstant("int", "FEAT_TARGETING_1", "126"), ScriptConstant("int", "FEAT_TARGETING_2", "127"),
                 ScriptConstant("int", "FEAT_TARGETING_3", "128"), ScriptConstant("int", "FEAT_TARGETING_4", "129"),
                 ScriptConstant("int", "FEAT_TARGETING_5", "130"), ScriptConstant("int", "FEAT_TARGETING_6", "131"),
                 ScriptConstant("int", "FEAT_TARGETING_7", "132"), ScriptConstant("int", "FEAT_TARGETING_8", "133"),
                 ScriptConstant("int", "FEAT_TARGETING_9", "134"), ScriptConstant("int", "FEAT_TARGETING_10", "135"),
                 ScriptConstant("int", "FEAT_PRECISE_SHOT", "136"),
                 ScriptConstant("int", "FEAT_IMPROVED_PRECISE_SHOT", "137"),
                 ScriptConstant("int", "FEAT_MASTER_PRECISE_SHOT", "138"),
                 ScriptConstant("int", "FEAT_CLOSE_COMBAT", "139"),
                 ScriptConstant("int", "FEAT_IMPROVED_CLOSE_COMBAT", "140"),
                 ScriptConstant("int", "FEAT_IMPROVED_FORCE_CAMOUFLAGE", "141"),
                 ScriptConstant("int", "FEAT_MASTER_FORCE_CAMOUFLAGE", "142"),
                 ScriptConstant("int", "FEAT_REGENERATE_FORCE_POINTS", "143"),
                 ScriptConstant("int", "FEAT_DARK_SIDE_CORRUPTION", "149"),
                 ScriptConstant("int", "FEAT_IGNORE_PAIN_1", "150"), ScriptConstant("int", "FEAT_IGNORE_PAIN_2", "151"),
                 ScriptConstant("int", "FEAT_IGNORE_PAIN_3", "152"),
                 ScriptConstant("int", "FEAT_INCREASE_COMBAT_DAMAGE_1", "153"),
                 ScriptConstant("int", "FEAT_INCREASE_COMBAT_DAMAGE_2", "154"),
                 ScriptConstant("int", "FEAT_INCREASE_COMBAT_DAMAGE_3", "155"),
                 ScriptConstant("int", "FEAT_SUPERIOR_WEAPON_FOCUS_LIGHTSABER_1", "156"),
                 ScriptConstant("int", "FEAT_SUPERIOR_WEAPON_FOCUS_LIGHTSABER_2", "157"),
                 ScriptConstant("int", "FEAT_SUPERIOR_WEAPON_FOCUS_LIGHTSABER_3", "158"),
                 ScriptConstant("int", "FEAT_SUPERIOR_WEAPON_FOCUS_TWO_WEAPON_1", "159"),
                 ScriptConstant("int", "FEAT_SUPERIOR_WEAPON_FOCUS_TWO_WEAPON_2", "160"),
                 ScriptConstant("int", "FEAT_SUPERIOR_WEAPON_FOCUS_TWO_WEAPON_3", "161"),
                 ScriptConstant("int", "FEAT_LIGHT_SIDE_ENLIGHTENMENT", "167"),
                 ScriptConstant("int", "FEAT_DEFLECT", "168"), ScriptConstant("int", "FEAT_INNER_STRENGTH_1", "169"),
                 ScriptConstant("int", "FEAT_INNER_STRENGTH_2", "170"),
                 ScriptConstant("int", "FEAT_INNER_STRENGTH_3", "171"),
                 ScriptConstant("int", "FEAT_INCREASE_MELEE_DAMAGE_1", "172"),
                 ScriptConstant("int", "FEAT_INCREASE_MELEE_DAMAGE_2", "173"),
                 ScriptConstant("int", "FEAT_INCREASE_MELEE_DAMAGE_3", "174"),
                 ScriptConstant("int", "FEAT_CRAFT", "175"), ScriptConstant("int", "FEAT_MASTERCRAFT_WEAPONS_1", "176"),
                 ScriptConstant("int", "FEAT_MASTERCRAFT_WEAPONS_2", "177"),
                 ScriptConstant("int", "FEAT_MASTERCRAFT_WEAPONS_3", "178"),
                 ScriptConstant("int", "FEAT_MASTERCRAFT_ARMOR_1", "179"),
                 ScriptConstant("int", "FEAT_MASTERCRAFT_ARMOR_2", "180"),
                 ScriptConstant("int", "FEAT_MASTERCRAFT_ARMOR_3", "181"),
                 ScriptConstant("int", "FEAT_DROID_INTERFACE", "182"),
                 ScriptConstant("int", "FEAT_CLASS_SKILL_AWARENESS", "183"),
                 ScriptConstant("int", "FEAT_CLASS_SKILL_COMPUTER_USE", "184"),
                 ScriptConstant("int", "FEAT_CLASS_SKILL_DEMOLITIONS", "185"),
                 ScriptConstant("int", "FEAT_CLASS_SKILL_REPAIR", "186"),
                 ScriptConstant("int", "FEAT_CLASS_SKILL_SECURITY", "187"),
                 ScriptConstant("int", "FEAT_CLASS_SKILL_STEALTH", "188"),
                 ScriptConstant("int", "FEAT_CLASS_SKILL_TREAT_INJURY", "189"),
                 ScriptConstant("int", "FEAT_DUAL_STRIKE", "190"),
                 ScriptConstant("int", "FEAT_IMPROVED_DUAL_STRIKE", "191"),
                 ScriptConstant("int", "FEAT_MASTER_DUAL_STRIKE", "192"),
                 ScriptConstant("int", "FEAT_FINESSE_LIGHTSABERS", "193"),
                 ScriptConstant("int", "FEAT_FINESSE_MELEE_WEAPONS", "194"),
                 ScriptConstant("int", "FEAT_MOBILITY", "195"),
                 ScriptConstant("int", "FEAT_REGENERATE_VITALITY_POINTS", "196"),
                 ScriptConstant("int", "FEAT_STEALTH_RUN", "197"), ScriptConstant("int", "FEAT_KINETIC_COMBAT", "198"),
                 ScriptConstant("int", "FEAT_SURVIVAL", "199"),
                 ScriptConstant("int", "FEAT_MANDALORIAN_COURAGE", "200"),
                 ScriptConstant("int", "FEAT_PERSONAL_CLOAKING_SHIELD", "201"),
                 ScriptConstant("int", "FEAT_MENTOR", "202"), ScriptConstant("int", "FEAT_IMPLANT_SWITCHING", "203"),
                 ScriptConstant("int", "FEAT_SPIRIT", "204"), ScriptConstant("int", "FEAT_FORCE_CHAIN", "205"),
                 ScriptConstant("int", "FEAT_WAR_VETERAN", "206"), ScriptConstant("int", "FEAT_PRECISE_SHOT_IV", "226"),
                 ScriptConstant("int", "FEAT_PRECISE_SHOT_V", "227"),
                 ScriptConstant("int", "FEAT_FIGHTING_SPIRIT", "236"),
                 ScriptConstant("int", "FEAT_HEROIC_RESOLVE", "237"), ScriptConstant("int", "FEAT_PRECISE_SHOT", "240"),
                 ScriptConstant("int", "FEAT_IMPROVED_PRECISE_SHOT", "241"),
                 ScriptConstant("int", "FEAT_MASTER_PRECISE_SHOT", "242"),
                 ScriptConstant("int", "FEAT_PRECISE_SHOT_IV", "243"),
                 ScriptConstant("int", "FEAT_PRECISE_SHOT_V", "244"),
                 ScriptConstant("int", "SPECIAL_ATTACK_INVALID", "0"),
                 ScriptConstant("int", "SPECIAL_ATTACK_CALLED_SHOT_LEG", "1"),
                 ScriptConstant("int", "SPECIAL_ATTACK_CALLED_SHOT_ARM", "2"),
                 ScriptConstant("int", "SPECIAL_ATTACK_SAP", "3"), ScriptConstant("int", "SPECIAL_ATTACK_DISARM", "4"),
                 ScriptConstant("int", "SPECIAL_ATTACK_IMPROVED_DISARM", "5"),
                 ScriptConstant("int", "SPECIAL_ATTACK_KNOCKDOWN", "6"),
                 ScriptConstant("int", "SPECIAL_ATTACK_IMPROVED_KNOCKDOWN", "7"),
                 ScriptConstant("int", "SPECIAL_ATTACK_STUNNING_FIST", "8"),
                 ScriptConstant("int", "SPECIAL_ATTACK_FLURRY_OF_BLOWS", "9"),
                 ScriptConstant("int", "SPECIAL_ATTACK_RAPID_SHOT", "10"),
                 ScriptConstant("int", "COMBAT_MODE_INVALID", "0"), ScriptConstant("int", "COMBAT_MODE_PARRY", "1"),
                 ScriptConstant("int", "COMBAT_MODE_POWER_ATTACK", "2"),
                 ScriptConstant("int", "COMBAT_MODE_IMPROVED_POWER_ATTACK", "3"),
                 ScriptConstant("int", "COMBAT_MODE_FLURRY_OF_BLOWS", "4"),
                 ScriptConstant("int", "COMBAT_MODE_RAPID_SHOT", "5"),
                 ScriptConstant("int", "ENCOUNTER_DIFFICULTY_VERY_EASY", "0"),
                 ScriptConstant("int", "ENCOUNTER_DIFFICULTY_EASY", "1"),
                 ScriptConstant("int", "ENCOUNTER_DIFFICULTY_NORMAL", "2"),
                 ScriptConstant("int", "ENCOUNTER_DIFFICULTY_HARD", "3"),
                 ScriptConstant("int", "ENCOUNTER_DIFFICULTY_IMPOSSIBLE", "4"),
                 ScriptConstant("int", "ANIMATION_LOOPING_PAUSE", "0"),
                 ScriptConstant("int", "ANIMATION_LOOPING_PAUSE2", "1"),
                 ScriptConstant("int", "ANIMATION_LOOPING_LISTEN", "2"),
                 ScriptConstant("int", "ANIMATION_LOOPING_MEDITATE", "3"),
                 ScriptConstant("int", "ANIMATION_LOOPING_WORSHIP", "4"),
                 ScriptConstant("int", "ANIMATION_LOOPING_TALK_NORMAL", "5"),
                 ScriptConstant("int", "ANIMATION_LOOPING_TALK_PLEADING", "6"),
                 ScriptConstant("int", "ANIMATION_LOOPING_TALK_FORCEFUL", "7"),
                 ScriptConstant("int", "ANIMATION_LOOPING_TALK_LAUGHING", "8"),
                 ScriptConstant("int", "ANIMATION_LOOPING_TALK_SAD", "9"),
                 ScriptConstant("int", "ANIMATION_LOOPING_GET_LOW", "10"),
                 ScriptConstant("int", "ANIMATION_LOOPING_GET_MID", "11"),
                 ScriptConstant("int", "ANIMATION_LOOPING_PAUSE_TIRED", "12"),
                 ScriptConstant("int", "ANIMATION_LOOPING_PAUSE_DRUNK", "13"),
                 ScriptConstant("int", "ANIMATION_LOOPING_FLIRT", "14"),
                 ScriptConstant("int", "ANIMATION_LOOPING_USE_COMPUTER", "15"),
                 ScriptConstant("int", "ANIMATION_LOOPING_DANCE", "16"),
                 ScriptConstant("int", "ANIMATION_LOOPING_DANCE1", "17"),
                 ScriptConstant("int", "ANIMATION_LOOPING_HORROR", "18"),
                 ScriptConstant("int", "ANIMATION_LOOPING_READY", "19"),
                 ScriptConstant("int", "ANIMATION_LOOPING_DEACTIVATE", "20"),
                 ScriptConstant("int", "ANIMATION_LOOPING_SPASM", "21"),
                 ScriptConstant("int", "ANIMATION_LOOPING_SLEEP", "22"),
                 ScriptConstant("int", "ANIMATION_LOOPING_PRONE", "23"),
                 ScriptConstant("int", "ANIMATION_LOOPING_PAUSE3", "24"),
                 ScriptConstant("int", "ANIMATION_LOOPING_WELD", "25"),
                 ScriptConstant("int", "ANIMATION_LOOPING_DEAD", "26"),
                 ScriptConstant("int", "ANIMATION_LOOPING_TALK_INJURED", "27"),
                 ScriptConstant("int", "ANIMATION_LOOPING_LISTEN_INJURED", "28"),
                 ScriptConstant("int", "ANIMATION_LOOPING_TREAT_INJURED", "29"),
                 ScriptConstant("int", "ANIMATION_LOOPING_DEAD_PRONE", "30"),
                 ScriptConstant("int", "ANIMATION_LOOPING_KNEEL_TALK_ANGRY", "31"),
                 ScriptConstant("int", "ANIMATION_LOOPING_KNEEL_TALK_SAD", "32"),
                 ScriptConstant("int", "ANIMATION_LOOPING_CHECK_BODY", "33"),
                 ScriptConstant("int", "ANIMATION_LOOPING_UNLOCK_DOOR", "34"),
                 ScriptConstant("int", "ANIMATION_LOOPING_SIT_AND_MEDITATE", "35"),
                 ScriptConstant("int", "ANIMATION_LOOPING_SIT_CHAIR", "36//AWD-OEI"),
                 ScriptConstant("int", "ANIMATION_LOOPING_SIT_CHAIR_DRINK", "37//AWD-OEI"),
                 ScriptConstant("int", "ANIMATION_LOOPING_SIT_CHAIR_PAZAK", "38//AWD-OEI"),
                 ScriptConstant("int", "ANIMATION_LOOPING_SIT_CHAIR_COMP1", "39//AWD-OEI"),
                 ScriptConstant("int", "ANIMATION_LOOPING_SIT_CHAIR_COMP2", "40//AWD-OEI"),
                 ScriptConstant("int", "ANIMATION_LOOPING_RAGE", "41//JAB-OEI"),
                 ScriptConstant("int", "ANIMATION_LOOPING_CLOSED", "43//AWD-OEI"),
                 ScriptConstant("int", "ANIMATION_LOOPING_STEALTH", "44//BMA-OEI"),
                 ScriptConstant("int", "ANIMATION_LOOPING_CHOKE_WORKING", "45//DJS-OEI"),
                 ScriptConstant("int", "ANIMATION_LOOPING_MEDITATE_STAND", "46//DJS-OEI"),
                 ScriptConstant("int", "ANIMATION_LOOPING_CHOKE", "116"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_HEAD_TURN_LEFT", "100"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_HEAD_TURN_RIGHT", "101"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD", "102"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_PAUSE_BORED", "103"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_SALUTE", "104"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_BOW", "105"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_GREETING", "106"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_TAUNT", "107"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_VICTORY1", "108"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_VICTORY2", "109"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_VICTORY3", "110"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_INJECT", "112"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_USE_COMPUTER", "113"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_PERSUADE", "114"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_ACTIVATE", "115"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_CHOKE", "116"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_THROW_HIGH", "117"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_THROW_LOW", "118"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_CUSTOM01", "119"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_TREAT_INJURED", "120"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_FORCE_CAST", "121"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_OPEN", "122//AWD-OEI"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_DIVE_ROLL", "123//DJS-OEI"),
                 ScriptConstant("int", "ANIMATION_FIREFORGET_SCREAM", "124//DJS-OEI"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ACTIVATE", "200"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_DEACTIVATE", "201"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_OPEN", "202"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_CLOSE", "203"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP01", "204"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP02", "205"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP03", "206"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP04", "207"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP05", "208"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP06", "209"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP07", "210"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP08", "211"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP09", "212"),
                 ScriptConstant("int", "ANIMATION_PLACEABLE_ANIMLOOP10", "213"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP01", "1"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP02", "2"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP03", "3"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP04", "4"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP05", "5"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP06", "6"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP07", "7"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP08", "8"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP09", "9"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP10", "10"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP11", "11"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP12", "12"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP13", "13"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP14", "14"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP15", "15"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP16", "16"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP17", "17"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP18", "18"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP19", "19"),
                 ScriptConstant("int", "ANIMATION_ROOM_SCRIPTLOOP20", "20"),
                 ScriptConstant("int", "TALENT_TYPE_FORCE", "0"), ScriptConstant("int", "TALENT_TYPE_SPELL", "0"),
                 ScriptConstant("int", "TALENT_TYPE_FEAT", "1"), ScriptConstant("int", "TALENT_TYPE_SKILL", "2"),
                 ScriptConstant("int", "TALENT_EXCLUDE_ALL_OF_TYPE", "-1"),
                 ScriptConstant("int", "INVENTORY_DISTURB_TYPE_ADDED", "0"),
                 ScriptConstant("int", "INVENTORY_DISTURB_TYPE_REMOVED", "1"),
                 ScriptConstant("int", "INVENTORY_DISTURB_TYPE_STOLEN", "2"),
                 ScriptConstant("int", "GUI_PANEL_PLAYER_DEATH", "0"),
                 ScriptConstant("int", "POLYMORPH_TYPE_WEREWOLF", "0"),
                 ScriptConstant("int", "POLYMORPH_TYPE_WERERAT", "1"),
                 ScriptConstant("int", "POLYMORPH_TYPE_WERECAT", "2"),
                 ScriptConstant("int", "POLYMORPH_TYPE_GIANT_SPIDER", "3"),
                 ScriptConstant("int", "POLYMORPH_TYPE_TROLL", "4"),
                 ScriptConstant("int", "POLYMORPH_TYPE_UMBER_HULK", "5"),
                 ScriptConstant("int", "POLYMORPH_TYPE_PIXIE", "6"),
                 ScriptConstant("int", "POLYMORPH_TYPE_ZOMBIE", "7"),
                 ScriptConstant("int", "POLYMORPH_TYPE_RED_DRAGON", "8"),
                 ScriptConstant("int", "POLYMORPH_TYPE_FIRE_GIANT", "9"),
                 ScriptConstant("int", "POLYMORPH_TYPE_BALOR", "10"),
                 ScriptConstant("int", "POLYMORPH_TYPE_DEATH_SLAAD", "11"),
                 ScriptConstant("int", "POLYMORPH_TYPE_IRON_GOLEM", "12"),
                 ScriptConstant("int", "POLYMORPH_TYPE_HUGE_FIRE_ELEMENTAL", "13"),
                 ScriptConstant("int", "POLYMORPH_TYPE_HUGE_WATER_ELEMENTAL", "14"),
                 ScriptConstant("int", "POLYMORPH_TYPE_HUGE_EARTH_ELEMENTAL", "15"),
                 ScriptConstant("int", "POLYMORPH_TYPE_HUGE_AIR_ELEMENTAL", "16"),
                 ScriptConstant("int", "POLYMORPH_TYPE_ELDER_FIRE_ELEMENTAL", "17"),
                 ScriptConstant("int", "POLYMORPH_TYPE_ELDER_WATER_ELEMENTAL", "18"),
                 ScriptConstant("int", "POLYMORPH_TYPE_ELDER_EARTH_ELEMENTAL", "19"),
                 ScriptConstant("int", "POLYMORPH_TYPE_ELDER_AIR_ELEMENTAL", "20"),
                 ScriptConstant("int", "POLYMORPH_TYPE_BROWN_BEAR", "21"),
                 ScriptConstant("int", "POLYMORPH_TYPE_PANTHER", "22"),
                 ScriptConstant("int", "POLYMORPH_TYPE_WOLF", "23"), ScriptConstant("int", "POLYMORPH_TYPE_BOAR", "24"),
                 ScriptConstant("int", "POLYMORPH_TYPE_BADGER", "25"),
                 ScriptConstant("int", "POLYMORPH_TYPE_PENGUIN", "26"),
                 ScriptConstant("int", "POLYMORPH_TYPE_COW", "27"),
                 ScriptConstant("int", "POLYMORPH_TYPE_DOOM_KNIGHT", "28"),
                 ScriptConstant("int", "POLYMORPH_TYPE_YUANTI", "29"),
                 ScriptConstant("int", "POLYMORPH_TYPE_IMP", "30"),
                 ScriptConstant("int", "POLYMORPH_TYPE_QUASIT", "31"),
                 ScriptConstant("int", "POLYMORPH_TYPE_SUCCUBUS", "32"),
                 ScriptConstant("int", "POLYMORPH_TYPE_DIRE_BROWN_BEAR", "33"),
                 ScriptConstant("int", "POLYMORPH_TYPE_DIRE_PANTHER", "34"),
                 ScriptConstant("int", "POLYMORPH_TYPE_DIRE_WOLF", "35"),
                 ScriptConstant("int", "POLYMORPH_TYPE_DIRE_BOAR", "36"),
                 ScriptConstant("int", "POLYMORPH_TYPE_DIRE_BADGER", "37"),
                 ScriptConstant("int", "INVISIBILITY_TYPE_NORMAL", "1"),
                 ScriptConstant("int", "INVISIBILITY_TYPE_DARKNESS", "2"),
                 ScriptConstant("int", "INVISIBILITY_TYPE_IMPROVED", "4"),
                 ScriptConstant("int", "CREATURE_SIZE_INVALID", "0"), ScriptConstant("int", "CREATURE_SIZE_TINY", "1"),
                 ScriptConstant("int", "CREATURE_SIZE_SMALL", "2"), ScriptConstant("int", "CREATURE_SIZE_MEDIUM", "3"),
                 ScriptConstant("int", "CREATURE_SIZE_LARGE", "4"), ScriptConstant("int", "CREATURE_SIZE_HUGE", "5"),
                 ScriptConstant("int", "CAMERA_MODE_CHASE_CAMERA", "0"),
                 ScriptConstant("int", "CAMERA_MODE_TOP_DOWN", "1"),
                 ScriptConstant("int", "CAMERA_MODE_STIFF_CHASE_CAMERA", "2"),
                 ScriptConstant("int", "PROJECTILE_PATH_TYPE_DEFAULT", "0"),
                 ScriptConstant("int", "PROJECTILE_PATH_TYPE_HOMING", "1"),
                 ScriptConstant("int", "PROJECTILE_PATH_TYPE_BALLISTIC", "2"),
                 ScriptConstant("int", "PROJECTILE_PATH_TYPE_HIGH_BALLISTIC", "3"),
                 ScriptConstant("int", "PROJECTILE_PATH_TYPE_ACCELERATING", "4"),
                 ScriptConstant("int", "GAME_DIFFICULTY_VERY_EASY", "0"),
                 ScriptConstant("int", "GAME_DIFFICULTY_EASY", "1"),
                 ScriptConstant("int", "GAME_DIFFICULTY_NORMAL", "2"),
                 ScriptConstant("int", "GAME_DIFFICULTY_CORE_RULES", "3"),
                 ScriptConstant("int", "GAME_DIFFICULTY_DIFFICULT", "4"),
                 ScriptConstant("int", "ACTION_MOVETOPOINT", "0"), ScriptConstant("int", "ACTION_PICKUPITEM", "1"),
                 ScriptConstant("int", "ACTION_DROPITEM", "2"), ScriptConstant("int", "ACTION_ATTACKOBJECT", "3"),
                 ScriptConstant("int", "ACTION_CASTSPELL", "4"), ScriptConstant("int", "ACTION_OPENDOOR", "5"),
                 ScriptConstant("int", "ACTION_CLOSEDOOR", "6"), ScriptConstant("int", "ACTION_DIALOGOBJECT", "7"),
                 ScriptConstant("int", "ACTION_DISABLETRAP", "8"), ScriptConstant("int", "ACTION_RECOVERTRAP", "9"),
                 ScriptConstant("int", "ACTION_FLAGTRAP", "10"), ScriptConstant("int", "ACTION_EXAMINETRAP", "11"),
                 ScriptConstant("int", "ACTION_SETTRAP", "12"), ScriptConstant("int", "ACTION_OPENLOCK", "13"),
                 ScriptConstant("int", "ACTION_LOCK", "14"), ScriptConstant("int", "ACTION_USEOBJECT", "15"),
                 ScriptConstant("int", "ACTION_ANIMALEMPATHY", "16"), ScriptConstant("int", "ACTION_REST", "17"),
                 ScriptConstant("int", "ACTION_TAUNT", "18"), ScriptConstant("int", "ACTION_ITEMCASTSPELL", "19"),
                 ScriptConstant("int", "ACTION_COUNTERSPELL", "31"), ScriptConstant("int", "ACTION_HEAL", "33"),
                 ScriptConstant("int", "ACTION_PICKPOCKET", "34"), ScriptConstant("int", "ACTION_FOLLOW", "35"),
                 ScriptConstant("int", "ACTION_WAIT", "36"), ScriptConstant("int", "ACTION_SIT", "37"),
                 ScriptConstant("int", "ACTION_FOLLOWLEADER", "38"), ScriptConstant("int", "ACTION_FOLLOWOWNER", "43"),
                 ScriptConstant("int", "ACTION_INVALID", "65535"), ScriptConstant("int", "ACTION_QUEUEEMPTY", "65534"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_FLASH_STUN_MINOR", "0"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_FLASH_STUN_AVERAGE", "1"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_FLASH_STUN_DEADLY", "2"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_FRAGMENTATION_MINE_MINOR", "3"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_FRAGMENTATION_MINE_AVERAGE", "4"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_FRAGMENTATION_MINE_DEADLY", "5"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_LASER_SLICING_MINOR", "6"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_LASER_SLICING_AVERAGE", "7"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_LASER_SLICING_DEADLY", "8"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_POISON_GAS_MINOR", "9"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_POISON_GAS_AVERAGE", "10"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_POISON_GAS_DEADLY", "11"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_SONIC_CHARGE_MINOR", "14"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_SONIC_CHARGE_AVERAGE", "15"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_SONIC_CHARGE_DEADLY", "16"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_FLASH_STUN_STRONG", "17"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_FLASH_STUN_DEVASTATING", "18"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_FRAGMENTATION_MINE_STRONG", "19"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_FRAGMENTATION_MINE_DEVASTATING", "20"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_LASER_SLICING_STRONG", "21"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_LASER_SLICING_DEVASTATING", "22"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_POISON_GAS_STRONG", "23"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_POISON_GAS_DEVASTATING", "24"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_SONIC_CHARGE_STRONG", "25"),
                 ScriptConstant("int", "TRAP_BASE_TYPE_SONIC_CHARGE_DEVASTATING", "26"),
                 ScriptConstant("int", "SWMINIGAME_TRACKFOLLOWER_SOUND_ENGINE", "0"),
                 ScriptConstant("int", "SWMINIGAME_TRACKFOLLOWER_SOUND_DEATH", "1"),
                 ScriptConstant("int", "CONVERSATION_TYPE_CINEMATIC", "0"),
                 ScriptConstant("int", "CONVERSATION_TYPE_COMPUTER", "1"),
                 ScriptConstant("int", "PLANET_DANTOOINE", "0"), ScriptConstant("int", "PLANET_DXUN", "1"),
                 ScriptConstant("int", "PLANET_EBON_HAWK", "2"), ScriptConstant("int", "PLANET_KORRIBAN", "3"),
                 ScriptConstant("int", "PLANET_M4_78", "4"), ScriptConstant("int", "PLANET_MALACHOR_V", "5"),
                 ScriptConstant("int", "PLANET_NAR_SHADDAA", "6"), ScriptConstant("int", "PLANET_ONDERON", "7"),
                 ScriptConstant("int", "PLANET_PERAGUS", "8"), ScriptConstant("int", "PLANET_TELOS", "9"),
                 ScriptConstant("int", "PLANET_HARBINGER", "10"), ScriptConstant("int", "PLANET_LIVE_01", "11//The"),
                 ScriptConstant("int", "PLANET_LIVE_02", "12"), ScriptConstant("int", "PLANET_LIVE_03", "13"),
                 ScriptConstant("int", "PLANET_LIVE_04", "14"), ScriptConstant("int", "PLANET_LIVE_05", "15"),
                 ScriptConstant("int", "PLANET_LIVE_06", "16"), ScriptConstant("int", "NPC_PLAYER", "-1"),
                 ScriptConstant("int", "NPC_ATTON", "0"), ScriptConstant("int", "NPC_BAO_DUR", "1"),
                 ScriptConstant("int", "NPC_CANDEROUS", "2"), ScriptConstant("int", "NPC_G0T0", "3"),
                 ScriptConstant("int", "NPC_HANDMAIDEN", "4"), ScriptConstant("int", "NPC_HK_47", "5"),
                 ScriptConstant("int", "NPC_KREIA", "6"), ScriptConstant("int", "NPC_MIRA", "7"),
                 ScriptConstant("int", "NPC_T3_M4", "8"), ScriptConstant("int", "NPC_VISAS", "9"),
                 ScriptConstant("int", "NPC_HANHARR", "10"), ScriptConstant("int", "NPC_DISCIPLE", "11"),
                 ScriptConstant("int", "PUP_SENSORBALL", "0"), ScriptConstant("int", "PUP_OTHER1", "1"),
                 ScriptConstant("int", "PUP_OTHER2", "2"), ScriptConstant("int", "PARTY_AISTYLE_AGGRESSIVE", "0"),
                 ScriptConstant("int", "PARTY_AISTYLE_DEFENSIVE", "1"),
                 ScriptConstant("int", "PARTY_AISTYLE_PASSIVE", "2"),
                 ScriptConstant("int", "NPC_AISTYLE_DEFAULT_ATTACK", "0//Depricated,"),
                 ScriptConstant("int", "NPC_AISTYLE_RANGED_ATTACK", "1"),
                 ScriptConstant("int", "NPC_AISTYLE_MELEE_ATTACK", "2"), ScriptConstant("int", "NPC_AISTYLE_AID", "3"),
                 ScriptConstant("int", "NPC_AISTYLE_GRENADE_THROWER", "4//Depricated,"),
                 ScriptConstant("int", "NPC_AISTYLE_JEDI_SUPPORT", "5//Depricated,"),
                 ScriptConstant("int", "NPC_AISTYLE_HEALER", "6//RWT-OEI"),
                 ScriptConstant("int", "NPC_AISTYLE_SKIRMISH", "7//RWT-OEI"),
                 ScriptConstant("int", "NPC_AISTYLE_TURTLE", "8//JAB-OEI"),
                 ScriptConstant("int", "NPC_AISTYLE_PARTY_AGGRO", "9//RWT-OEI"),
                 ScriptConstant("int", "NPC_AISTYLE_PARTY_DEFENSE", "10//RWT-OEI"),
                 ScriptConstant("int", "NPC_AISTYLE_PARTY_RANGED", "11//RWT-OEI"),
                 ScriptConstant("int", "NPC_AISTYLE_PARTY_STATIONARY=", "08/18/04"),
                 ScriptConstant("int", "NPC_AISTYLE_PARTY_SUPPORT", "13//RWT-OEI"),
                 ScriptConstant("int", "NPC_AISTYLE_PARTY_REMOTE", "14//RWT-OEI"),
                 ScriptConstant("int", "NPC_AISTYLE_MONSTER_POWERS", "15//DJS-OEI"),
                 ScriptConstant("int", "DISGUISE_TYPE_TEST", "1"), ScriptConstant("int", "DISGUISE_TYPE_P_T3M3", "2"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_HK47", "3"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_BASTILLA", "4"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_CAND", "5"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_CARTH", "6"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_JOLEE", "7"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_JUHANI", "8"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_ZAALBAR", "9"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MISSION", "10"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_ADMRLSAULKAR", "11"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_BITH", "12"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_CALONORD", "13"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_COMMF", "14"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_COMMKIDF", "15"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_COMMKIDM", "16"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_COMMM", "17"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_CZERLAOFF", "18"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_DARKJEDIF", "19"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_DARKJEDIM", "20"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_DARTHMALAK", "21"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_DARTHREVAN", "22"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_DODONNA", "23"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_DUROS", "24"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_FATCOMF", "25"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_FATCOMM", "26"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_SMUGGLER", "27"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_SITHSOLDIER", "28"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_JEDICOUNTF", "30"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_JEDICOUNTM", "31"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_JEDIMALEK", "32"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_JEDIMEMF", "33"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_JEDIMEMM", "34"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_MANDALORIAN", "35"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_RAKATA", "36"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_REPOFF", "37"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_REPSOLD", "38"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_RODIAN", "39"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_SELKATH", "40"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_SITHAPPREN", "41"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_SITHCOMF", "42"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_SITHCOMM", "43"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_SWOOPGANG", "45"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_TUSKEN", "46"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_TWILEKF", "47"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_TWILEKM", "48"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_WALRUSMAN", "49"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_WOOKIEF", "50"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_WOOKIEM", "51"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_YODA", "52"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_BANTHA", "53"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_BRITH", "54"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DEWBACK", "55"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDASSASSIN", "56"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDASTRO", "57"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDG", "58"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDMKFOUR", "59"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDMKONE", "60"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDMKTWO", "61"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDPROBE", "62"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDPROT", "63"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDSENTRY", "64"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDSPYDER", "65"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_DRDWAR", "66"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_FIRIXA", "67"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_GAMMOREAN", "68"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_GIZKA", "69"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_HUTT", "70"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_IRIAZ", "71"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_ITHORIAN", "72"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_JAWA", "73"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_KATAARN", "74"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_KHOUNDA", "75"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_KHOUNDB", "76"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_KRAYTDRAGON", "77"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_MYKAL", "78"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_RAKGHOUL", "79"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_RANCOR", "80"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_SEABEAST", "81"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_TACH", "83"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_TWOHEAD", "84"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_VERKAAL", "85"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_WRAID", "86"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_RONTO", "87"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_KINRATH", "88"),
                 ScriptConstant("int", "DISGUISE_TYPE_C_TUKATA", "89"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_TUSKENF", "90"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_SML_01", "91"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_MED_01", "92"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_LRG_01", "93"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_SML_02", "94"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_MED_02", "95"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_LRG_02", "96"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_SML_03", "97"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_MED_03", "98"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_LRG_03", "99"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_SML_04", "100"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_MED_04", "101"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_LRG_04", "102"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_SML_05", "103"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_MED_05", "104"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_A_LRG_05", "105"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_SML_01", "106"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_MED_01", "107"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_LRG_01", "108"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_SML_02", "109"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_MED_02", "110"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_LRG_02", "111"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_SML_03", "112"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_MED_03", "113"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_LRG_03", "114"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_SML_04", "115"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_MED_04", "116"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_LRG_04", "117"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_SML_05", "118"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_MED_05", "119"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_B_LRG_05", "120"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_SML_01", "121"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_MED_01", "122"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_LRG_01", "123"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_SML_02", "124"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_MED_02", "125"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_LRG_02", "126"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_SML_03", "127"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_MED_03", "128"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_LRG_03", "129"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_SML_04", "130"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_MED_04", "131"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_LRG_04", "132"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_SML_05", "133"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_MED_05", "134"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_FEM_C_LRG_05", "135"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_SML_01", "136"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_MED_01", "137"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_LRG_01", "138"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_SML_02", "139"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_MED_02", "140"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_LRG_02", "141"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_SML_03", "142"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_MED_03", "143"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_LRG_03", "144"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_SML_04", "145"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_MED_04", "146"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_LRG_04", "147"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_SML_05", "148"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_MED_05", "149"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_A_LRG_05", "150"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_SML_01", "151"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_MED_01", "152"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_LRG_01", "153"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_SML_02", "154"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_MED_02", "155"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_LRG_02", "156"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_SML_03", "157"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_MED_03", "158"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_LRG_03", "159"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_SML_04", "160"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_MED_04", "161"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_LRG_04", "162"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_SML_05", "163"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_MED_05", "164"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_B_LRG_05", "165"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_SML_01", "166"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_MED_01", "167"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_LRG_01", "168"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_SML_02", "169"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_MED_02", "170"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_LRG_02", "171"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_SML_03", "172"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_MED_03", "173"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_LRG_03", "174"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_SML_04", "175"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_MED_04", "176"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_LRG_04", "177"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_SML_05", "178"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_MED_05", "179"),
                 ScriptConstant("int", "DISGUISE_TYPE_P_MAL_C_LRG_05", "180"),
                 ScriptConstant("int", "DISGUISE_TYPE_ENVIRONMENTSUIT", "181"),
                 ScriptConstant("int", "DISGUISE_TYPE_TURRET", "182"),
                 ScriptConstant("int", "DISGUISE_TYPE_TURRET2", "183"),
                 ScriptConstant("int", "DISGUISE_TYPE_N_DARTHBAND", "184"),
                 ScriptConstant("int", "DISGUISE_TYPE_COMMONER_FEM_WHITE", "185"),
                 ScriptConstant("int", "DISGUISE_TYPE_COMMONER_FEM_BLACK", "186"),
                 ScriptConstant("int", "DISGUISE_TYPE_COMMONER_FEM_OLD_ASIAN", "187"),
                 ScriptConstant("int", "DISGUISE_TYPE_COMMONER_FEM_OLD_WHITE", "188"),
                 ScriptConstant("int", "DISGUISE_TYPE_COMMONER_FEM_OLD_BLACK", "189"),
                 ScriptConstant("int", "DISGUISE_TYPE_COMMONER_MAL_WHITE", "190"),
                 ScriptConstant("int", "DISGUISE_TYPE_COMMONER_MAL_BLACK", "191"),
                 ScriptConstant("int", "DISGUISE_TYPE_COMMONER_MAL_OLD_ASIAN", "192"),
                 ScriptConstant("int", "DISGUISE_TYPE_COMMONER_MAL_OLD_WHITE", "193"),
                 ScriptConstant("int", "DISGUISE_TYPE_COMMONER_MAL_OLD_BLACK", "194"),
                 ScriptConstant("int", "DISGUISE_TYPE_CZERKA_OFFICER_WHITE", "195"),
                 ScriptConstant("int", "DISGUISE_TYPE_CZERKA_OFFICER_BLACK", "196"),
                 ScriptConstant("int", "DISGUISE_TYPE_CZERKA_OFFICER_OLD_ASIAN", "197"),
                 ScriptConstant("int", "DISGUISE_TYPE_CZERKA_OFFICER_OLD_WHITE", "198"),
                 ScriptConstant("int", "DISGUISE_TYPE_CZERKA_OFFICER_OLD_BLACK", "199"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_FEMALE_02", "200"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_FEMALE_03", "201"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_FEMALE_04", "202"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_FEMALE_05", "203"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_FEMALE_01", "204"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_FEMALE_02", "205"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_FEMALE_03", "206"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_FEMALE_04", "207"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_FEMALE_05", "208"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_FEMALE_01", "209"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_FEMALE_02", "210"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_FEMALE_03", "211"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_FEMALE_04", "212"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_FEMALE_05", "213"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_MALE_02", "214"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_MALE_03", "215"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_MALE_04", "216"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_MALE_05", "217"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_MALE_01", "218"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_MALE_02", "219"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_MALE_03", "220"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_MALE_04", "221"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_MALE_05", "222"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_MALE_01", "223"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_MALE_02", "224"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_MALE_03", "225"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_MALE_04", "226"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_MALE_05", "227"),
                 ScriptConstant("int", "DISGUISE_TYPE_HUTT_02", "228"),
                 ScriptConstant("int", "DISGUISE_TYPE_HUTT_03", "229"),
                 ScriptConstant("int", "DISGUISE_TYPE_HUTT_04", "230"),
                 ScriptConstant("int", "DISGUISE_TYPE_DROID_ASTRO_02", "231"),
                 ScriptConstant("int", "DISGUISE_TYPE_DROID_ASTRO_03", "232"),
                 ScriptConstant("int", "DISGUISE_TYPE_DROID_PROTOCOL_02", "233"),
                 ScriptConstant("int", "DISGUISE_TYPE_DROID_PROTOCOL_03", "234"),
                 ScriptConstant("int", "DISGUISE_TYPE_DROID_PROTOCOL_04", "235"),
                 ScriptConstant("int", "DISGUISE_TYPE_DROID_WAR_02", "236"),
                 ScriptConstant("int", "DISGUISE_TYPE_DROID_WAR_03", "237"),
                 ScriptConstant("int", "DISGUISE_TYPE_DROID_WAR_04", "238"),
                 ScriptConstant("int", "DISGUISE_TYPE_DROID_WAR_05", "239"),
                 ScriptConstant("int", "DISGUISE_TYPE_GAMMOREAN_02", "240"),
                 ScriptConstant("int", "DISGUISE_TYPE_GAMMOREAN_03", "241"),
                 ScriptConstant("int", "DISGUISE_TYPE_GAMMOREAN_04", "242"),
                 ScriptConstant("int", "DISGUISE_TYPE_ITHORIAN_02", "243"),
                 ScriptConstant("int", "DISGUISE_TYPE_ITHORIAN_03", "244"),
                 ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_A02", "245"),
                 ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_A03", "246"),
                 ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_A04", "247"),
                 ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_B02", "248"),
                 ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_B03", "249"),
                 ScriptConstant("int", "DISGUISE_TYPE_KATH_HOUND_B04", "250"),
                 ScriptConstant("int", "DISGUISE_TYPE_WRAID_02", "251"),
                 ScriptConstant("int", "DISGUISE_TYPE_WRAID_03", "252"),
                 ScriptConstant("int", "DISGUISE_TYPE_WRAID_04", "253"),
                 ScriptConstant("int", "DISGUISE_TYPE_RAKATA_02", "254"),
                 ScriptConstant("int", "DISGUISE_TYPE_RAKATA_03", "255"),
                 ScriptConstant("int", "DISGUISE_TYPE_RODIAN_02", "256"),
                 ScriptConstant("int", "DISGUISE_TYPE_RODIAN_03", "257"),
                 ScriptConstant("int", "DISGUISE_TYPE_RODIAN_04", "258"),
                 ScriptConstant("int", "DISGUISE_TYPE_SELKATH_02", "259"),
                 ScriptConstant("int", "DISGUISE_TYPE_SELKATH_03", "260"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_SOLDIER_03", "261"),
                 ScriptConstant("int", "DISGUISE_TYPE_SWOOP_GANG_02", "262"),
                 ScriptConstant("int", "DISGUISE_TYPE_SWOOP_GANG_03", "263"),
                 ScriptConstant("int", "DISGUISE_TYPE_SWOOP_GANG_04", "264"),
                 ScriptConstant("int", "DISGUISE_TYPE_SWOOP_GANG_05", "265"),
                 ScriptConstant("int", "DISGUISE_TYPE_TUSKAN_RAIDER_02", "266"),
                 ScriptConstant("int", "DISGUISE_TYPE_TUSKAN_RAIDER_03", "267"),
                 ScriptConstant("int", "DISGUISE_TYPE_TUSKAN_RAIDER_04", "268"),
                 ScriptConstant("int", "DISGUISE_TYPE_TWILEK_MALE_02", "269"),
                 ScriptConstant("int", "DISGUISE_TYPE_TWILEK_FEMALE_02", "270"),
                 ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_MALE_02", "271"),
                 ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_MALE_03", "272"),
                 ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_MALE_04", "273"),
                 ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_MALE_05", "274"),
                 ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_FEMALE_02", "275"),
                 ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_FEMALE_03", "276"),
                 ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_FEMALE_04", "277"),
                 ScriptConstant("int", "DISGUISE_TYPE_WOOKIE_FEMALE_05", "278"),
                 ScriptConstant("int", "DISGUISE_TYPE_ENVIRONMENTSUIT_02", "279"),
                 ScriptConstant("int", "DISGUISE_TYPE_YUTHURA_BAN", "280"),
                 ScriptConstant("int", "DISGUISE_TYPE_SHYRACK_01", "281"),
                 ScriptConstant("int", "DISGUISE_TYPE_SHYRACK_02", "282"),
                 ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_BLACK", "283"),
                 ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_OLD_ASIAN", "284"),
                 ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_OLD_WHITE", "285"),
                 ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_SOLDIER_MAL_OLD_BLACK", "286"),
                 ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_BLACK", "287"),
                 ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_OLD_ASIAN", "288"),
                 ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_OLD_WHITE", "289"),
                 ScriptConstant("int", "DISGUISE_TYPE_REPUBLIC_OFFICER_MAL_OLD_BLACK", "290"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_WHITE", "291"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_BLACK", "292"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_OLD_ASIAN", "293"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_OLD_WHITE", "294"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_OLD_BLACK", "295"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_WHITE", "296"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_BLACK", "297"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_OLD_ASIAN", "298"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_OLD_WHITE", "299"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_OLD_BLACK", "300"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_FEM_ASIAN", "301"),
                 ScriptConstant("int", "DISGUISE_TYPE_SITH_MAL_ASIAN", "302"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_OLD_MALE", "303"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_OLD_MALE", "304"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_OLD_MALE", "305"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_WHITE_OLD_FEM", "306"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_ASIAN_OLD_FEM", "307"),
                 ScriptConstant("int", "DISGUISE_TYPE_JEDI_BLACK_OLD_FEM", "308"),
                 ScriptConstant("int", "PLOT_O_DOOM", "0"), ScriptConstant("int", "PLOT_O_SCARY_STUFF", "1"),
                 ScriptConstant("int", "PLOT_O_BIG_MONSTERS", "2"), ScriptConstant("int", "FORMATION_WEDGE", "0"),
                 ScriptConstant("int", "FORMATION_LINE", "1"), ScriptConstant("int", "SUBSCREEN_ID_NONE", "0"),
                 ScriptConstant("int", "SUBSCREEN_ID_EQUIP", "1"), ScriptConstant("int", "SUBSCREEN_ID_ITEM", "2"),
                 ScriptConstant("int", "SUBSCREEN_ID_CHARACTER_RECORD", "3"),
                 ScriptConstant("int", "SUBSCREEN_ID_ABILITY", "4"), ScriptConstant("int", "SUBSCREEN_ID_MAP", "5"),
                 ScriptConstant("int", "SUBSCREEN_ID_QUEST", "6"), ScriptConstant("int", "SUBSCREEN_ID_OPTIONS", "7"),
                 ScriptConstant("int", "SUBSCREEN_ID_MESSAGES", "8"),
                 ScriptConstant("int", "SHIELD_DROID_ENERGY_1", "0"),
                 ScriptConstant("int", "SHIELD_DROID_ENERGY_2", "1"),
                 ScriptConstant("int", "SHIELD_DROID_ENERGY_3", "2"),
                 ScriptConstant("int", "SHIELD_DROID_ENVIRO_1", "3"),
                 ScriptConstant("int", "SHIELD_DROID_ENVIRO_2", "4"),
                 ScriptConstant("int", "SHIELD_DROID_ENVIRO_3", "5"), ScriptConstant("int", "SHIELD_ENERGY", "6"),
                 ScriptConstant("int", "SHIELD_ENERGY_SITH", "7"), ScriptConstant("int", "SHIELD_ENERGY_ARKANIAN", "8"),
                 ScriptConstant("int", "SHIELD_ECHANI", "9"), ScriptConstant("int", "SHIELD_MANDALORIAN_MELEE", "10"),
                 ScriptConstant("int", "SHIELD_MANDALORIAN_POWER", "11"),
                 ScriptConstant("int", "SHIELD_DUELING_ECHANI", "12"),
                 ScriptConstant("int", "SHIELD_DUELING_YUSANIS", "13"),
                 ScriptConstant("int", "SHIELD_VERPINE_PROTOTYPE", "14"),
                 ScriptConstant("int", "SHIELD_ANTIQUE_DROID", "15"),
                 ScriptConstant("int", "SHIELD_PLOT_TAR_M09AA", "16"),
                 ScriptConstant("int", "SHIELD_PLOT_UNK_M44AA", "17"),
                 ScriptConstant("int", "SHIELD_PLOT_MAN_M28AA", "18"), ScriptConstant("int", "SHIELD_HEAT", "19"),
                 ScriptConstant("int", "SHIELD_DREXL", "20"), ScriptConstant("int", "SUBRACE_NONE", "0"),
                 ScriptConstant("int", "SUBRACE_WOOKIE", "1"), ScriptConstant("int", "VIDEO_EFFECT_NONE", "-1"),
                 ScriptConstant("int", "VIDEO_EFFECT_SECURITY_CAMERA", "0"),
                 ScriptConstant("int", "VIDEO_EFFECT_FREELOOK_T3M4", "1"),
                 ScriptConstant("int", "VIDEO_EFFECT_FREELOOK_HK47", "2"),
                 ScriptConstant("int", "VIDEO_EFFECT_CLAIRVOYANCE", "3"),
                 ScriptConstant("int", "VIDEO_EFFECT_FORCESIGHT", "4"),
                 ScriptConstant("int", "VIDEO_EFFECT_VISAS_FREELOOK", "5"),
                 ScriptConstant("int", "VIDEO_EFFECT_CLAIRVOYANCEFULL", "6"),
                 ScriptConstant("int", "VIDEO_EFFECT_FURY_1", "7"), ScriptConstant("int", "VIDEO_EFFECT_FURY_2", "8"),
                 ScriptConstant("int", "VIDEO_EFFECT_FURY_3", "9"),
                 ScriptConstant("int", "VIDEO_FFECT_SECURITY_NO_LABEL", "10//RWT-OEI"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_START_SWOOP_RACE", "9"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_RETURN_TO_BASE", "40"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP1", "42"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP2", "43"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP3", "44"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP4", "45"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP5", "46"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP6", "47"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP7", "48"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP8", "49"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP9", "50"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP10", "51"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP11", "52"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP12", "53"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP13", "54"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP14", "55"),
                 ScriptConstant("int", "TUTORIAL_WINDOW_TEMP15", "56"),
                 ScriptConstant("int", "AI_LEVEL_VERY_HIGH", "4"), ScriptConstant("int", "AI_LEVEL_HIGH", "3"),
                 ScriptConstant("int", "AI_LEVEL_NORMAL", "2"), ScriptConstant("int", "AI_LEVEL_LOW", "1"),
                 ScriptConstant("int", "AI_LEVEL_VERY_LOW", "0"), ScriptConstant("int", "MOVEMENT_SPEED_PC", "0"),
                 ScriptConstant("int", "MOVEMENT_SPEED_IMMOBILE", "1"),
                 ScriptConstant("int", "MOVEMENT_SPEED_VERYSLOW", "2"),
                 ScriptConstant("int", "MOVEMENT_SPEED_SLOW", "3"), ScriptConstant("int", "MOVEMENT_SPEED_NORMAL", "4"),
                 ScriptConstant("int", "MOVEMENT_SPEED_FAST", "5"),
                 ScriptConstant("int", "MOVEMENT_SPEED_VERYFAST", "6"),
                 ScriptConstant("int", "MOVEMENT_SPEED_DEFAULT", "7"),
                 ScriptConstant("int", "MOVEMENT_SPEED_DMFAST", "8"), ScriptConstant("int", "LIVE_CONTENT_PKG1", "1"),
                 ScriptConstant("int", "LIVE_CONTENT_PKG2", "2"), ScriptConstant("int", "LIVE_CONTENT_PKG3", "3"),
                 ScriptConstant("int", "LIVE_CONTENT_PKG4", "4"), ScriptConstant("int", "LIVE_CONTENT_PKG5", "5"),
                 ScriptConstant("int", "LIVE_CONTENT_PKG6", "6"), ScriptConstant("int", "IMPLANT_NONE", "0"),
                 ScriptConstant("int", "IMPLANT_REGEN", "1"), ScriptConstant("int", "IMPLANT_STR", "2"),
                 ScriptConstant("int", "IMPLANT_END", "3"), ScriptConstant("int", "IMPLANT_AGI", "4"),
                 ScriptConstant("int", "FORFEIT_NO_FORCE_POWERS", "1"), ScriptConstant("int", "FORFEIT_NO_ITEMS", "2"),
                 ScriptConstant("int", "FORFEIT_NO_WEAPONS", "4"),
                 ScriptConstant("int", "FORFEIT_DXUN_SWORD_ONLY", "8"), ScriptConstant("int", "FORFEIT_NO_ARMOR", "16"),
                 ScriptConstant("int", "FORFEIT_NO_RANGED", "32"), ScriptConstant("int", "FORFEIT_NO_LIGHTSABER", "64"),
                 ScriptConstant("int", "FORFEIT_NO_ITEM_BUT_SHIELD", "128")]

KOTOR_FUNCTIONS = [ScriptFunction('int', 'Random', [ScriptParam('int', 'nMaxInteger', None)],
                                  '// 0: Get an integer between 0 and nMaxInteger-1.\n// Return value on error: 0\n',
                                  'int Random(int nMaxInteger);'),
                   ScriptFunction('void', 'PrintString', [ScriptParam('string', 'sString', None)],
                                  '// 1: Output sString to the log file.\n', 'void PrintString(string sString);'),
                   ScriptFunction('void', 'PrintFloat',
                                  [ScriptParam('float', 'fFloat', None), ScriptParam('int', 'nWidth', '18'),
                                   ScriptParam('int', 'nDecimals', '9')],
                                  '// 2: Output a formatted float to the log file.\n// - nWidth should be a value from 0 to 18 inclusive.\n// - nDecimals should be a value from 0 to 9 inclusive.\n',
                                  'void PrintFloat(float fFloat, int nWidth=18, int nDecimals=9);'),
                   ScriptFunction('string', 'FloatToString',
                                  [ScriptParam('float', 'fFloat', None), ScriptParam('int', 'nWidth', '18'),
                                   ScriptParam('int', 'nDecimals', '9')],
                                  '// 3: Convert fFloat into a string.\n// - nWidth should be a value from 0 to 18 inclusive.\n// - nDecimals should be a value from 0 to 9 inclusive.\n',
                                  'string FloatToString(float fFloat, int nWidth=18, int nDecimals=9);'),
                   ScriptFunction('void', 'PrintInteger', [ScriptParam('int', 'nInteger', None)],
                                  '// 4: Output nInteger to the log file.\n', 'void PrintInteger(int nInteger);'),
                   ScriptFunction('void', 'PrintObject', [ScriptParam('object', 'oObject', None)],
                                  "// 5: Output oObject's ID to the log file.\n", 'void PrintObject(object oObject);'),
                   ScriptFunction('void', 'AssignCommand', [ScriptParam('object', 'oActionSubject', None),
                                                            ScriptParam('action', 'aActionToAssign', None)],
                                  '// 6: Assign aActionToAssign to oActionSubject.\n// * No return value, but if an error occurs, the log file will contain\n//   "AssignCommand failed."\n//   (If the object doesn\'t exist, nothing happens.)\n',
                                  'void AssignCommand(object oActionSubject,action aActionToAssign);'),
                   ScriptFunction('void', 'DelayCommand', [ScriptParam('float', 'fSeconds', None),
                                                           ScriptParam('action', 'aActionToDelay', None)],
                                  '// 7: Delay aActionToDelay by fSeconds.\n// * No return value, but if an error occurs, the log file will contain\n//   "DelayCommand failed.".\n',
                                  'void DelayCommand(float fSeconds, action aActionToDelay);'),
                   ScriptFunction('void', 'ExecuteScript',
                                  [ScriptParam('string', 'sScript', None), ScriptParam('object', 'oTarget', None),
                                   ScriptParam('int', 'nScriptVar', '-1')],
                                  '// 8: Make oTarget run sScript and then return execution to the calling script.\n// If sScript does not specify a compiled script, nothing happens.\n// - nScriptVar: This value will be returned by calls to GetRunScriptVar.\n',
                                  'void ExecuteScript(string sScript, object oTarget, int nScriptVar=-1);'),
                   ScriptFunction('void', 'ClearAllActions', [],
                                  '// 9: Clear all the actions of the caller. (This will only work on Creatures)\n// * No return value, but if an error occurs, the log file will contain\n//   "ClearAllActions failed.".\n',
                                  'void ClearAllActions();'),
                   ScriptFunction('void', 'SetFacing', [ScriptParam('float', 'fDirection', None)],
                                  '// 10: Cause the caller to face fDirection.\n// - fDirection is expressed as anticlockwise degrees from Due East.\n//   DIRECTION_EAST, DIRECTION_NORTH, DIRECTION_WEST and DIRECTION_SOUTH are\n//   predefined. (0.0f=East, 90.0f=North, 180.0f=West, 270.0f=South)\n',
                                  'void SetFacing(float fDirection);'),
                   ScriptFunction('int', 'SwitchPlayerCharacter', [ScriptParam('int', 'nNPC', None)],
                                  '// 11: Switches the main character to a specified NPC\n//     -1 specifies to switch back to the original PC\n',
                                  'int SwitchPlayerCharacter(int nNPC);'), ScriptFunction('void', 'SetTime', [
        ScriptParam('int', 'nHour', None), ScriptParam('int', 'nMinute', None), ScriptParam('int', 'nSecond', None),
        ScriptParam('int', 'nMillisecond', None)],
                                                                                          '// 12: Set the time to the time specified.\n// - nHour should be from 0 to 23 inclusive\n// - nMinute should be from 0 to 59 inclusive\n// - nSecond should be from 0 to 59 inclusive\n// - nMillisecond should be from 0 to 999 inclusive\n// 1) Time can only be advanced forwards; attempting to set the time backwards\n//    will result in the day advancing and then the time being set to that\n//    specified, e.g. if the current hour is 15 and then the hour is set to 3,\n//    the day will be advanced by 1 and the hour will be set to 3.\n// 2) If values larger than the max hour, minute, second or millisecond are\n//    specified, they will be wrapped around and the overflow will be used to\n//    advance the next field, e.g. specifying 62 hours, 250 minutes, 10 seconds\n//    and 10 milliseconds will result in the calendar day being advanced by 2\n//    and the time being set to 18 hours, 10 minutes, 10 milliseconds.\n',
                                                                                          'void SetTime(int nHour,int nMinute,int nSecond,int nMillisecond);'),
                   ScriptFunction('int', 'SetPartyLeader', [ScriptParam('int', 'nNPC', None)],
                                  '// 13: Sets (by NPC constant) which party member should be the controlled\n//     character\n',
                                  'int SetPartyLeader(int nNPC);'),
                   ScriptFunction('void', 'SetAreaUnescapable', [ScriptParam('int', 'bUnescapable', None)],
                                  '// 14: Sets whether the current area is escapable or not\n// TRUE means you can not escape the area\n// FALSE means you can escape the area\n',
                                  'void SetAreaUnescapable(int bUnescapable);'),
                   ScriptFunction('int', 'GetAreaUnescapable', [],
                                  '// 15: Returns whether the current area is escapable or not\n// TRUE means you can not escape the area\n// FALSE means you can escape the area\n',
                                  'int GetAreaUnescapable();'),
                   ScriptFunction('int', 'GetTimeHour', [], '// 16: Get the current hour.\n', 'int GetTimeHour();'),
                   ScriptFunction('int', 'GetTimeMinute', [], '// 17: Get the current minute\n',
                                  'int GetTimeMinute();'),
                   ScriptFunction('int', 'GetTimeSecond', [], '// 18: Get the current second\n',
                                  'int GetTimeSecond();'),
                   ScriptFunction('int', 'GetTimeMillisecond', [], '// 19: Get the current millisecond\n',
                                  'int GetTimeMillisecond();'), ScriptFunction('void', 'ActionRandomWalk', [],
                                                                               '// 20: The action subject will generate a random location near its current location\n// and pathfind to it.  All commands will remove a RandomWalk() from the action\n// queue if there is one in place.\n// * No return value, but if an error occurs the log file will contain\n//   "ActionRandomWalk failed."\n',
                                                                               'void ActionRandomWalk();'),
                   ScriptFunction('void', 'ActionMoveToLocation',
                                  [ScriptParam('location', 'lDestination', None), ScriptParam('int', 'bRun', 'FALSE')],
                                  '// 21: The action subject will move to lDestination.\n// - lDestination: The object will move to this location.  If the location is\n//   invalid or a path cannot be found to it, the command does nothing.\n// - bRun: If this is TRUE, the action subject will run rather than walk\n// * No return value, but if an error occurs the log file will contain\n//   "MoveToPoint failed."\n',
                                  'void ActionMoveToLocation(location lDestination, int bRun=FALSE);'),
                   ScriptFunction('void', 'ActionMoveToObject',
                                  [ScriptParam('object', 'oMoveTo', None), ScriptParam('int', 'bRun', 'FALSE'),
                                   ScriptParam('float', 'fRange', '1.0f')],
                                  '// 22: Cause the action subject to move to a certain distance from oMoveTo.\n// If there is no path to oMoveTo, this command will do nothing.\n// - oMoveTo: This is the object we wish the action subject to move to\n// - bRun: If this is TRUE, the action subject will run rather than walk\n// - fRange: This is the desired distance between the action subject and oMoveTo\n// * No return value, but if an error occurs the log file will contain\n//   "ActionMoveToObject failed."\n',
                                  'void ActionMoveToObject(object oMoveTo, int bRun=FALSE, float fRange=1.0f);'),
                   ScriptFunction('void', 'ActionMoveAwayFromObject',
                                  [ScriptParam('object', 'oFleeFrom', None), ScriptParam('int', 'bRun', 'FALSE'),
                                   ScriptParam('float', 'fMoveAwayRange', '40.0f')],
                                  '// 23: Cause the action subject to move to a certain distance away from oFleeFrom.\n// - oFleeFrom: This is the object we wish the action subject to move away from.\n//   If oFleeFrom is not in the same area as the action subject, nothing will\n//   happen.\n// - bRun: If this is TRUE, the action subject will run rather than walk\n// - fMoveAwayRange: This is the distance we wish the action subject to put\n//   between themselves and oFleeFrom\n// * No return value, but if an error occurs the log file will contain\n//   "ActionMoveAwayFromObject failed."\n',
                                  'void ActionMoveAwayFromObject(object oFleeFrom, int bRun=FALSE, float fMoveAwayRange=40.0f);'),
                   ScriptFunction('object', 'GetArea', [ScriptParam('object', 'oTarget', None)],
                                  '// 24: Get the area that oTarget is currently in\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetArea(object oTarget);'), ScriptFunction('object', 'GetEnteringObject', [],
                                                                                     '// 25: The value returned by this function depends on the object type of the caller:\n// 1) If the caller is a door or placeable it returns the object that last\n//    triggered it.\n// 2) If the caller is a trigger, area of effect, module, area or encounter it\n//    returns the object that last entered it.\n// * Return value on error: OBJECT_INVALID\n',
                                                                                     'object GetEnteringObject();'),
                   ScriptFunction('object', 'GetExitingObject', [],
                                  '// 26: Get the object that last left the caller.  This function works on triggers,\n// areas of effect, modules, areas and encounters.\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetExitingObject();'),
                   ScriptFunction('vector', 'GetPosition', [ScriptParam('object', 'oTarget', None)],
                                  '// 27: Get the position of oTarget\n// * Return value on error: vector (0.0f, 0.0f, 0.0f)\n',
                                  'vector GetPosition(object oTarget);'),
                   ScriptFunction('float', 'GetFacing', [ScriptParam('object', 'oTarget', None)],
                                  '// 28: Get the direction in which oTarget is facing, expressed as a float between\n// 0.0f and 360.0f\n// * Return value on error: -1.0f\n',
                                  'float GetFacing(object oTarget);'),
                   ScriptFunction('object', 'GetItemPossessor', [ScriptParam('object', 'oItem', None)],
                                  '// 29: Get the possessor of oItem\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetItemPossessor(object oItem);'),
                   ScriptFunction('object', 'GetItemPossessedBy',
                                  [ScriptParam('object', 'oCreature', None), ScriptParam('string', 'sItemTag', None)],
                                  '// 30: Get the object possessed by oCreature with the tag sItemTag\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetItemPossessedBy(object oCreature, string sItemTag);'),
                   ScriptFunction('object', 'CreateItemOnObject', [ScriptParam('string', 'sItemTemplate', None),
                                                                   ScriptParam('object', 'oTarget', 'OBJECT_SELF'),
                                                                   ScriptParam('int', 'nStackSize', '1')],
                                  "// 31: Create an item with the template sItemTemplate in oTarget's inventory.\n// - nStackSize: This is the stack size of the item to be created\n// * Return value: The object that has been created.  On error, this returns\n//   OBJECT_INVALID.\n",
                                  'object CreateItemOnObject(string sItemTemplate, object oTarget=OBJECT_SELF, int nStackSize=1);'),
                   ScriptFunction('void', 'ActionEquipItem',
                                  [ScriptParam('object', 'oItem', None), ScriptParam('int', 'nInventorySlot', None),
                                   ScriptParam('int', 'bInstant', 'FALSE')],
                                  '// 32: Equip oItem into nInventorySlot.\n// - nInventorySlot: INVENTORY_SLOT_*\n// * No return value, but if an error occurs the log file will contain\n//   "ActionEquipItem failed."\n',
                                  'void ActionEquipItem(object oItem, int nInventorySlot, int bInstant=FALSE);'),
                   ScriptFunction('void', 'ActionUnequipItem',
                                  [ScriptParam('object', 'oItem', None), ScriptParam('int', 'bInstant', 'FALSE')],
                                  '// 33: Unequip oItem from whatever slot it is currently in.\n',
                                  'void ActionUnequipItem( object oItem, int bInstant = FALSE );'),
                   ScriptFunction('void', 'ActionPickUpItem', [ScriptParam('object', 'oItem', None)],
                                  '// 34: Pick up oItem from the ground.\n// * No return value, but if an error occurs the log file will contain\n//   "ActionPickUpItem failed."\n',
                                  'void ActionPickUpItem(object oItem);'),
                   ScriptFunction('void', 'ActionPutDownItem', [ScriptParam('object', 'oItem', None)],
                                  '// 35: Put down oItem on the ground.\n// * No return value, but if an error occurs the log file will contain\n//   "ActionPutDownItem failed."\n',
                                  'void ActionPutDownItem(object oItem);'),
                   ScriptFunction('object', 'GetLastAttacker', [ScriptParam('object', 'oAttackee', 'OBJECT_SELF')],
                                  '// 36: Get the last attacker of oAttackee.  This should only be used ONLY in the\n// OnAttacked events for creatures, placeables and doors.\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetLastAttacker(object oAttackee=OBJECT_SELF);'),
                   ScriptFunction('void', 'ActionAttack',
                                  [ScriptParam('object', 'oAttackee', None), ScriptParam('int', 'bPassive', 'FALSE')],
                                  '// 37: Attack oAttackee.\n// - bPassive: If this is TRUE, attack is in passive mode.\n',
                                  'void ActionAttack(object oAttackee, int bPassive=FALSE);'),
                   ScriptFunction('object', 'GetNearestCreature', [ScriptParam('int', 'nFirstCriteriaType', None),
                                                                   ScriptParam('int', 'nFirstCriteriaValue', None),
                                                                   ScriptParam('object', 'oTarget', 'OBJECT_SELF'),
                                                                   ScriptParam('int', 'nNth', '1'),
                                                                   ScriptParam('int', 'nSecondCriteriaType', '-1'),
                                                                   ScriptParam('int', 'nSecondCriteriaValue', '-1'),
                                                                   ScriptParam('int', 'nThirdCriteriaType', '-1'),
                                                                   ScriptParam('int', 'nThirdCriteriaValue', '-1')],
                                  "// 38: Get the creature nearest to oTarget, subject to all the criteria specified.\n// - nFirstCriteriaType: CREATURE_TYPE_*\n// - nFirstCriteriaValue:\n//   -> CLASS_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_CLASS\n//   -> SPELL_* if nFirstCriteriaType was CREATURE_TYPE_DOES_NOT_HAVE_SPELL_EFFECT\n//      or CREATURE_TYPE_HAS_SPELL_EFFECT\n//   -> TRUE or FALSE if nFirstCriteriaType was CREATURE_TYPE_IS_ALIVE\n//   -> PERCEPTION_* if nFirstCriteriaType was CREATURE_TYPE_PERCEPTION\n//   -> PLAYER_CHAR_IS_PC or PLAYER_CHAR_NOT_PC if nFirstCriteriaType was\n//      CREATURE_TYPE_PLAYER_CHAR\n//   -> RACIAL_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_RACIAL_TYPE\n//   -> REPUTATION_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_REPUTATION\n//   For example, to get the nearest PC, use:\n//   (CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC)\n// - oTarget: We're trying to find the creature of the specified type that is\n//   nearest to oTarget\n// - nNth: We don't have to find the first nearest: we can find the Nth nearest...\n// - nSecondCriteriaType: This is used in the same way as nFirstCriteriaType to\n//   further specify the type of creature that we are looking for.\n// - nSecondCriteriaValue: This is used in the same way as nFirstCriteriaValue\n//   to further specify the type of creature that we are looking for.\n// - nThirdCriteriaType: This is used in the same way as nFirstCriteriaType to\n//   further specify the type of creature that we are looking for.\n// - nThirdCriteriaValue: This is used in the same way as nFirstCriteriaValue to\n//   further specify the type of creature that we are looking for.\n// * Return value on error: OBJECT_INVALID\n",
                                  'object GetNearestCreature(int nFirstCriteriaType, int nFirstCriteriaValue, object oTarget=OBJECT_SELF, int nNth=1, int nSecondCriteriaType=-1, int nSecondCriteriaValue=-1, int nThirdCriteriaType=-1,  int nThirdCriteriaValue=-1 );'),
                   ScriptFunction('void', 'ActionSpeakString', [ScriptParam('string', 'sStringToSpeak', None),
                                                                ScriptParam('int', 'nTalkVolume', 'TALKVOLUME_TALK')],
                                  '// 39: Add a speak action to the action subject.\n// - sStringToSpeak: String to be spoken\n// - nTalkVolume: TALKVOLUME_*\n',
                                  'void ActionSpeakString(string sStringToSpeak, int nTalkVolume=TALKVOLUME_TALK);'),
                   ScriptFunction('void', 'ActionPlayAnimation',
                                  [ScriptParam('int', 'nAnimation', None), ScriptParam('float', 'fSpeed', '1.0'),
                                   ScriptParam('float', 'fDurationSeconds', '0.0')],
                                  '// 40: Cause the action subject to play an animation\n// - nAnimation: ANIMATION_*\n// - fSpeed: Speed of the animation\n// - fDurationSeconds: Duration of the animation (this is not used for Fire and\n//   Forget animations) If a time of -1.0f is specified for a looping animation\n//   it will loop until the next animation is applied.\n',
                                  'void ActionPlayAnimation(int nAnimation, float fSpeed=1.0, float fDurationSeconds=0.0);'),
                   ScriptFunction('float', 'GetDistanceToObject', [ScriptParam('object', 'oObject', None)],
                                  '// 41: Get the distance from the caller to oObject in metres.\n// * Return value on error: -1.0f\n',
                                  'float GetDistanceToObject(object oObject);'),
                   ScriptFunction('int', 'GetIsObjectValid', [ScriptParam('object', 'oObject', None)],
                                  '// 42: * Returns TRUE if oObject is a valid object.\n',
                                  'int GetIsObjectValid(object oObject);'),
                   ScriptFunction('void', 'ActionOpenDoor', [ScriptParam('object', 'oDoor', None)],
                                  '// 43: Cause the action subject to open oDoor\n',
                                  'void ActionOpenDoor(object oDoor);'),
                   ScriptFunction('void', 'ActionCloseDoor', [ScriptParam('object', 'oDoor', None)],
                                  '// 44: Cause the action subject to close oDoor\n',
                                  'void ActionCloseDoor(object oDoor);'),
                   ScriptFunction('void', 'SetCameraFacing', [ScriptParam('float', 'fDirection', None)],
                                  '// 45: Change the direction in which the camera is facing\n// - fDirection is expressed as anticlockwise degrees from Due East.\n//   (0.0f=East, 90.0f=North, 180.0f=West, 270.0f=South)\n// This can be used to change the way the camera is facing after the player\n// emerges from an area transition.\n',
                                  'void SetCameraFacing(float fDirection);'),
                   ScriptFunction('void', 'PlaySound', [ScriptParam('string', 'sSoundName', None)],
                                  '// 46: Play sSoundName\n// - sSoundName: TBD - SS\n',
                                  'void PlaySound(string sSoundName);'),
                   ScriptFunction('object', 'GetSpellTargetObject', [],
                                  '// 47: Get the object at which the caller last cast a spell\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetSpellTargetObject();'), ScriptFunction('void', 'ActionCastSpellAtObject',
                                                                                    [ScriptParam('int', 'nSpell', None),
                                                                                     ScriptParam('object', 'oTarget',
                                                                                                 None),
                                                                                     ScriptParam('int', 'nMetaMagic',
                                                                                                 '0'),
                                                                                     ScriptParam('int', 'bCheat',
                                                                                                 'FALSE'),
                                                                                     ScriptParam('int', 'nDomainLevel',
                                                                                                 '0'),
                                                                                     ScriptParam('int',
                                                                                                 'nProjectilePathType',
                                                                                                 'PROJECTILE_PATH_TYPE_DEFAULT'),
                                                                                     ScriptParam('int', 'bInstantSpell',
                                                                                                 'FALSE')],
                                                                                    "// 48: This action casts a spell at oTarget.\n// - nSpell: SPELL_*\n// - oTarget: Target for the spell\n// - nMetamagic: METAMAGIC_*\n// - bCheat: If this is TRUE, then the executor of the action doesn't have to be\n//   able to cast the spell.\n// - nDomainLevel: TBD - SS\n// - nProjectilePathType: PROJECTILE_PATH_TYPE_*\n// - bInstantSpell: If this is TRUE, the spell is cast immediately. This allows\n//   the end-user to simulate a high-level magic-user having lots of advance\n//   warning of impending trouble\n",
                                                                                    'void ActionCastSpellAtObject(int nSpell, object oTarget, int nMetaMagic=0 , int bCheat=FALSE, int nDomainLevel=0, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=FALSE);'),
                   ScriptFunction('int', 'GetCurrentHitPoints', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                  '// 49: Get the current hitpoints of oObject\n// * Return value on error: 0\n',
                                  'int GetCurrentHitPoints(object oObject=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetMaxHitPoints', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                  '// 50: Get the maximum hitpoints of oObject\n// * Return value on error: 0\n',
                                  'int GetMaxHitPoints(object oObject=OBJECT_SELF);'),
                   ScriptFunction('effect', 'EffectAssuredHit', [],
                                  '// 51: EffectAssuredHit\n// Create an Assured Hit effect, which guarantees that all attacks are successful\n',
                                  'effect EffectAssuredHit();'), ScriptFunction('object', 'GetLastItemEquipped', [],
                                                                                '// 52:\n// Returns the last item that was equipped by a creature.\n',
                                                                                'object GetLastItemEquipped();'),
                   ScriptFunction('int', 'GetSubScreenID', [],
                                  '// 53:\n// Returns the ID of the subscreen that is currently onscreen.  This will be one of the\n// SUBSCREEN_ID_* constant values.\n',
                                  'int GetSubScreenID();'),
                   ScriptFunction('void', 'CancelCombat', [ScriptParam('object', 'oidCreature', None)],
                                  '// 54:\n// Cancels combat for the specified creature.\n',
                                  'void CancelCombat( object oidCreature );'),
                   ScriptFunction('int', 'GetCurrentForcePoints', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                  '// 55:\n// returns the current force points for the creature\n',
                                  'int GetCurrentForcePoints(object oObject=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetMaxForcePoints', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                  '// 56:\n// returns the Max force points for the creature\n',
                                  'int GetMaxForcePoints(object oObject=OBJECT_SELF);'),
                   ScriptFunction('void', 'PauseGame', [ScriptParam('int', 'bPause', None)],
                                  '// 57:\n// Pauses the game if bPause is TRUE.  Unpauses if bPause is FALSE.\n',
                                  'void PauseGame( int bPause );'),
                   ScriptFunction('void', 'SetPlayerRestrictMode', [ScriptParam('int', 'bRestrict', None)],
                                  "// 58: SetPlayerRestrictMode\n// Sets whether the player is currently in 'restricted' mode\n",
                                  'void SetPlayerRestrictMode( int bRestrict );'),
                   ScriptFunction('int', 'GetStringLength', [ScriptParam('string', 'sString', None)],
                                  '// 59: Get the length of sString\n// * Return value on error: -1\n',
                                  'int GetStringLength(string sString);'),
                   ScriptFunction('string', 'GetStringUpperCase', [ScriptParam('string', 'sString', None)],
                                  '// 60: Convert sString into upper case\n// * Return value on error: ""\n',
                                  'string GetStringUpperCase(string sString);'),
                   ScriptFunction('string', 'GetStringLowerCase', [ScriptParam('string', 'sString', None)],
                                  '// 61: Convert sString into lower case\n// * Return value on error: ""\n',
                                  'string GetStringLowerCase(string sString);'),
                   ScriptFunction('string', 'GetStringRight',
                                  [ScriptParam('string', 'sString', None), ScriptParam('int', 'nCount', None)],
                                  '// 62: Get nCount characters from the right end of sString\n// * Return value on error: ""\n',
                                  'string GetStringRight(string sString, int nCount);'),
                   ScriptFunction('string', 'GetStringLeft',
                                  [ScriptParam('string', 'sString', None), ScriptParam('int', 'nCount', None)],
                                  '// 63: Get nCounter characters from the left end of sString\n// * Return value on error: ""\n',
                                  'string GetStringLeft(string sString, int nCount);'),
                   ScriptFunction('string', 'InsertString',
                                  [ScriptParam('string', 'sDestination', None), ScriptParam('string', 'sString', None),
                                   ScriptParam('int', 'nPosition', None)],
                                  '// 64: Insert sString into sDestination at nPosition\n// * Return value on error: ""\n',
                                  'string InsertString(string sDestination, string sString, int nPosition);'),
                   ScriptFunction('string', 'GetSubString',
                                  [ScriptParam('string', 'sString', None), ScriptParam('int', 'nStart', None),
                                   ScriptParam('int', 'nCount', None)],
                                  '// 65: Get nCount characters from sString, starting at nStart\n// * Return value on error: ""\n',
                                  'string GetSubString(string sString, int nStart, int nCount);'),
                   ScriptFunction('int', 'FindSubString',
                                  [ScriptParam('string', 'sString', None), ScriptParam('string', 'sSubString', None)],
                                  '// 66: Find the position of sSubstring inside sString\n// * Return value on error: -1\n',
                                  'int FindSubString(string sString, string sSubString);'),
                   ScriptFunction('float', 'fabs', [ScriptParam('float', 'fValue', None)],
                                  '// 67: Maths operation: absolute value of fValue\n', 'float fabs(float fValue);'),
                   ScriptFunction('float', 'cos', [ScriptParam('float', 'fValue', None)],
                                  '// 68: Maths operation: cosine of fValue\n', 'float cos(float fValue);'),
                   ScriptFunction('float', 'sin', [ScriptParam('float', 'fValue', None)],
                                  '// 69: Maths operation: sine of fValue\n', 'float sin(float fValue);'),
                   ScriptFunction('float', 'tan', [ScriptParam('float', 'fValue', None)],
                                  '// 70: Maths operation: tan of fValue\n', 'float tan(float fValue);'),
                   ScriptFunction('float', 'acos', [ScriptParam('float', 'fValue', None)],
                                  '// 71: Maths operation: arccosine of fValue\n// * Returns zero if fValue > 1 or fValue < -1\n',
                                  'float acos(float fValue);'),
                   ScriptFunction('float', 'asin', [ScriptParam('float', 'fValue', None)],
                                  '// 72: Maths operation: arcsine of fValue\n// * Returns zero if fValue >1 or fValue < -1\n',
                                  'float asin(float fValue);'),
                   ScriptFunction('float', 'atan', [ScriptParam('float', 'fValue', None)],
                                  '// 73: Maths operation: arctan of fValue\n', 'float atan(float fValue);'),
                   ScriptFunction('float', 'log', [ScriptParam('float', 'fValue', None)],
                                  '// 74: Maths operation: log of fValue\n// * Returns zero if fValue <= zero\n',
                                  'float log(float fValue);'), ScriptFunction('float', 'pow',
                                                                              [ScriptParam('float', 'fValue', None),
                                                                               ScriptParam('float', 'fExponent', None)],
                                                                              '// 75: Maths operation: fValue is raised to the power of fExponent\n// * Returns zero if fValue ==0 and fExponent <0\n',
                                                                              'float pow(float fValue, float fExponent);'),
                   ScriptFunction('float', 'sqrt', [ScriptParam('float', 'fValue', None)],
                                  '// 76: Maths operation: square root of fValue\n// * Returns zero if fValue <0\n',
                                  'float sqrt(float fValue);'),
                   ScriptFunction('int', 'abs', [ScriptParam('int', 'nValue', None)],
                                  '// 77: Maths operation: integer absolute value of nValue\n// * Return value on error: 0\n',
                                  'int abs(int nValue);'),
                   ScriptFunction('effect', 'EffectHeal', [ScriptParam('int', 'nDamageToHeal', None)],
                                  '// 78: Create a Heal effect. This should be applied as an instantaneous effect.\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nDamageToHeal < 0.\n',
                                  'effect EffectHeal(int nDamageToHeal);'), ScriptFunction('effect', 'EffectDamage', [
        ScriptParam('int', 'nDamageAmount', None), ScriptParam('int', 'nDamageType', 'DAMAGE_TYPE_UNIVERSAL'),
        ScriptParam('int', 'nDamagePower', 'DAMAGE_POWER_NORMAL')],
                                                                                           '// 79: Create a Damage effect\n// - nDamageAmount: amount of damage to be dealt. This should be applied as an\n//   instantaneous effect.\n// - nDamageType: DAMAGE_TYPE_*\n// - nDamagePower: DAMAGE_POWER_*\n',
                                                                                           'effect EffectDamage(int nDamageAmount, int nDamageType=DAMAGE_TYPE_UNIVERSAL, int nDamagePower=DAMAGE_POWER_NORMAL);'),
                   ScriptFunction('effect', 'EffectAbilityIncrease', [ScriptParam('int', 'nAbilityToIncrease', None),
                                                                      ScriptParam('int', 'nModifyBy', None)],
                                  '// 80: Create an Ability Increase effect\n// - bAbilityToIncrease: ABILITY_*\n',
                                  'effect EffectAbilityIncrease(int nAbilityToIncrease, int nModifyBy);'),
                   ScriptFunction('effect', 'EffectDamageResistance',
                                  [ScriptParam('int', 'nDamageType', None), ScriptParam('int', 'nAmount', None),
                                   ScriptParam('int', 'nLimit', '0')],
                                  '// 81: Create a Damage Resistance effect that removes the first nAmount points of\n// damage of type nDamageType, up to nLimit (or infinite if nLimit is 0)\n// - nDamageType: DAMAGE_TYPE_*\n// - nAmount\n// - nLimit\n',
                                  'effect EffectDamageResistance(int nDamageType, int nAmount, int nLimit=0);'),
                   ScriptFunction('effect', 'EffectResurrection', [],
                                  '// 82: Create a Resurrection effect. This should be applied as an instantaneous effect.\n',
                                  'effect EffectResurrection();'),
                   ScriptFunction('int', 'GetPlayerRestrictMode', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                  "// 83: GetPlayerRestrictMode\n// returns the current player 'restricted' mode\n",
                                  'int GetPlayerRestrictMode(object oObject = OBJECT_SELF);'),
                   ScriptFunction('int', 'GetCasterLevel', [ScriptParam('object', 'oCreature', None)],
                                  '// 84: Get the Caster Level of oCreature.\n// * Return value on error: 0;\n',
                                  'int GetCasterLevel(object oCreature);'),
                   ScriptFunction('effect', 'GetFirstEffect', [ScriptParam('object', 'oCreature', None)],
                                  '// 85: Get the first in-game effect on oCreature.\n',
                                  'effect GetFirstEffect(object oCreature);'),
                   ScriptFunction('effect', 'GetNextEffect', [ScriptParam('object', 'oCreature', None)],
                                  '// 86: Get the next in-game effect on oCreature.\n',
                                  'effect GetNextEffect(object oCreature);'), ScriptFunction('void', 'RemoveEffect', [
        ScriptParam('object', 'oCreature', None), ScriptParam('effect', 'eEffect', None)],
                                                                                             '// 87: Remove eEffect from oCreature.\n// * No return value\n',
                                                                                             'void RemoveEffect(object oCreature, effect eEffect);'),
                   ScriptFunction('int', 'GetIsEffectValid', [ScriptParam('effect', 'eEffect', None)],
                                  '// 88: * Returns TRUE if eEffect is a valid effect.\n',
                                  'int GetIsEffectValid(effect eEffect);'),
                   ScriptFunction('int', 'GetEffectDurationType', [ScriptParam('effect', 'eEffect', None)],
                                  '// 89: Get the duration type (DURATION_TYPE_*) of eEffect.\n// * Return value if eEffect is not valid: -1\n',
                                  'int GetEffectDurationType(effect eEffect);'),
                   ScriptFunction('int', 'GetEffectSubType', [ScriptParam('effect', 'eEffect', None)],
                                  '// 90: Get the subtype (SUBTYPE_*) of eEffect.\n// * Return value on error: 0\n',
                                  'int GetEffectSubType(effect eEffect);'),
                   ScriptFunction('object', 'GetEffectCreator', [ScriptParam('effect', 'eEffect', None)],
                                  '// 91: Get the object that created eEffect.\n// * Returns OBJECT_INVALID if eEffect is not a valid effect.\n',
                                  'object GetEffectCreator(effect eEffect);'),
                   ScriptFunction('string', 'IntToString', [ScriptParam('int', 'nInteger', None)],
                                  '// 92: Convert nInteger into a string.\n// * Return value on error: ""\n',
                                  'string IntToString(int nInteger);'), ScriptFunction('object', 'GetFirstObjectInArea',
                                                                                       [ScriptParam('object', 'oArea',
                                                                                                    'OBJECT_INVALID'),
                                                                                        ScriptParam('int',
                                                                                                    'nObjectFilter',
                                                                                                    'OBJECT_TYPE_CREATURE')],
                                                                                       "// 93: Get the first object in oArea.\n// If no valid area is specified, it will use the caller's area.\n// - oArea\n// - nObjectFilter: OBJECT_TYPE_*\n// * Return value on error: OBJECT_INVALID\n",
                                                                                       'object GetFirstObjectInArea(object oArea=OBJECT_INVALID, int nObjectFilter=OBJECT_TYPE_CREATURE);'),
                   ScriptFunction('object', 'GetNextObjectInArea', [ScriptParam('object', 'oArea', 'OBJECT_INVALID'),
                                                                    ScriptParam('int', 'nObjectFilter',
                                                                                'OBJECT_TYPE_CREATURE')],
                                  "// 94: Get the next object in oArea.\n// If no valid area is specified, it will use the caller's area.\n// - oArea\n// - nObjectFilter: OBJECT_TYPE_*\n// * Return value on error: OBJECT_INVALID\n",
                                  'object GetNextObjectInArea(object oArea=OBJECT_INVALID, int nObjectFilter=OBJECT_TYPE_CREATURE);'),
                   ScriptFunction('int', 'd2', [ScriptParam('int', 'nNumDice', '1')],
                                  '// 95: Get the total from rolling (nNumDice x d2 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                  'int d2(int nNumDice=1);'),
                   ScriptFunction('int', 'd3', [ScriptParam('int', 'nNumDice', '1')],
                                  '// 96: Get the total from rolling (nNumDice x d3 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                  'int d3(int nNumDice=1);'),
                   ScriptFunction('int', 'd4', [ScriptParam('int', 'nNumDice', '1')],
                                  '// 97: Get the total from rolling (nNumDice x d4 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                  'int d4(int nNumDice=1);'),
                   ScriptFunction('int', 'd6', [ScriptParam('int', 'nNumDice', '1')],
                                  '// 98: Get the total from rolling (nNumDice x d6 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                  'int d6(int nNumDice=1);'),
                   ScriptFunction('int', 'd8', [ScriptParam('int', 'nNumDice', '1')],
                                  '// 99: Get the total from rolling (nNumDice x d8 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                  'int d8(int nNumDice=1);'),
                   ScriptFunction('int', 'd10', [ScriptParam('int', 'nNumDice', '1')],
                                  '// 100: Get the total from rolling (nNumDice x d10 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                  'int d10(int nNumDice=1);'),
                   ScriptFunction('int', 'd12', [ScriptParam('int', 'nNumDice', '1')],
                                  '// 101: Get the total from rolling (nNumDice x d12 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                  'int d12(int nNumDice=1);'),
                   ScriptFunction('int', 'd20', [ScriptParam('int', 'nNumDice', '1')],
                                  '// 102: Get the total from rolling (nNumDice x d20 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                  'int d20(int nNumDice=1);'),
                   ScriptFunction('int', 'd100', [ScriptParam('int', 'nNumDice', '1')],
                                  '// 103: Get the total from rolling (nNumDice x d100 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                  'int d100(int nNumDice=1);'),
                   ScriptFunction('float', 'VectorMagnitude', [ScriptParam('vector', 'vVector', None)],
                                  '// 104: Get the magnitude of vVector; this can be used to determine the\n// distance between two points.\n// * Return value on error: 0.0f\n',
                                  'float VectorMagnitude(vector vVector);'),
                   ScriptFunction('int', 'GetMetaMagicFeat', [],
                                  '// 105: Get the metamagic type (METAMAGIC_*) of the last spell cast by the caller\n// * Return value if the caster is not a valid object: -1\n',
                                  'int GetMetaMagicFeat();'),
                   ScriptFunction('int', 'GetObjectType', [ScriptParam('object', 'oTarget', None)],
                                  '// 106: Get the object type (OBJECT_TYPE_*) of oTarget\n// * Return value if oTarget is not a valid object: -1\n',
                                  'int GetObjectType(object oTarget);'),
                   ScriptFunction('int', 'GetRacialType', [ScriptParam('object', 'oCreature', None)],
                                  '// 107: Get the racial type (RACIAL_TYPE_*) of oCreature\n// * Return value if oCreature is not a valid creature: RACIAL_TYPE_INVALID\n',
                                  'int GetRacialType(object oCreature);'), ScriptFunction('int', 'FortitudeSave', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nDC', None),
        ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_NONE'), ScriptParam('object', 'oSaveVersus', 'OBJECT_SELF')],
                                                                                          '// 108: Do a Fortitude Save check for the given DC\n// - oCreature\n// - nDC: Difficulty check\n// - nSaveType: SAVING_THROW_TYPE_*\n// - oSaveVersus\n// Returns: 0 if the saving throw roll failed\n// Returns: 1 if the saving throw roll succeeded\n// Returns: 2 if the target was immune to the save type specified\n',
                                                                                          'int FortitudeSave(object oCreature, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);'),
                   ScriptFunction('int', 'ReflexSave',
                                  [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nDC', None),
                                   ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_NONE'),
                                   ScriptParam('object', 'oSaveVersus', 'OBJECT_SELF')],
                                  '// 109: Does a Reflex Save check for the given DC\n// - oCreature\n// - nDC: Difficulty check\n// - nSaveType: SAVING_THROW_TYPE_*\n// - oSaveVersus\n// Returns: 0 if the saving throw roll failed\n// Returns: 1 if the saving throw roll succeeded\n// Returns: 2 if the target was immune to the save type specified\n',
                                  'int ReflexSave(object oCreature, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);'),
                   ScriptFunction('int', 'WillSave',
                                  [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nDC', None),
                                   ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_NONE'),
                                   ScriptParam('object', 'oSaveVersus', 'OBJECT_SELF')],
                                  '// 110: Does a Will Save check for the given DC\n// - oCreature\n// - nDC: Difficulty check\n// - nSaveType: SAVING_THROW_TYPE_*\n// - oSaveVersus\n// Returns: 0 if the saving throw roll failed\n// Returns: 1 if the saving throw roll succeeded\n// Returns: 2 if the target was immune to the save type specified\n',
                                  'int WillSave(object oCreature, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetSpellSaveDC', [],
                                  '// 111: Get the DC to save against for a spell (10 + spell level + relevant ability\n// bonus).  This can be called by a creature or by an Area of Effect object.\n',
                                  'int GetSpellSaveDC();'),
                   ScriptFunction('effect', 'MagicalEffect', [ScriptParam('effect', 'eEffect', None)],
                                  '// 112: Set the subtype of eEffect to Magical and return eEffect.\n// (Effects default to magical if the subtype is not set)\n',
                                  'effect MagicalEffect(effect eEffect);'),
                   ScriptFunction('effect', 'SupernaturalEffect', [ScriptParam('effect', 'eEffect', None)],
                                  '// 113: Set the subtype of eEffect to Supernatural and return eEffect.\n// (Effects default to magical if the subtype is not set)\n',
                                  'effect SupernaturalEffect(effect eEffect);'),
                   ScriptFunction('effect', 'ExtraordinaryEffect', [ScriptParam('effect', 'eEffect', None)],
                                  '// 114: Set the subtype of eEffect to Extraordinary and return eEffect.\n// (Effects default to magical if the subtype is not set)\n',
                                  'effect ExtraordinaryEffect(effect eEffect);'),
                   ScriptFunction('effect', 'EffectACIncrease', [ScriptParam('int', 'nValue', None),
                                                                 ScriptParam('int', 'nModifyType', 'AC_DODGE_BONUS'),
                                                                 ScriptParam('int', 'nDamageType',
                                                                             'AC_VS_DAMAGE_TYPE_ALL')],
                                  '// 115: Create an AC Increase effect\n// - nValue: size of AC increase\n// - nModifyType: AC_*_BONUS\n// - nDamageType: DAMAGE_TYPE_*\n//   * Default value for nDamageType should only ever be used in this function prototype.\n',
                                  'effect EffectACIncrease(int nValue, int nModifyType=AC_DODGE_BONUS, int nDamageType=AC_VS_DAMAGE_TYPE_ALL);'),
                   ScriptFunction('int', 'GetAC',
                                  [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nForFutureUse', '0')],
                                  "// 116: If oObject is a creature, this will return that creature's armour class\n// If oObject is an item, door or placeable, this will return zero.\n// - nForFutureUse: this parameter is not currently used\n// * Return value if oObject is not a creature, item, door or placeable: -1\n",
                                  'int GetAC(object oObject, int nForFutureUse=0);'),
                   ScriptFunction('effect', 'EffectSavingThrowIncrease',
                                  [ScriptParam('int', 'nSave', None), ScriptParam('int', 'nValue', None),
                                   ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_ALL')],
                                  '// 117: Create an AC Decrease effect\n// - nSave: SAVING_THROW_* (not SAVING_THROW_TYPE_*)\n// - nValue: size of AC decrease\n// - nSaveType: SAVING_THROW_TYPE_*\n',
                                  'effect EffectSavingThrowIncrease(int nSave, int nValue, int nSaveType=SAVING_THROW_TYPE_ALL);'),
                   ScriptFunction('effect', 'EffectAttackIncrease', [ScriptParam('int', 'nBonus', None),
                                                                     ScriptParam('int', 'nModifierType',
                                                                                 'ATTACK_BONUS_MISC')],
                                  '// 118: Create an Attack Increase effect\n// - nBonus: size of attack bonus\n// - nModifierType: ATTACK_BONUS_*\n',
                                  'effect EffectAttackIncrease(int nBonus, int nModifierType=ATTACK_BONUS_MISC);'),
                   ScriptFunction('effect', 'EffectDamageReduction',
                                  [ScriptParam('int', 'nAmount', None), ScriptParam('int', 'nDamagePower', None),
                                   ScriptParam('int', 'nLimit', '0')],
                                  '// 119: Create a Damage Reduction effect\n// - nAmount: amount of damage reduction\n// - nDamagePower: DAMAGE_POWER_*\n// - nLimit: How much damage the effect can absorb before disappearing.\n//   Set to zero for infinite\n',
                                  'effect EffectDamageReduction(int nAmount, int nDamagePower, int nLimit=0);'),
                   ScriptFunction('effect', 'EffectDamageIncrease', [ScriptParam('int', 'nBonus', None),
                                                                     ScriptParam('int', 'nDamageType',
                                                                                 'DAMAGE_TYPE_UNIVERSAL')],
                                  '// 120: Create a Damage Increase effect\n// - nBonus: DAMAGE_BONUS_*\n// - nDamageType: DAMAGE_TYPE_*\n',
                                  'effect EffectDamageIncrease(int nBonus, int nDamageType=DAMAGE_TYPE_UNIVERSAL);'),
                   ScriptFunction('float', 'RoundsToSeconds', [ScriptParam('int', 'nRounds', None)],
                                  '// 121: Convert nRounds into a number of seconds\n// A round is always 6.0 seconds\n',
                                  'float RoundsToSeconds(int nRounds);'),
                   ScriptFunction('float', 'HoursToSeconds', [ScriptParam('int', 'nHours', None)],
                                  '// 122: Convert nHours into a number of seconds\n// The result will depend on how many minutes there are per hour (game-time)\n',
                                  'float HoursToSeconds(int nHours);'),
                   ScriptFunction('float', 'TurnsToSeconds', [ScriptParam('int', 'nTurns', None)],
                                  '// 123: Convert nTurns into a number of seconds\n// A turn is always 60.0 seconds\n',
                                  'float TurnsToSeconds(int nTurns);'),
                   ScriptFunction('void', 'SoundObjectSetFixedVariance',
                                  [ScriptParam('object', 'oSound', None), ScriptParam('float', 'fFixedVariance', None)],
                                  '// 124. SoundObjectSetFixedVariance\n// Sets the constant variance at which to play the sound object\n// This variance is a multiplier of the original sound\n',
                                  'void SoundObjectSetFixedVariance( object oSound, float fFixedVariance );'),
                   ScriptFunction('int', 'GetGoodEvilValue', [ScriptParam('object', 'oCreature', None)],
                                  "// 125: Get an integer between 0 and 100 (inclusive) to represent oCreature's\n// Good/Evil alignment\n// (100=good, 0=evil)\n// * Return value if oCreature is not a valid creature: -1\n",
                                  'int GetGoodEvilValue(object oCreature);'),
                   ScriptFunction('int', 'GetPartyMemberCount', [],
                                  '// 126: GetPartyMemberCount\n// Returns a count of how many members are in the party including the player character\n',
                                  'int GetPartyMemberCount();'),
                   ScriptFunction('int', 'GetAlignmentGoodEvil', [ScriptParam('object', 'oCreature', None)],
                                  "// 127: Return an ALIGNMENT_* constant to represent oCreature's good/evil alignment\n// * Return value if oCreature is not a valid creature: -1\n",
                                  'int GetAlignmentGoodEvil(object oCreature);'),
                   ScriptFunction('object', 'GetFirstObjectInShape',
                                  [ScriptParam('int', 'nShape', None), ScriptParam('float', 'fSize', None),
                                   ScriptParam('location', 'lTarget', None),
                                   ScriptParam('int', 'bLineOfSight', 'FALSE'),
                                   ScriptParam('int', 'nObjectFilter', 'OBJECT_TYPE_CREATURE'),
                                   ScriptParam('vector', 'vOrigin', '[0.0'), ScriptParam('0.0', '0.0]', None)],
                                  '// 128: Get the first object in nShape\n// - nShape: SHAPE_*\n// - fSize:\n//   -> If nShape == SHAPE_SPHERE, this is the radius of the sphere\n//   -> If nShape == SHAPE_SPELLCYLINDER, this is the radius of the cylinder\n//   -> If nShape == SHAPE_CONE, this is the widest radius of the cone\n//   -> If nShape == SHAPE_CUBE, this is half the length of one of the sides of\n//      the cube\n// - lTarget: This is the centre of the effect, usually GetSpellTargetPosition(),\n//   or the end of a cylinder or cone.\n// - bLineOfSight: This controls whether to do a line-of-sight check on the\n//   object returned.\n//   (This can be used to ensure that spell effects do not go through walls.)\n// - nObjectFilter: This allows you to filter out undesired object types, using\n//   bitwise "or".\n//   For example, to return only creatures and doors, the value for this\n//   parameter would be OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR\n// - vOrigin: This is only used for cylinders and cones, and specifies the\n//   origin of the effect(normally the spell-caster\'s position).\n// Return value on error: OBJECT_INVALID\n',
                                  'object GetFirstObjectInShape(int nShape, float fSize, location lTarget, int bLineOfSight=FALSE, int nObjectFilter=OBJECT_TYPE_CREATURE, vector vOrigin=[0.0,0.0,0.0]);'),
                   ScriptFunction('object', 'GetNextObjectInShape',
                                  [ScriptParam('int', 'nShape', None), ScriptParam('float', 'fSize', None),
                                   ScriptParam('location', 'lTarget', None),
                                   ScriptParam('int', 'bLineOfSight', 'FALSE'),
                                   ScriptParam('int', 'nObjectFilter', 'OBJECT_TYPE_CREATURE'),
                                   ScriptParam('vector', 'vOrigin', '[0.0'), ScriptParam('0.0', '0.0]', None)],
                                  '// 129: Get the next object in nShape\n// - nShape: SHAPE_*\n// - fSize:\n//   -> If nShape == SHAPE_SPHERE, this is the radius of the sphere\n//   -> If nShape == SHAPE_SPELLCYLINDER, this is the radius of the cylinder\n//   -> If nShape == SHAPE_CONE, this is the widest radius of the cone\n//   -> If nShape == SHAPE_CUBE, this is half the length of one of the sides of\n//      the cube\n// - lTarget: This is the centre of the effect, usually GetSpellTargetPosition(),\n//   or the end of a cylinder or cone.\n// - bLineOfSight: This controls whether to do a line-of-sight check on the\n//   object returned. (This can be used to ensure that spell effects do not go\n//   through walls.)\n// - nObjectFilter: This allows you to filter out undesired object types, using\n//   bitwise "or". For example, to return only creatures and doors, the value for\n//   this parameter would be OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR\n// - vOrigin: This is only used for cylinders and cones, and specifies the origin\n//   of the effect (normally the spell-caster\'s position).\n// Return value on error: OBJECT_INVALID\n',
                                  'object GetNextObjectInShape(int nShape, float fSize, location lTarget, int bLineOfSight=FALSE, int nObjectFilter=OBJECT_TYPE_CREATURE, vector vOrigin=[0.0,0.0,0.0]);'),
                   ScriptFunction('effect', 'EffectEntangle', [],
                                  "// 130: Create an Entangle effect\n// When applied, this effect will restrict the creature's movement and apply a\n// (-2) to all attacks and a -4 to AC.\n",
                                  'effect EffectEntangle();'), ScriptFunction('void', 'SignalEvent',
                                                                              [ScriptParam('object', 'oObject', None),
                                                                               ScriptParam('event', 'evToRun', None)],
                                                                              '// 131: Cause oObject to run evToRun\n',
                                                                              'void SignalEvent(object oObject, event evToRun);'),
                   ScriptFunction('event', 'EventUserDefined', [ScriptParam('int', 'nUserDefinedEventNumber', None)],
                                  '// 132: Create an event of the type nUserDefinedEventNumber\n',
                                  'event EventUserDefined(int nUserDefinedEventNumber);'),
                   ScriptFunction('effect', 'EffectDeath', [ScriptParam('int', 'nSpectacularDeath', 'FALSE'),
                                                            ScriptParam('int', 'nDisplayFeedback', 'TRUE')],
                                  '// 133: Create a Death effect\n// - nSpectacularDeath: if this is TRUE, the creature to which this effect is\n//   applied will die in an extraordinary fashion\n// - nDisplayFeedback\n',
                                  'effect EffectDeath(int nSpectacularDeath=FALSE, int nDisplayFeedback=TRUE);'),
                   ScriptFunction('effect', 'EffectKnockdown', [],
                                  '// 134: Create a Knockdown effect\n// This effect knocks creatures off their feet, they will sit until the effect\n// is removed. This should be applied as a temporary effect with a 3 second\n// duration minimum (1 second to fall, 1 second sitting, 1 second to get up).\n',
                                  'effect EffectKnockdown();'), ScriptFunction('void', 'ActionGiveItem',
                                                                               [ScriptParam('object', 'oItem', None),
                                                                                ScriptParam('object', 'oGiveTo', None)],
                                                                               '// 135: Give oItem to oGiveTo\n// If oItem is not a valid item, or oGiveTo is not a valid object, nothing will\n// happen.\n',
                                                                               'void ActionGiveItem(object oItem, object oGiveTo);'),
                   ScriptFunction('void', 'ActionTakeItem',
                                  [ScriptParam('object', 'oItem', None), ScriptParam('object', 'oTakeFrom', None)],
                                  '// 136: Take oItem from oTakeFrom\n// If oItem is not a valid item, or oTakeFrom is not a valid object, nothing\n// will happen.\n',
                                  'void ActionTakeItem(object oItem, object oTakeFrom);'),
                   ScriptFunction('vector', 'VectorNormalize', [ScriptParam('vector', 'vVector', None)],
                                  '// 137: Normalize vVector\n', 'vector VectorNormalize(vector vVector);'),
                   ScriptFunction('int', 'GetItemStackSize', [ScriptParam('object', 'oItem', None)],
                                  '// 138:\n// Gets the stack size of an item.\n',
                                  'int GetItemStackSize( object oItem );'), ScriptFunction('int', 'GetAbilityScore', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nAbilityType', None)],
                                                                                           '// 139: Get the ability score of type nAbility for a creature (otherwise 0)\n// - oCreature: the creature whose ability score we wish to find out\n// - nAbilityType: ABILITY_*\n// Return value on error: 0\n',
                                                                                           'int GetAbilityScore(object oCreature, int nAbilityType);'),
                   ScriptFunction('int', 'GetIsDead', [ScriptParam('object', 'oCreature', None)],
                                  '// 140: * Returns TRUE if oCreature is a dead NPC, dead PC or a dying PC.\n',
                                  'int GetIsDead(object oCreature);'), ScriptFunction('void', 'PrintVector', [
        ScriptParam('vector', 'vVector', None), ScriptParam('int', 'bPrepend', None)],
                                                                                      '// 141: Output vVector to the logfile.\n// - vVector\n// - bPrepend: if this is TRUE, the message will be prefixed with "PRINTVECTOR:"\n',
                                                                                      'void PrintVector(vector vVector, int bPrepend);'),
                   ScriptFunction('vector', 'Vector',
                                  [ScriptParam('float', 'x', '0.0f'), ScriptParam('float', 'y', '0.0f'),
                                   ScriptParam('float', 'z', '0.0f')],
                                  '// 142: Create a vector with the specified values for x, y and z\n',
                                  'vector Vector(float x=0.0f, float y=0.0f, float z=0.0f);'),
                   ScriptFunction('void', 'SetFacingPoint', [ScriptParam('vector', 'vTarget', None)],
                                  '// 143: Cause the caller to face vTarget\n', 'void SetFacingPoint(vector vTarget);'),
                   ScriptFunction('vector', 'AngleToVector', [ScriptParam('float', 'fAngle', None)],
                                  '// 144: Convert fAngle to a vector\n', 'vector AngleToVector(float fAngle);'),
                   ScriptFunction('float', 'VectorToAngle', [ScriptParam('vector', 'vVector', None)],
                                  '// 145: Convert vVector to an angle\n', 'float VectorToAngle(vector vVector);'),
                   ScriptFunction('int', 'TouchAttackMelee', [ScriptParam('object', 'oTarget', None),
                                                              ScriptParam('int', 'bDisplayFeedback', 'TRUE')],
                                  '// 146: The caller will perform a Melee Touch Attack on oTarget\n// This is not an action, and it assumes the caller is already within range of\n// oTarget\n// * Returns 0 on a miss, 1 on a hit and 2 on a critical hit\n',
                                  'int TouchAttackMelee(object oTarget, int bDisplayFeedback=TRUE);'),
                   ScriptFunction('int', 'TouchAttackRanged', [ScriptParam('object', 'oTarget', None),
                                                               ScriptParam('int', 'bDisplayFeedback', 'TRUE')],
                                  '// 147: The caller will perform a Ranged Touch Attack on oTarget\n// * Returns 0 on a miss, 1 on a hit and 2 on a critical hit\n',
                                  'int TouchAttackRanged(object oTarget, int bDisplayFeedback=TRUE);'),
                   ScriptFunction('effect', 'EffectParalyze', [], '// 148: Create a Paralyze effect\n',
                                  'effect EffectParalyze();'), ScriptFunction('effect', 'EffectSpellImmunity', [
        ScriptParam('int', 'nImmunityToSpell', 'FORCE_POWER_ALL_FORCE_POWERS')],
                                                                              '// 149: Create a Spell Immunity effect.\n// There is a known bug with this function. There *must* be a parameter specified\n// when this is called (even if the desired parameter is SPELL_ALL_SPELLS),\n// otherwise an effect of type EFFECT_TYPE_INVALIDEFFECT will be returned.\n// - nImmunityToSpell: SPELL_*\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nImmunityToSpell is\n//   invalid.\n',
                                                                              'effect EffectSpellImmunity(int nImmunityToSpell=FORCE_POWER_ALL_FORCE_POWERS);'),
                   ScriptFunction('void', 'SetItemStackSize',
                                  [ScriptParam('object', 'oItem', None), ScriptParam('int', 'nStackSize', None)],
                                  '// 150:\n// Set the stack size of an item.\n// NOTE: The stack size will be clamped to between 1 and the max stack size (as\n//       specified in the base item).\n',
                                  'void SetItemStackSize( object oItem, int nStackSize );'),
                   ScriptFunction('float', 'GetDistanceBetween',
                                  [ScriptParam('object', 'oObjectA', None), ScriptParam('object', 'oObjectB', None)],
                                  '// 151: Get the distance in metres between oObjectA and oObjectB.\n// * Return value if either object is invalid: 0.0f\n',
                                  'float GetDistanceBetween(object oObjectA, object oObjectB);'),
                   ScriptFunction('void', 'SetReturnStrref',
                                  [ScriptParam('int', 'bShow', None), ScriptParam('int', 'srStringRef', '0'),
                                   ScriptParam('int', 'srReturnQueryStrRef', '0')],
                                  "// 152: SetReturnStrref\n// This function will turn on/off the display of the 'return to ebon hawk' option\n// on the map screen and allow the string to be changed to an arbitrary string ref\n// srReturnQueryStrRef is the string ref that will be displayed in the query pop\n// up confirming that you wish to return to the specified location.\n",
                                  'void SetReturnStrref(int bShow, int srStringRef = 0, int srReturnQueryStrRef = 0);'),
                   ScriptFunction('effect', 'EffectForceJump',
                                  [ScriptParam('object', 'oTarget', None), ScriptParam('int', 'nAdvanced', '0')],
                                  '// 153: EffectForceJump\n// The effect required for force jumping\n',
                                  'effect EffectForceJump(object oTarget, int nAdvanced = 0);'),
                   ScriptFunction('effect', 'EffectSleep', [], '// 154: Create a Sleep effect\n',
                                  'effect EffectSleep();'), ScriptFunction('object', 'GetItemInSlot',
                                                                           [ScriptParam('int', 'nInventorySlot', None),
                                                                            ScriptParam('object', 'oCreature',
                                                                                        'OBJECT_SELF')],
                                                                           "// 155: Get the object which is in oCreature's specified inventory slot\n// - nInventorySlot: INVENTORY_SLOT_*\n// - oCreature\n// * Returns OBJECT_INVALID if oCreature is not a valid creature or there is no\n//   item in nInventorySlot.\n",
                                                                           'object GetItemInSlot(int nInventorySlot, object oCreature=OBJECT_SELF);'),
                   ScriptFunction('effect', 'EffectTemporaryForcePoints', [ScriptParam('int', 'nTempForce', None)],
                                  '// 156: This was previously EffectCharmed();\n',
                                  'effect EffectTemporaryForcePoints(int nTempForce);'),
                   ScriptFunction('effect', 'EffectConfused', [], '// 157: Create a Confuse effect\n',
                                  'effect EffectConfused();'),
                   ScriptFunction('effect', 'EffectFrightened', [], '// 158: Create a Frighten effect\n',
                                  'effect EffectFrightened();'),
                   ScriptFunction('effect', 'EffectChoke', [], '// 159: Choke the bugger...\n',
                                  'effect EffectChoke( );'), ScriptFunction('void', 'SetGlobalString',
                                                                            [ScriptParam('string', 'sIdentifier', None),
                                                                             ScriptParam('string', 'sValue', None)],
                                                                            "// 160: Sets a global string with the specified identifier.  This is an EXTREMELY\n//      restricted function - do not use without expilicit permission.\n//      This means if you are not Preston.  Then go see him if you're even thinking\n//      about using this.\n",
                                                                            'void SetGlobalString( string sIdentifier, string sValue );'),
                   ScriptFunction('effect', 'EffectStunned', [], '// 161: Create a Stun effect\n',
                                  'effect EffectStunned();'), ScriptFunction('void', 'SetCommandable',
                                                                             [ScriptParam('int', 'bCommandable', None),
                                                                              ScriptParam('object', 'oTarget',
                                                                                          'OBJECT_SELF')],
                                                                             "// 162: Set whether oTarget's action stack can be modified\n",
                                                                             'void SetCommandable(int bCommandable, object oTarget=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetCommandable', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                  "// 163: Determine whether oTarget's action stack can be modified.\n",
                                  'int GetCommandable(object oTarget=OBJECT_SELF);'),
                   ScriptFunction('effect', 'EffectRegenerate',
                                  [ScriptParam('int', 'nAmount', None), ScriptParam('float', 'fIntervalSeconds', None)],
                                  '// 164: Create a Regenerate effect.\n// - nAmount: amount of damage to be regenerated per time interval\n// - fIntervalSeconds: length of interval in seconds\n',
                                  'effect EffectRegenerate(int nAmount, float fIntervalSeconds);'),
                   ScriptFunction('effect', 'EffectMovementSpeedIncrease',
                                  [ScriptParam('int', 'nNewSpeedPercent', None)],
                                  '// 165: Create a Movement Speed Increase effect.\n// - nNewSpeedPercent: This works in a dodgy way so please read this notes carefully.\n//   If you supply an integer under 100, 100 gets added to it to produce the final speed.\n//   e.g. if you supply 50, then the resulting speed is 150% of the original speed.\n//   If you supply 100 or above, then this is used directly as the resulting speed.\n//   e.g. if you specify 100, then the resulting speed is 100% of the original speed that is,\n//        it is unchanged.\n//        However if you specify 200, then the resulting speed is double the original speed.\n',
                                  'effect EffectMovementSpeedIncrease(int nNewSpeedPercent);'),
                   ScriptFunction('int', 'GetHitDice', [ScriptParam('object', 'oCreature', None)],
                                  '// 166: Get the number of hitdice for oCreature.\n// * Return value if oCreature is not a valid creature: 0\n',
                                  'int GetHitDice(object oCreature);'),
                   ScriptFunction('void', 'ActionForceFollowObject', [ScriptParam('object', 'oFollow', None),
                                                                      ScriptParam('float', 'fFollowDistance', '0.0f')],
                                  '// 167: The action subject will follow oFollow until a ClearAllActions() is called.\n// - oFollow: this is the object to be followed\n// - fFollowDistance: follow distance in metres\n// * No return value\n',
                                  'void ActionForceFollowObject(object oFollow, float fFollowDistance=0.0f);'),
                   ScriptFunction('string', 'GetTag', [ScriptParam('object', 'oObject', None)],
                                  '// 168: Get the Tag of oObject\n// * Return value if oObject is not a valid object: ""\n',
                                  'string GetTag(object oObject);'), ScriptFunction('int', 'ResistForce', [
        ScriptParam('object', 'oSource', None), ScriptParam('object', 'oTarget', None)],
                                                                                    '// 169: Do a Force Resistance check between oSource and oTarget, returning TRUE if\n// the force was resisted.\n// * Return value if oSource or oTarget is an invalid object: FALSE\n',
                                                                                    'int ResistForce(object oSource, object oTarget);'),
                   ScriptFunction('int', 'GetEffectType', [ScriptParam('effect', 'eEffect', None)],
                                  '// 170: Get the effect type (EFFECT_TYPE_*) of eEffect.\n// * Return value if eEffect is invalid: EFFECT_INVALIDEFFECT\n',
                                  'int GetEffectType(effect eEffect);'), ScriptFunction('effect', 'EffectAreaOfEffect',
                                                                                        [ScriptParam('int',
                                                                                                     'nAreaEffectId',
                                                                                                     None),
                                                                                         ScriptParam('string',
                                                                                                     'sOnEnterScript',
                                                                                                     '""'),
                                                                                         ScriptParam('string',
                                                                                                     'sHeartbeatScript',
                                                                                                     '""'),
                                                                                         ScriptParam('string',
                                                                                                     'sOnExitScript',
                                                                                                     '""')],
                                                                                        '// 171: Create an Area Of Effect effect in the area of the creature it is applied to.\n// If the scripts are not specified, default ones will be used.\n',
                                                                                        'effect EffectAreaOfEffect(int nAreaEffectId, string sOnEnterScript="", string sHeartbeatScript="", string sOnExitScript="");'),
                   ScriptFunction('int', 'GetFactionEqual', [ScriptParam('object', 'oFirstObject', None),
                                                             ScriptParam('object', 'oSecondObject', 'OBJECT_SELF')],
                                  '// 172: * Returns TRUE if the Faction Ids of the two objects are the same\n',
                                  'int GetFactionEqual(object oFirstObject, object oSecondObject=OBJECT_SELF);'),
                   ScriptFunction('void', 'ChangeFaction', [ScriptParam('object', 'oObjectToChangeFaction', None),
                                                            ScriptParam('object', 'oMemberOfFactionToJoin', None)],
                                  '// 173: Make oObjectToChangeFaction join the faction of oMemberOfFactionToJoin.\n// NB. ** This will only work for two NPCs **\n',
                                  'void ChangeFaction(object oObjectToChangeFaction, object oMemberOfFactionToJoin);'),
                   ScriptFunction('int', 'GetIsListening', [ScriptParam('object', 'oObject', None)],
                                  '// 174: * Returns TRUE if oObject is listening for something\n',
                                  'int GetIsListening(object oObject);'), ScriptFunction('void', 'SetListening', [
        ScriptParam('object', 'oObject', None), ScriptParam('int', 'bValue', None)],
                                                                                         '// 175: Set whether oObject is listening.\n',
                                                                                         'void SetListening(object oObject, int bValue);'),
                   ScriptFunction('void', 'SetListenPattern',
                                  [ScriptParam('object', 'oObject', None), ScriptParam('string', 'sPattern', None),
                                   ScriptParam('int', 'nNumber', '0')],
                                  '// 176: Set the string for oObject to listen for.\n// Note: this does not set oObject to be listening.\n',
                                  'void SetListenPattern(object oObject, string sPattern, int nNumber=0);'),
                   ScriptFunction('int', 'TestStringAgainstPattern', [ScriptParam('string', 'sPattern', None),
                                                                      ScriptParam('string', 'sStringToTest', None)],
                                  '// 177: * Returns TRUE if sStringToTest matches sPattern.\n',
                                  'int TestStringAgainstPattern(string sPattern, string sStringToTest);'),
                   ScriptFunction('string', 'GetMatchedSubstring', [ScriptParam('int', 'nString', None)],
                                  '// 178: Get the appropriate matched string (this should only be used in\n// OnConversation scripts).\n// * Returns the appropriate matched string, otherwise returns ""\n',
                                  'string GetMatchedSubstring(int nString);'),
                   ScriptFunction('int', 'GetMatchedSubstringsCount', [],
                                  '// 179: Get the number of string parameters available.\n// * Returns -1 if no string matched (this could be because of a dialogue event)\n',
                                  'int GetMatchedSubstringsCount();'), ScriptFunction('effect', 'EffectVisualEffect', [
        ScriptParam('int', 'nVisualEffectId', None), ScriptParam('int', 'nMissEffect', 'FALSE')],
                                                                                      '// 180: * Create a Visual Effect that can be applied to an object.\n// - nVisualEffectId\n// - nMissEffect: if this is TRUE, a random vector near or past the target will\n//   be generated, on which to play the effect\n',
                                                                                      'effect EffectVisualEffect(int nVisualEffectId, int nMissEffect=FALSE);'),
                   ScriptFunction('object', 'GetFactionWeakestMember',
                                  [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                   ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                  "// 181: Get the weakest member of oFactionMember's faction.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                  'object GetFactionWeakestMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                   ScriptFunction('object', 'GetFactionStrongestMember',
                                  [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                   ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                  "// 182: Get the strongest member of oFactionMember's faction.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                  'object GetFactionStrongestMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                   ScriptFunction('object', 'GetFactionMostDamagedMember',
                                  [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                   ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                  "// 183: Get the member of oFactionMember's faction that has taken the most hit points\n// of damage.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                  'object GetFactionMostDamagedMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                   ScriptFunction('object', 'GetFactionLeastDamagedMember',
                                  [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                   ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                  "// 184: Get the member of oFactionMember's faction that has taken the fewest hit\n// points of damage.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                  'object GetFactionLeastDamagedMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                   ScriptFunction('int', 'GetFactionGold', [ScriptParam('object', 'oFactionMember', None)],
                                  "// 185: Get the amount of gold held by oFactionMember's faction.\n// * Returns -1 if oFactionMember's faction is invalid.\n",
                                  'int GetFactionGold(object oFactionMember);'),
                   ScriptFunction('int', 'GetFactionAverageReputation',
                                  [ScriptParam('object', 'oSourceFactionMember', None),
                                   ScriptParam('object', 'oTarget', None)],
                                  "// 186: Get an integer between 0 and 100 (inclusive) that represents how\n// oSourceFactionMember's faction feels about oTarget.\n// * Return value on error: -1\n",
                                  'int GetFactionAverageReputation(object oSourceFactionMember, object oTarget);'),
                   ScriptFunction('int', 'GetFactionAverageGoodEvilAlignment',
                                  [ScriptParam('object', 'oFactionMember', None)],
                                  "// 187: Get an integer between 0 and 100 (inclusive) that represents the average\n// good/evil alignment of oFactionMember's faction.\n// * Return value on error: -1\n",
                                  'int GetFactionAverageGoodEvilAlignment(object oFactionMember);'),
                   ScriptFunction('float', 'SoundObjectGetFixedVariance', [ScriptParam('object', 'oSound', None)],
                                  '// 188. SoundObjectGetFixedVariance\n// Gets the constant variance at which to play the sound object\n',
                                  'float SoundObjectGetFixedVariance(object oSound);'),
                   ScriptFunction('int', 'GetFactionAverageLevel', [ScriptParam('object', 'oFactionMember', None)],
                                  '// 189: Get the average level of the members of the faction.\n// * Return value on error: -1\n',
                                  'int GetFactionAverageLevel(object oFactionMember);'),
                   ScriptFunction('int', 'GetFactionAverageXP', [ScriptParam('object', 'oFactionMember', None)],
                                  '// 190: Get the average XP of the members of the faction.\n// * Return value on error: -1\n',
                                  'int GetFactionAverageXP(object oFactionMember);'),
                   ScriptFunction('int', 'GetFactionMostFrequentClass', [ScriptParam('object', 'oFactionMember', None)],
                                  '// 191: Get the most frequent class in the faction - this can be compared with the\n// constants CLASS_TYPE_*.\n// * Return value on error: -1\n',
                                  'int GetFactionMostFrequentClass(object oFactionMember);'),
                   ScriptFunction('object', 'GetFactionWorstAC',
                                  [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                   ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                  "// 192: Get the object faction member with the lowest armour class.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                  'object GetFactionWorstAC(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                   ScriptFunction('object', 'GetFactionBestAC', [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                                                 ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                  "// 193: Get the object faction member with the highest armour class.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                  'object GetFactionBestAC(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                   ScriptFunction('string', 'GetGlobalString', [ScriptParam('string', 'sIdentifier', None)],
                                  "// 194: Get a global string with the specified identifier\n//      This is an EXTREMELY restricted function.  Use only with explicit permission.\n//      This means if you are not Preston.  Then go see him if you're even thinking\n//      about using this.\n",
                                  'string GetGlobalString( string sIdentifier );'),
                   ScriptFunction('int', 'GetListenPatternNumber', [],
                                  '// 195: In an onConversation script this gets the number of the string pattern\n// matched (the one that triggered the script).\n// * Returns -1 if no string matched\n',
                                  'int GetListenPatternNumber();'), ScriptFunction('void', 'ActionJumpToObject', [
        ScriptParam('object', 'oToJumpTo', None), ScriptParam('int', 'bWalkStraightLineToPoint', 'TRUE')],
                                                                                   '// 196: Jump to an object ID, or as near to it as possible.\n',
                                                                                   'void ActionJumpToObject(object oToJumpTo, int bWalkStraightLineToPoint=TRUE);'),
                   ScriptFunction('object', 'GetWaypointByTag', [ScriptParam('string', 'sWaypointTag', None)],
                                  '// 197: Get the first waypoint with the specified tag.\n// * Returns OBJECT_INVALID if the waypoint cannot be found.\n',
                                  'object GetWaypointByTag(string sWaypointTag);'),
                   ScriptFunction('object', 'GetTransitionTarget', [ScriptParam('object', 'oTransition', None)],
                                  '// 198: Get the destination (a waypoint or a door) for a trigger or a door.\n// * Returns OBJECT_INVALID if oTransition is not a valid trigger or door.\n',
                                  'object GetTransitionTarget(object oTransition);'),
                   ScriptFunction('effect', 'EffectLinkEffects', [ScriptParam('effect', 'eChildEffect', None),
                                                                  ScriptParam('effect', 'eParentEffect', None)],
                                  '// 199: Link the two supplied effects, returning eChildEffect as a child of\n// eParentEffect.\n// Note: When applying linked effects if the target is immune to all valid\n// effects all other effects will be removed as well. This means that if you\n// apply a visual effect and a silence effect (in a link) and the target is\n// immune to the silence effect that the visual effect will get removed as well.\n// Visual Effects are not considered "valid" effects for the purposes of\n// determining if an effect will be removed or not and as such should never be\n// packaged *only* with other visual effects in a link.\n',
                                  'effect EffectLinkEffects(effect eChildEffect, effect eParentEffect );'),
                   ScriptFunction('object', 'GetObjectByTag',
                                  [ScriptParam('string', 'sTag', None), ScriptParam('int', 'nNth', '0')],
                                  '// 200: Get the nNth object with the specified tag.\n// - sTag\n// - nNth: the nth object with this tag may be requested\n// * Returns OBJECT_INVALID if the object cannot be found.\n',
                                  'object GetObjectByTag(string sTag, int nNth=0);'),
                   ScriptFunction('void', 'AdjustAlignment',
                                  [ScriptParam('object', 'oSubject', None), ScriptParam('int', 'nAlignment', None),
                                   ScriptParam('int', 'nShift', None)],
                                  "// 201: Adjust the alignment of oSubject.\n// - oSubject\n// - nAlignment:\n//   -> ALIGNMENT_LIGHT_SIDE/ALIGNMENT_DARK_SIDE: oSubject's\n//      alignment will be shifted in the direction specified\n//   -> ALIGNMENT_NEUTRAL: nShift is applied to oSubject's dark side/light side\n//      alignment value in the direction which is towards neutrality.\n//     e.g. If oSubject has an alignment value of 80 (i.e. light side)\n//          then if nShift is 15, the alignment value will become (80-15)=65\n//     Furthermore, the shift will at most take the alignment value to 50 and\n//     not beyond.\n//     e.g. If oSubject has an alignment value of 40 then if nShift is 15,\n//          the aligment value will become 50\n// - nShift: this is the desired shift in alignment\n// * No return value\n",
                                  'void AdjustAlignment(object oSubject, int nAlignment, int nShift);'),
                   ScriptFunction('void', 'ActionWait', [ScriptParam('float', 'fSeconds', None)],
                                  '// 202: Do nothing for fSeconds seconds.\n', 'void ActionWait(float fSeconds);'),
                   ScriptFunction('void', 'SetAreaTransitionBMP',
                                  [ScriptParam('int', 'nPredefinedAreaTransition', None),
                                   ScriptParam('string', 'sCustomAreaTransitionBMP', '""')],
                                  '// 203: Set the transition bitmap of a player; this should only be called in area\n// transition scripts. This action should be run by the person "clicking" the\n// area transition via AssignCommand.\n// - nPredefinedAreaTransition:\n//   -> To use a predefined area transition bitmap, use one of AREA_TRANSITION_*\n//   -> To use a custom, user-defined area transition bitmap, use\n//      AREA_TRANSITION_USER_DEFINED and specify the filename in the second\n//      parameter\n// - sCustomAreaTransitionBMP: this is the filename of a custom, user-defined\n//   area transition bitmap\n',
                                  'void SetAreaTransitionBMP(int nPredefinedAreaTransition, string sCustomAreaTransitionBMP="");'),
                   ScriptFunction('void', 'ActionStartConversation', [ScriptParam('object', 'oObjectToConverse', None),
                                                                      ScriptParam('string', 'sDialogResRef', '""'),
                                                                      ScriptParam('int', 'bPrivateConversation',
                                                                                  'FALSE'),
                                                                      ScriptParam('int', 'nConversationType',
                                                                                  'CONVERSATION_TYPE_CINEMATIC'),
                                                                      ScriptParam('int', 'bIgnoreStartRange', 'FALSE'),
                                                                      ScriptParam('string', 'sNameObjectToIgnore1',
                                                                                  '""'),
                                                                      ScriptParam('string', 'sNameObjectToIgnore2',
                                                                                  '""'),
                                                                      ScriptParam('string', 'sNameObjectToIgnore3',
                                                                                  '""'),
                                                                      ScriptParam('string', 'sNameObjectToIgnore4',
                                                                                  '""'),
                                                                      ScriptParam('string', 'sNameObjectToIgnore5',
                                                                                  '""'),
                                                                      ScriptParam('string', 'sNameObjectToIgnore6',
                                                                                  '""'),
                                                                      ScriptParam('int', 'bUseLeader', 'FALSE')],
                                  "// AMF: APRIL 28, 2003 - I HAVE CHANGED THIS FUNCTION AS PER DAN'S REQUEST\n// 204: Starts a conversation with oObjectToConverseWith - this will cause their\n// OnDialog event to fire.\n// - oObjectToConverseWith\n// - sDialogResRef: If this is blank, the creature's own dialogue file will be used\n// - bPrivateConversation: If this is blank, the default is FALSE.\n// - nConversationType - If this is blank the default will be Cinematic, ie. a normal conversation type\n//                                  other choices inclue: CONVERSATION_TYPE_COMPUTER\n//   UPDATE:  nConversationType actually has no meaning anymore.  This has been replaced by a flag in the dialog editor.  However\n//                for backwards compatability it has been left here.  So when using this command place CONVERSATION_TYPE_CINEMATIC in here. - DJF\n// - bIgnoreStartRange - If this is blank the default will be FALSE, ie. Start conversation ranges are in effect\n//                                                                      Setting this to TRUE will cause creatures to start a conversation without requiring to close\n//                                                                      the distance between the two object in dialog.\n// - sNameObjectToIgnore1-6 - Normally objects in the animation list of the dialog editor have to be available for animations on that node to work\n//                                        these 6 strings are to indicate 6 objects that don’t need to be available for things to proceed.  The string should be EXACTLY\n//                                        the same as the string that it represents in the dialog editor.\n",
                                  'void ActionStartConversation(object oObjectToConverse, string sDialogResRef = "", int bPrivateConversation = FALSE, int nConversationType = CONVERSATION_TYPE_CINEMATIC, int bIgnoreStartRange = FALSE, string sNameObjectToIgnore1 = "", string sNameObjectToIgnore2 = "", string sNameObjectToIgnore3 = "", string sNameObjectToIgnore4 = "", string sNameObjectToIgnore5 = "", string sNameObjectToIgnore6 = "", int bUseLeader = FALSE);'),
                   ScriptFunction('void', 'ActionPauseConversation', [], '// 205: Pause the current conversation.\n',
                                  'void ActionPauseConversation();'),
                   ScriptFunction('void', 'ActionResumeConversation', [],
                                  '// 206: Resume a conversation after it has been paused.\n',
                                  'void ActionResumeConversation();'), ScriptFunction('effect', 'EffectBeam', [
        ScriptParam('int', 'nBeamVisualEffect', None), ScriptParam('object', 'oEffector', None),
        ScriptParam('int', 'nBodyPart', None), ScriptParam('int', 'bMissEffect', 'FALSE')],
                                                                                      '// 207: Create a Beam effect.\n// - nBeamVisualEffect: VFX_BEAM_*\n// - oEffector: the beam is emitted from this creature\n// - nBodyPart: BODY_NODE_*\n// - bMissEffect: If this is TRUE, the beam will fire to a random vector near or\n//   past the target\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nBeamVisualEffect is\n//   not valid.\n',
                                                                                      'effect EffectBeam(int nBeamVisualEffect, object oEffector, int nBodyPart, int bMissEffect=FALSE);'),
                   ScriptFunction('int', 'GetReputation',
                                  [ScriptParam('object', 'oSource', None), ScriptParam('object', 'oTarget', None)],
                                  '// 208: Get an integer between 0 and 100 (inclusive) that represents how oSource\n// feels about oTarget.\n// -> 0-10 means oSource is hostile to oTarget\n// -> 11-89 means oSource is neutral to oTarget\n// -> 90-100 means oSource is friendly to oTarget\n// * Returns -1 if oSource or oTarget does not identify a valid object\n',
                                  'int GetReputation(object oSource, object oTarget);'),
                   ScriptFunction('void', 'AdjustReputation', [ScriptParam('object', 'oTarget', None),
                                                               ScriptParam('object', 'oSourceFactionMember', None),
                                                               ScriptParam('int', 'nAdjustment', None)],
                                  "// 209: Adjust how oSourceFactionMember's faction feels about oTarget by the\n// specified amount.\n// Note: This adjusts Faction Reputation, how the entire faction that\n// oSourceFactionMember is in, feels about oTarget.\n// * No return value\n",
                                  'void AdjustReputation(object oTarget, object oSourceFactionMember, int nAdjustment);'),
                   ScriptFunction('string', 'GetModuleFileName', [],
                                  '// 210: Gets the actual file name of the current module\n',
                                  'string GetModuleFileName();'),
                   ScriptFunction('object', 'GetGoingToBeAttackedBy', [ScriptParam('object', 'oTarget', None)],
                                  '// 211: Get the creature that is going to attack oTarget.\n// Note: This value is cleared out at the end of every combat round and should\n// not be used in any case except when getting a "going to be attacked" shout\n// from the master creature (and this creature is a henchman)\n// * Returns OBJECT_INVALID if oTarget is not a valid creature.\n',
                                  'object GetGoingToBeAttackedBy(object oTarget);'),
                   ScriptFunction('effect', 'EffectForceResistanceIncrease', [ScriptParam('int', 'nValue', None)],
                                  '// 212: Create a Force Resistance Increase effect.\n// - nValue: size of Force Resistance increase\n',
                                  'effect EffectForceResistanceIncrease(int nValue);'),
                   ScriptFunction('location', 'GetLocation', [ScriptParam('object', 'oObject', None)],
                                  '// 213: Get the location of oObject.\n', 'location GetLocation(object oObject);'),
                   ScriptFunction('void', 'ActionJumpToLocation', [ScriptParam('location', 'lLocation', None)],
                                  '// 214: The subject will jump to lLocation instantly (even between areas).\n// If lLocation is invalid, nothing will happen.\n',
                                  'void ActionJumpToLocation(location lLocation);'),
                   ScriptFunction('location', 'Location', [ScriptParam('vector', 'vPosition', None),
                                                           ScriptParam('float', 'fOrientation', None)],
                                  '// 215: Create a location.\n',
                                  'location Location(vector vPosition, float fOrientation);'),
                   ScriptFunction('void', 'ApplyEffectAtLocation',
                                  [ScriptParam('int', 'nDurationType', None), ScriptParam('effect', 'eEffect', None),
                                   ScriptParam('location', 'lLocation', None),
                                   ScriptParam('float', 'fDuration', '0.0f')], '// 216: Apply eEffect at lLocation.\n',
                                  'void ApplyEffectAtLocation(int nDurationType, effect eEffect, location lLocation, float fDuration=0.0f);'),
                   ScriptFunction('int', 'GetIsPC', [ScriptParam('object', 'oCreature', None)],
                                  '// 217: * Returns TRUE if oCreature is a Player Controlled character.\n',
                                  'int GetIsPC(object oCreature);'),
                   ScriptFunction('float', 'FeetToMeters', [ScriptParam('float', 'fFeet', None)],
                                  '// 218: Convert fFeet into a number of meters.\n',
                                  'float FeetToMeters(float fFeet);'),
                   ScriptFunction('float', 'YardsToMeters', [ScriptParam('float', 'fYards', None)],
                                  '// 219: Convert fYards into a number of meters.\n',
                                  'float YardsToMeters(float fYards);'), ScriptFunction('void', 'ApplyEffectToObject', [
        ScriptParam('int', 'nDurationType', None), ScriptParam('effect', 'eEffect', None),
        ScriptParam('object', 'oTarget', None), ScriptParam('float', 'fDuration', '0.0f')],
                                                                                        '// 220: Apply eEffect to oTarget.\n',
                                                                                        'void ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f);'),
                   ScriptFunction('void', 'SpeakString', [ScriptParam('string', 'sStringToSpeak', None),
                                                          ScriptParam('int', 'nTalkVolume', 'TALKVOLUME_TALK')],
                                  '// 221: The caller will immediately speak sStringToSpeak (this is different from\n// ActionSpeakString)\n// - sStringToSpeak\n// - nTalkVolume: TALKVOLUME_*\n',
                                  'void SpeakString(string sStringToSpeak, int nTalkVolume=TALKVOLUME_TALK);'),
                   ScriptFunction('location', 'GetSpellTargetLocation', [],
                                  "// 222: Get the location of the caller's last spell target.\n",
                                  'location GetSpellTargetLocation();'),
                   ScriptFunction('vector', 'GetPositionFromLocation', [ScriptParam('location', 'lLocation', None)],
                                  '// 223: Get the position vector from lLocation.\n',
                                  'vector GetPositionFromLocation(location lLocation);'),
                   ScriptFunction('effect', 'EffectBodyFuel', [],
                                  '// 224: the effect of body fule.. convers HP -> FP i think\n',
                                  'effect EffectBodyFuel( );'),
                   ScriptFunction('float', 'GetFacingFromLocation', [ScriptParam('location', 'lLocation', None)],
                                  '// 225: Get the orientation value from lLocation.\n',
                                  'float GetFacingFromLocation(location lLocation);'),
                   ScriptFunction('object', 'GetNearestCreatureToLocation',
                                  [ScriptParam('int', 'nFirstCriteriaType', None),
                                   ScriptParam('int', 'nFirstCriteriaValue', None),
                                   ScriptParam('location', 'lLocation', None), ScriptParam('int', 'nNth', '1'),
                                   ScriptParam('int', 'nSecondCriteriaType', '-1'),
                                   ScriptParam('int', 'nSecondCriteriaValue', '-1'),
                                   ScriptParam('int', 'nThirdCriteriaType', '-1'),
                                   ScriptParam('int', 'nThirdCriteriaValue', '-1')],
                                  "// 226: Get the creature nearest to lLocation, subject to all the criteria specified.\n// - nFirstCriteriaType: CREATURE_TYPE_*\n// - nFirstCriteriaValue:\n//   -> CLASS_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_CLASS\n//   -> SPELL_* if nFirstCriteriaType was CREATURE_TYPE_DOES_NOT_HAVE_SPELL_EFFECT\n//      or CREATURE_TYPE_HAS_SPELL_EFFECT\n//   -> TRUE or FALSE if nFirstCriteriaType was CREATURE_TYPE_IS_ALIVE\n//   -> PERCEPTION_* if nFirstCriteriaType was CREATURE_TYPE_PERCEPTION\n//   -> PLAYER_CHAR_IS_PC or PLAYER_CHAR_NOT_PC if nFirstCriteriaType was\n//      CREATURE_TYPE_PLAYER_CHAR\n//   -> RACIAL_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_RACIAL_TYPE\n//   -> REPUTATION_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_REPUTATION\n//   For example, to get the nearest PC, use\n//   (CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC)\n// - lLocation: We're trying to find the creature of the specified type that is\n//   nearest to lLocation\n// - nNth: We don't have to find the first nearest: we can find the Nth nearest....\n// - nSecondCriteriaType: This is used in the same way as nFirstCriteriaType to\n//   further specify the type of creature that we are looking for.\n// - nSecondCriteriaValue: This is used in the same way as nFirstCriteriaValue\n//   to further specify the type of creature that we are looking for.\n// - nThirdCriteriaType: This is used in the same way as nFirstCriteriaType to\n//   further specify the type of creature that we are looking for.\n// - nThirdCriteriaValue: This is used in the same way as nFirstCriteriaValue to\n//   further specify the type of creature that we are looking for.\n// * Return value on error: OBJECT_INVALID\n",
                                  'object GetNearestCreatureToLocation(int nFirstCriteriaType, int nFirstCriteriaValue,  location lLocation, int nNth=1, int nSecondCriteriaType=-1, int nSecondCriteriaValue=-1, int nThirdCriteriaType=-1,  int nThirdCriteriaValue=-1 );'),
                   ScriptFunction('object', 'GetNearestObject', [ScriptParam('int', 'nObjectType', 'OBJECT_TYPE_ALL'),
                                                                 ScriptParam('object', 'oTarget', 'OBJECT_SELF'),
                                                                 ScriptParam('int', 'nNth', '1')],
                                  '// 227: Get the Nth object nearest to oTarget that is of the specified type.\n// - nObjectType: OBJECT_TYPE_*\n// - oTarget\n// - nNth\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetNearestObject(int nObjectType=OBJECT_TYPE_ALL, object oTarget=OBJECT_SELF, int nNth=1);'),
                   ScriptFunction('object', 'GetNearestObjectToLocation',
                                  [ScriptParam('int', 'nObjectType', None), ScriptParam('location', 'lLocation', None),
                                   ScriptParam('int', 'nNth', '1')],
                                  '// 228: Get the nNth object nearest to lLocation that is of the specified type.\n// - nObjectType: OBJECT_TYPE_*\n// - lLocation\n// - nNth\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetNearestObjectToLocation(int nObjectType, location lLocation, int nNth=1);'),
                   ScriptFunction('object', 'GetNearestObjectByTag',
                                  [ScriptParam('string', 'sTag', None), ScriptParam('object', 'oTarget', 'OBJECT_SELF'),
                                   ScriptParam('int', 'nNth', '1')],
                                  '// 229: Get the nth Object nearest to oTarget that has sTag as its tag.\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetNearestObjectByTag(string sTag, object oTarget=OBJECT_SELF, int nNth=1);'),
                   ScriptFunction('float', 'IntToFloat', [ScriptParam('int', 'nInteger', None)],
                                  '// 230: Convert nInteger into a floating point number.\n',
                                  'float IntToFloat(int nInteger);'),
                   ScriptFunction('int', 'FloatToInt', [ScriptParam('float', 'fFloat', None)],
                                  '// 231: Convert fFloat into the nearest integer.\n',
                                  'int FloatToInt(float fFloat);'),
                   ScriptFunction('int', 'StringToInt', [ScriptParam('string', 'sNumber', None)],
                                  '// 232: Convert sNumber into an integer.\n', 'int StringToInt(string sNumber);'),
                   ScriptFunction('float', 'StringToFloat', [ScriptParam('string', 'sNumber', None)],
                                  '// 233: Convert sNumber into a floating point number.\n',
                                  'float StringToFloat(string sNumber);'),
                   ScriptFunction('void', 'ActionCastSpellAtLocation',
                                  [ScriptParam('int', 'nSpell', None), ScriptParam('location', 'lTargetLocation', None),
                                   ScriptParam('int', 'nMetaMagic', '0'), ScriptParam('int', 'bCheat', 'FALSE'),
                                   ScriptParam('int', 'nProjectilePathType', 'PROJECTILE_PATH_TYPE_DEFAULT'),
                                   ScriptParam('int', 'bInstantSpell', 'FALSE')],
                                  "// 234: Cast spell nSpell at lTargetLocation.\n// - nSpell: SPELL_*\n// - lTargetLocation\n// - nMetaMagic: METAMAGIC_*\n// - bCheat: If this is TRUE, then the executor of the action doesn't have to be\n//   able to cast the spell.\n// - nProjectilePathType: PROJECTILE_PATH_TYPE_*\n// - bInstantSpell: If this is TRUE, the spell is cast immediately; this allows\n//   the end-user to simulate\n//   a high-level magic user having lots of advance warning of impending trouble.\n",
                                  'void   ActionCastSpellAtLocation(int nSpell, location lTargetLocation, int nMetaMagic=0, int bCheat=FALSE, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=FALSE);'),
                   ScriptFunction('int', 'GetIsEnemy', [ScriptParam('object', 'oTarget', None),
                                                        ScriptParam('object', 'oSource', 'OBJECT_SELF')],
                                  '// 235: * Returns TRUE if oSource considers oTarget as an enemy.\n',
                                  'int GetIsEnemy(object oTarget, object oSource=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetIsFriend', [ScriptParam('object', 'oTarget', None),
                                                         ScriptParam('object', 'oSource', 'OBJECT_SELF')],
                                  '// 236: * Returns TRUE if oSource considers oTarget as a friend.\n',
                                  'int GetIsFriend(object oTarget, object oSource=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetIsNeutral', [ScriptParam('object', 'oTarget', None),
                                                          ScriptParam('object', 'oSource', 'OBJECT_SELF')],
                                  '// 237: * Returns TRUE if oSource considers oTarget as neutral.\n',
                                  'int GetIsNeutral(object oTarget, object oSource=OBJECT_SELF);'),
                   ScriptFunction('object', 'GetPCSpeaker', [],
                                  '// 238: Get the PC that is involved in the conversation.\n// * Returns OBJECT_INVALID on error.\n',
                                  'object GetPCSpeaker();'),
                   ScriptFunction('string', 'GetStringByStrRef', [ScriptParam('int', 'nStrRef', None)],
                                  '// 239: Get a string from the talk table using nStrRef.\n',
                                  'string GetStringByStrRef(int nStrRef);'),
                   ScriptFunction('void', 'ActionSpeakStringByStrRef', [ScriptParam('int', 'nStrRef', None),
                                                                        ScriptParam('int', 'nTalkVolume',
                                                                                    'TALKVOLUME_TALK')],
                                  '// 240: Causes the creature to speak a translated string.\n// - nStrRef: Reference of the string in the talk table\n// - nTalkVolume: TALKVOLUME_*\n',
                                  'void ActionSpeakStringByStrRef(int nStrRef, int nTalkVolume=TALKVOLUME_TALK);'),
                   ScriptFunction('void', 'DestroyObject',
                                  [ScriptParam('object', 'oDestroy', None), ScriptParam('float', 'fDelay', '0.0f'),
                                   ScriptParam('int', 'bNoFade', 'FALSE'),
                                   ScriptParam('float', 'fDelayUntilFade', '0.0f')],
                                  '// 241: Destroy oObject (irrevocably).\n// This will not work on modules and areas.\n// The bNoFade and fDelayUntilFade are for creatures and placeables only\n',
                                  'void DestroyObject(object oDestroy, float fDelay=0.0f, int bNoFade = FALSE, float fDelayUntilFade = 0.0f);'),
                   ScriptFunction('object', 'GetModule', [],
                                  '// 242: Get the module.\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetModule();'), ScriptFunction('object', 'CreateObject',
                                                                         [ScriptParam('int', 'nObjectType', None),
                                                                          ScriptParam('string', 'sTemplate', None),
                                                                          ScriptParam('location', 'lLocation', None),
                                                                          ScriptParam('int', 'bUseAppearAnimation',
                                                                                      'FALSE')],
                                                                         '// 243: Create an object of the specified type at lLocation.\n// - nObjectType: OBJECT_TYPE_ITEM, OBJECT_TYPE_CREATURE, OBJECT_TYPE_PLACEABLE,\n//   OBJECT_TYPE_STORE\n// - sTemplate\n// - lLocation\n// - bUseAppearAnimation\n// Waypoints can now also be created using the CreateObject function.\n// nObjectType is: OBJECT_TYPE_WAYPOINT\n// sTemplate will be the tag of the waypoint\n// lLocation is where the waypoint will be placed\n// bUseAppearAnimation is ignored\n',
                                                                         'object CreateObject(int nObjectType, string sTemplate, location lLocation, int bUseAppearAnimation=FALSE);'),
                   ScriptFunction('event', 'EventSpellCastAt',
                                  [ScriptParam('object', 'oCaster', None), ScriptParam('int', 'nSpell', None),
                                   ScriptParam('int', 'bHarmful', 'TRUE')],
                                  '// 244: Create an event which triggers the "SpellCastAt" script\n',
                                  'event EventSpellCastAt(object oCaster, int nSpell, int bHarmful=TRUE);'),
                   ScriptFunction('object', 'GetLastSpellCaster', [],
                                  '// 245: This is for use in a "Spell Cast" script, it gets who cast the spell.\n// The spell could have been cast by a creature, placeable or door.\n// * Returns OBJECT_INVALID if the caller is not a creature, placeable or door.\n',
                                  'object GetLastSpellCaster();'), ScriptFunction('int', 'GetLastSpell', [],
                                                                                  '// 246: This is for use in a "Spell Cast" script, it gets the ID of the spell that\n// was cast.\n',
                                                                                  'int GetLastSpell();'),
                   ScriptFunction('int', 'GetUserDefinedEventNumber', [],
                                  '// 247: This is for use in a user-defined script, it gets the event number.\n',
                                  'int GetUserDefinedEventNumber();'), ScriptFunction('int', 'GetSpellId', [],
                                                                                      '// 248: This is for use in a Spell script, it gets the ID of the spell that is being\n// cast (SPELL_*).\n',
                                                                                      'int GetSpellId();'),
                   ScriptFunction('string', 'RandomName', [], '// 249: Generate a random name.\n',
                                  'string RandomName();'),
                   ScriptFunction('effect', 'EffectPoison', [ScriptParam('int', 'nPoisonType', None)],
                                  '// 250: Create a Poison effect.\n// - nPoisonType: POISON_*\n',
                                  'effect EffectPoison(int nPoisonType);'),
                   ScriptFunction('int', 'GetLoadFromSaveGame', [],
                                  '// 251: Returns whether this script is being run\n//      while a load game is in progress\n',
                                  'int GetLoadFromSaveGame();'),
                   ScriptFunction('effect', 'EffectAssuredDeflection', [ScriptParam('int', 'nReturn', '0')],
                                  '// 252: Assured Deflection\n// This effect ensures that all projectiles shot at a jedi will be deflected\n// without doing an opposed roll.  It takes an optional parameter to say whether\n// the deflected projectile will return to the attacker and cause damage\n',
                                  'effect EffectAssuredDeflection(int nReturn = 0);'),
                   ScriptFunction('string', 'GetName', [ScriptParam('object', 'oObject', None)],
                                  '// 253: Get the name of oObject.\n', 'string GetName(object oObject);'),
                   ScriptFunction('object', 'GetLastSpeaker', [],
                                  '// 254: Use this in a conversation script to get the person with whom you are conversing.\n// * Returns OBJECT_INVALID if the caller is not a valid creature.\n',
                                  'object GetLastSpeaker();'), ScriptFunction('int', 'BeginConversation',
                                                                              [ScriptParam('string', 'sResRef', '""'),
                                                                               ScriptParam('object', 'oObjectToDialog',
                                                                                           'OBJECT_INVALID')],
                                                                              '// 255: Use this in an OnDialog script to start up the dialog tree.\n// - sResRef: if this is not specified, the default dialog file will be used\n// - oObjectToDialog: if this is not specified the person that triggered the\n//   event will be used\n',
                                                                              'int BeginConversation(string sResRef="", object oObjectToDialog=OBJECT_INVALID);'),
                   ScriptFunction('object', 'GetLastPerceived', [],
                                  '// 256: Use this in an OnPerception script to get the object that was perceived.\n// * Returns OBJECT_INVALID if the caller is not a valid creature.\n',
                                  'object GetLastPerceived();'), ScriptFunction('int', 'GetLastPerceptionHeard', [],
                                                                                '// 257: Use this in an OnPerception script to determine whether the object that was\n// perceived was heard.\n',
                                                                                'int GetLastPerceptionHeard();'),
                   ScriptFunction('int', 'GetLastPerceptionInaudible', [],
                                  '// 258: Use this in an OnPerception script to determine whether the object that was\n// perceived has become inaudible.\n',
                                  'int GetLastPerceptionInaudible();'),
                   ScriptFunction('int', 'GetLastPerceptionSeen', [],
                                  '// 259: Use this in an OnPerception script to determine whether the object that was\n// perceived was seen.\n',
                                  'int GetLastPerceptionSeen();'), ScriptFunction('object', 'GetLastClosedBy', [],
                                                                                  '// 260: Use this in an OnClosed script to get the object that closed the door or placeable.\n// * Returns OBJECT_INVALID if the caller is not a valid door or placeable.\n',
                                                                                  'object GetLastClosedBy();'),
                   ScriptFunction('int', 'GetLastPerceptionVanished', [],
                                  '// 261: Use this in an OnPerception script to determine whether the object that was\n// perceived has vanished.\n',
                                  'int GetLastPerceptionVanished();'),
                   ScriptFunction('object', 'GetFirstInPersistentObject',
                                  [ScriptParam('object', 'oPersistentObject', 'OBJECT_SELF'),
                                   ScriptParam('int', 'nResidentObjectType', 'OBJECT_TYPE_CREATURE'),
                                   ScriptParam('int', 'nPersistentZone', 'PERSISTENT_ZONE_ACTIVE')],
                                  '// 262: Get the first object within oPersistentObject.\n// - oPersistentObject\n// - nResidentObjectType: OBJECT_TYPE_*\n// - nPersistentZone: PERSISTENT_ZONE_ACTIVE. [This could also take the value\n//   PERSISTENT_ZONE_FOLLOW, but this is no longer used.]\n// * Returns OBJECT_INVALID if no object is found.\n',
                                  'object GetFirstInPersistentObject(object oPersistentObject=OBJECT_SELF, int nResidentObjectType=OBJECT_TYPE_CREATURE, int nPersistentZone=PERSISTENT_ZONE_ACTIVE);'),
                   ScriptFunction('object', 'GetNextInPersistentObject',
                                  [ScriptParam('object', 'oPersistentObject', 'OBJECT_SELF'),
                                   ScriptParam('int', 'nResidentObjectType', 'OBJECT_TYPE_CREATURE'),
                                   ScriptParam('int', 'nPersistentZone', 'PERSISTENT_ZONE_ACTIVE')],
                                  '// 263: Get the next object within oPersistentObject.\n// - oPersistentObject\n// - nResidentObjectType: OBJECT_TYPE_*\n// - nPersistentZone: PERSISTENT_ZONE_ACTIVE. [This could also take the value\n//   PERSISTENT_ZONE_FOLLOW, but this is no longer used.]\n// * Returns OBJECT_INVALID if no object is found.\n',
                                  'object GetNextInPersistentObject(object oPersistentObject=OBJECT_SELF, int nResidentObjectType=OBJECT_TYPE_CREATURE, int nPersistentZone=PERSISTENT_ZONE_ACTIVE);'),
                   ScriptFunction('object', 'GetAreaOfEffectCreator',
                                  [ScriptParam('object', 'oAreaOfEffectObject', 'OBJECT_SELF')],
                                  '// 264: This returns the creator of oAreaOfEffectObject.\n// * Returns OBJECT_INVALID if oAreaOfEffectObject is not a valid Area of Effect object.\n',
                                  'object GetAreaOfEffectCreator(object oAreaOfEffectObject=OBJECT_SELF);'),
                   ScriptFunction('int', 'ShowLevelUpGUI', [],
                                  '// 265: Brings up the level up GUI for the player.  The GUI will only show up\n//      if the player has gained enough experience points to level up.\n// * Returns TRUE if the GUI was successfully brought up; FALSE if not.\n',
                                  'int ShowLevelUpGUI();'), ScriptFunction('void', 'SetItemNonEquippable',
                                                                           [ScriptParam('object', 'oItem', None),
                                                                            ScriptParam('int', 'bNonEquippable', None)],
                                                                           '// 266: Flag the specified item as being non-equippable or not.  Set bNonEquippable\n//      to TRUE to prevent this item from being equipped, and FALSE to allow\n//      the normal equipping checks to determine if the item can be equipped.\n// NOTE: This will do nothing if the object passed in is not an item.  Items that\n//       are already equipped when this is called will not automatically be\n//       unequipped.  These items will just be prevented from being re-equipped\n//       should they be unequipped.\n',
                                                                           'void SetItemNonEquippable( object oItem, int bNonEquippable );'),
                   ScriptFunction('int', 'GetButtonMashCheck', [],
                                  '// 267: GetButtonMashCheck\n// This function returns whether the button mash check, used for the combat tutorial, is on\n',
                                  'int GetButtonMashCheck();'),
                   ScriptFunction('void', 'SetButtonMashCheck', [ScriptParam('int', 'nCheck', None)],
                                  '// 268: SetButtonMashCheck\n// This function sets the button mash check variable, and is used for turning the check on and off\n',
                                  'void SetButtonMashCheck(int nCheck);'),
                   ScriptFunction('effect', 'EffectForcePushTargeted', [ScriptParam('location', 'lCentre', None),
                                                                        ScriptParam('int', 'nIgnoreTestDirectLine',
                                                                                    '0')],
                                  '// 269: EffectForcePushTargeted\n// This effect is exactly the same as force push, except it takes a location parameter that specifies\n// where the location of the force push is to be done from.  All orientations are also based on this location.\n// AMF:  The new ignore test direct line variable should be used with extreme caution\n// It overrides geometry checks for force pushes, so that the object that the effect is applied to\n// is guaranteed to move that far, ignoring collisions.  It is best used for cutscenes.\n',
                                  'effect EffectForcePushTargeted(location lCentre, int nIgnoreTestDirectLine = 0);'),
                   ScriptFunction('effect', 'EffectHaste', [], '// 270: Create a Haste effect.\n',
                                  'effect EffectHaste();'), ScriptFunction('void', 'GiveItem',
                                                                           [ScriptParam('object', 'oItem', None),
                                                                            ScriptParam('object', 'oGiveTo', None)],
                                                                           '// 271: Give oItem to oGiveTo (instant; for similar Action use ActionGiveItem)\n// If oItem is not a valid item, or oGiveTo is not a valid object, nothing will\n// happen.\n',
                                                                           'void GiveItem(object oItem, object oGiveTo);'),
                   ScriptFunction('string', 'ObjectToString', [ScriptParam('object', 'oObject', None)],
                                  '// 272: Convert oObject into a hexadecimal string.\n',
                                  'string ObjectToString(object oObject);'),
                   ScriptFunction('effect', 'EffectImmunity', [ScriptParam('int', 'nImmunityType', None)],
                                  '// 273: Create an Immunity effect.\n// - nImmunityType: IMMUNITY_TYPE_*\n',
                                  'effect EffectImmunity(int nImmunityType);'), ScriptFunction('int', 'GetIsImmune', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nImmunityType', None),
        ScriptParam('object', 'oVersus', 'OBJECT_INVALID')],
                                                                                               '// 274: - oCreature\n// - nImmunityType: IMMUNITY_TYPE_*\n// - oVersus: if this is specified, then we also check for the race and\n//   alignment of oVersus\n// * Returns TRUE if oCreature has immunity of type nImmunity versus oVersus.\n',
                                                                                               'int GetIsImmune(object oCreature, int nImmunityType, object oVersus=OBJECT_INVALID);'),
                   ScriptFunction('effect', 'EffectDamageImmunityIncrease', [ScriptParam('int', 'nDamageType', None),
                                                                             ScriptParam('int', 'nPercentImmunity',
                                                                                         None)],
                                  '// 275: Creates a Damage Immunity Increase effect.\n// - nDamageType: DAMAGE_TYPE_*\n// - nPercentImmunity\n',
                                  'effect EffectDamageImmunityIncrease(int nDamageType, int nPercentImmunity);'),
                   ScriptFunction('int', 'GetEncounterActive', [ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                  '// 276: Determine whether oEncounter is active.\n',
                                  'int  GetEncounterActive(object oEncounter=OBJECT_SELF);'),
                   ScriptFunction('void', 'SetEncounterActive', [ScriptParam('int', 'nNewValue', None),
                                                                 ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                  "// 277: Set oEncounter's active state to nNewValue.\n// - nNewValue: TRUE/FALSE\n// - oEncounter\n",
                                  'void SetEncounterActive(int nNewValue, object oEncounter=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetEncounterSpawnsMax', [ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                  '// 278: Get the maximum number of times that oEncounter will spawn.\n',
                                  'int GetEncounterSpawnsMax(object oEncounter=OBJECT_SELF);'),
                   ScriptFunction('void', 'SetEncounterSpawnsMax', [ScriptParam('int', 'nNewValue', None),
                                                                    ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                  '// 279: Set the maximum number of times that oEncounter can spawn\n',
                                  'void SetEncounterSpawnsMax(int nNewValue, object oEncounter=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetEncounterSpawnsCurrent',
                                  [ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                  '// 280: Get the number of times that oEncounter has spawned so far\n',
                                  'int  GetEncounterSpawnsCurrent(object oEncounter=OBJECT_SELF);'),
                   ScriptFunction('void', 'SetEncounterSpawnsCurrent', [ScriptParam('int', 'nNewValue', None),
                                                                        ScriptParam('object', 'oEncounter',
                                                                                    'OBJECT_SELF')],
                                  '// 281: Set the number of times that oEncounter has spawned so far\n',
                                  'void SetEncounterSpawnsCurrent(int nNewValue, object oEncounter=OBJECT_SELF);'),
                   ScriptFunction('object', 'GetModuleItemAcquired', [],
                                  '// 282: Use this in an OnItemAcquired script to get the item that was acquired.\n// * Returns OBJECT_INVALID if the module is not valid.\n',
                                  'object GetModuleItemAcquired();'),
                   ScriptFunction('object', 'GetModuleItemAcquiredFrom', [],
                                  '// 283: Use this in an OnItemAcquired script to get the creatre that previously\n// possessed the item.\n// * Returns OBJECT_INVALID if the item was picked up from the ground.\n',
                                  'object GetModuleItemAcquiredFrom();'), ScriptFunction('void', 'SetCustomToken', [
        ScriptParam('int', 'nCustomTokenNumber', None), ScriptParam('string', 'sTokenValue', None)],
                                                                                         '// 284: Set the value for a custom token.\n',
                                                                                         'void SetCustomToken(int nCustomTokenNumber, string sTokenValue);'),
                   ScriptFunction('int', 'GetHasFeat', [ScriptParam('int', 'nFeat', None),
                                                        ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 285: Determine whether oCreature has nFeat, and nFeat is useable.\n// - nFeat: FEAT_*\n// - oCreature\n',
                                  'int GetHasFeat(int nFeat, object oCreature=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetHasSkill', [ScriptParam('int', 'nSkill', None),
                                                         ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 286: Determine whether oCreature has nSkill, and nSkill is useable.\n// - nSkill: SKILL_*\n// - oCreature\n',
                                  'int GetHasSkill(int nSkill, object oCreature=OBJECT_SELF);'),
                   ScriptFunction('void', 'ActionUseFeat',
                                  [ScriptParam('int', 'nFeat', None), ScriptParam('object', 'oTarget', None)],
                                  '// 287: Use nFeat on oTarget.\n// - nFeat: FEAT_*\n// - oTarget\n',
                                  'void ActionUseFeat(int nFeat, object oTarget);'),
                   ScriptFunction('void', 'ActionUseSkill',
                                  [ScriptParam('int', 'nSkill', None), ScriptParam('object', 'oTarget', None),
                                   ScriptParam('int', 'nSubSkill', '0'),
                                   ScriptParam('object', 'oItemUsed', 'OBJECT_INVALID')],
                                  '// 288: Runs the action "UseSkill" on the current creature\n// Use nSkill on oTarget.\n// - nSkill: SKILL_*\n// - oTarget\n// - nSubSkill: SUBSKILL_*\n// - oItemUsed: Item to use in conjunction with the skill\n',
                                  'void ActionUseSkill(int nSkill, object oTarget, int nSubSkill=0, object oItemUsed=OBJECT_INVALID );'),
                   ScriptFunction('int', 'GetObjectSeen', [ScriptParam('object', 'oTarget', None),
                                                           ScriptParam('object', 'oSource', 'OBJECT_SELF')],
                                  '// 289: Determine whether oSource sees oTarget.\n',
                                  'int GetObjectSeen(object oTarget, object oSource=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetObjectHeard', [ScriptParam('object', 'oTarget', None),
                                                            ScriptParam('object', 'oSource', 'OBJECT_SELF')],
                                  '// 290: Determine whether oSource hears oTarget.\n',
                                  'int GetObjectHeard(object oTarget, object oSource=OBJECT_SELF);'),
                   ScriptFunction('object', 'GetLastPlayerDied', [],
                                  '// 291: Use this in an OnPlayerDeath module script to get the last player that died.\n',
                                  'object GetLastPlayerDied();'), ScriptFunction('object', 'GetModuleItemLost', [],
                                                                                 '// 292: Use this in an OnItemLost script to get the item that was lost/dropped.\n// * Returns OBJECT_INVALID if the module is not valid.\n',
                                                                                 'object GetModuleItemLost();'),
                   ScriptFunction('object', 'GetModuleItemLostBy', [],
                                  '// 293: Use this in an OnItemLost script to get the creature that lost the item.\n// * Returns OBJECT_INVALID if the module is not valid.\n',
                                  'object GetModuleItemLostBy();'),
                   ScriptFunction('void', 'ActionDoCommand', [ScriptParam('action', 'aActionToDo', None)],
                                  '// 294: Do aActionToDo.\n', 'void ActionDoCommand(action aActionToDo);'),
                   ScriptFunction('event', 'EventConversation', [], '// 295: Conversation event.\n',
                                  'event EventConversation();'), ScriptFunction('void', 'SetEncounterDifficulty', [
        ScriptParam('int', 'nEncounterDifficulty', None), ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                                                                '// 296: Set the difficulty level of oEncounter.\n// - nEncounterDifficulty: ENCOUNTER_DIFFICULTY_*\n// - oEncounter\n',
                                                                                'void SetEncounterDifficulty(int nEncounterDifficulty, object oEncounter=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetEncounterDifficulty', [ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                  '// 297: Get the difficulty level of oEncounter.\n',
                                  'int GetEncounterDifficulty(object oEncounter=OBJECT_SELF);'),
                   ScriptFunction('float', 'GetDistanceBetweenLocations', [ScriptParam('location', 'lLocationA', None),
                                                                           ScriptParam('location', 'lLocationB', None)],
                                  '// 298: Get the distance between lLocationA and lLocationB.\n',
                                  'float GetDistanceBetweenLocations(location lLocationA, location lLocationB);'),
                   ScriptFunction('int', 'GetReflexAdjustedDamage',
                                  [ScriptParam('int', 'nDamage', None), ScriptParam('object', 'oTarget', None),
                                   ScriptParam('int', 'nDC', None),
                                   ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_NONE'),
                                   ScriptParam('object', 'oSaveVersus', 'OBJECT_SELF')],
                                  "// 299: Use this in spell scripts to get nDamage adjusted by oTarget's reflex and\n// evasion saves.\n// - nDamage\n// - oTarget\n// - nDC: Difficulty check\n// - nSaveType: SAVING_THROW_TYPE_*\n// - oSaveVersus\n",
                                  'int GetReflexAdjustedDamage(int nDamage, object oTarget, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);'),
                   ScriptFunction('void', 'PlayAnimation',
                                  [ScriptParam('int', 'nAnimation', None), ScriptParam('float', 'fSpeed', '1.0'),
                                   ScriptParam('float', 'fSeconds', '0.0')],
                                  '// 300: Play nAnimation immediately.\n// - nAnimation: ANIMATION_*\n// - fSpeed\n// - fSeconds: Duration of the animation (this is not used for Fire and\n//   Forget animations) If a time of -1.0f is specified for a looping animation\n//   it will loop until the next animation is applied.\n',
                                  'void PlayAnimation(int nAnimation, float fSpeed=1.0, float fSeconds=0.0);'),
                   ScriptFunction('talent', 'TalentSpell', [ScriptParam('int', 'nSpell', None)],
                                  '// 301: Create a Spell Talent.\n// - nSpell: SPELL_*\n',
                                  'talent TalentSpell(int nSpell);'),
                   ScriptFunction('talent', 'TalentFeat', [ScriptParam('int', 'nFeat', None)],
                                  '// 302: Create a Feat Talent.\n// - nFeat: FEAT_*\n',
                                  'talent TalentFeat(int nFeat);'),
                   ScriptFunction('talent', 'TalentSkill', [ScriptParam('int', 'nSkill', None)],
                                  '// 303: Create a Skill Talent.\n// - nSkill: SKILL_*\n',
                                  'talent TalentSkill(int nSkill);'), ScriptFunction('int', 'GetHasSpellEffect', [
        ScriptParam('int', 'nSpell', None), ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                                                                     '// 304: Determine if oObject has effects originating from nSpell.\n// - nSpell: SPELL_*\n// - oObject\n',
                                                                                     'int GetHasSpellEffect(int nSpell, object oObject=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetEffectSpellId', [ScriptParam('effect', 'eSpellEffect', None)],
                                  '// 305: Get the spell (SPELL_*) that applied eSpellEffect.\n// * Returns -1 if eSpellEffect was applied outside a spell script.\n',
                                  'int GetEffectSpellId(effect eSpellEffect);'),
                   ScriptFunction('int', 'GetCreatureHasTalent', [ScriptParam('talent', 'tTalent', None),
                                                                  ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 306: Determine whether oCreature has tTalent.\n',
                                  'int GetCreatureHasTalent(talent tTalent, object oCreature=OBJECT_SELF);'),
                   ScriptFunction('talent', 'GetCreatureTalentRandom', [ScriptParam('int', 'nCategory', None),
                                                                        ScriptParam('object', 'oCreature',
                                                                                    'OBJECT_SELF'),
                                                                        ScriptParam('int', 'nInclusion', '0')],
                                  '// 307: Get a random talent of oCreature, within nCategory.\n// - nCategory: TALENT_CATEGORY_*\n// - oCreature\n// - nInclusion: types of talent to include\n',
                                  'talent GetCreatureTalentRandom(int nCategory, object oCreature=OBJECT_SELF, int nInclusion=0);'),
                   ScriptFunction('talent', 'GetCreatureTalentBest',
                                  [ScriptParam('int', 'nCategory', None), ScriptParam('int', 'nCRMax', None),
                                   ScriptParam('object', 'oCreature', 'OBJECT_SELF'),
                                   ScriptParam('int', 'nInclusion', '0'), ScriptParam('int', 'nExcludeType', '-1'),
                                   ScriptParam('int', 'nExcludeId', '-1')],
                                  '// 308: Get the best talent (i.e. closest to nCRMax without going over) of oCreature,\n// within nCategory.\n// - nCategory: TALENT_CATEGORY_*\n// - nCRMax: Challenge Rating of the talent\n// - oCreature\n// - nInclusion: types of talent to include\n// - nExcludeType: TALENT_TYPE_FEAT or TALENT_TYPE_FORCE, type of talent that we wish to ignore\n// - nExcludeId: Talent ID of the talent we wish to ignore.\n//   A value of TALENT_EXCLUDE_ALL_OF_TYPE for this parameter will mean that all talents of\n//   type nExcludeType are ignored.\n',
                                  'talent GetCreatureTalentBest(int nCategory, int nCRMax, object oCreature=OBJECT_SELF, int nInclusion=0, int nExcludeType = -1, int nExcludeId = -1);'),
                   ScriptFunction('void', 'ActionUseTalentOnObject', [ScriptParam('talent', 'tChosenTalent', None),
                                                                      ScriptParam('object', 'oTarget', None)],
                                  '// 309: Use tChosenTalent on oTarget.\n',
                                  'void ActionUseTalentOnObject(talent tChosenTalent, object oTarget);'),
                   ScriptFunction('void', 'ActionUseTalentAtLocation', [ScriptParam('talent', 'tChosenTalent', None),
                                                                        ScriptParam('location', 'lTargetLocation',
                                                                                    None)],
                                  '// 310: Use tChosenTalent at lTargetLocation.\n',
                                  'void ActionUseTalentAtLocation(talent tChosenTalent, location lTargetLocation);'),
                   ScriptFunction('int', 'GetGoldPieceValue', [ScriptParam('object', 'oItem', None)],
                                  '// 311: Get the gold piece value of oItem.\n// * Returns 0 if oItem is not a valid item.\n',
                                  'int GetGoldPieceValue(object oItem);'),
                   ScriptFunction('int', 'GetIsPlayableRacialType', [ScriptParam('object', 'oCreature', None)],
                                  '// 312: * Returns TRUE if oCreature is of a playable racial type.\n',
                                  'int GetIsPlayableRacialType(object oCreature);'),
                   ScriptFunction('void', 'JumpToLocation', [ScriptParam('location', 'lDestination', None)],
                                  '// 313: Jump to lDestination.  The action is added to the TOP of the action queue.\n',
                                  'void JumpToLocation(location lDestination);'),
                   ScriptFunction('effect', 'EffectTemporaryHitpoints', [ScriptParam('int', 'nHitPoints', None)],
                                  '// 314: Create a Temporary Hitpoints effect.\n// - nHitPoints: a positive integer\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nHitPoints < 0.\n',
                                  'effect EffectTemporaryHitpoints(int nHitPoints);'),
                   ScriptFunction('int', 'GetSkillRank',
                                  [ScriptParam('int', 'nSkill', None), ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                  "// 315: Get the number of ranks that oTarget has in nSkill.\n// - nSkill: SKILL_*\n// - oTarget\n// * Returns -1 if oTarget doesn't have nSkill.\n// * Returns 0 if nSkill is untrained.\n",
                                  'int GetSkillRank(int nSkill, object oTarget=OBJECT_SELF);'),
                   ScriptFunction('object', 'GetAttackTarget', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 316: Get the attack target of oCreature.\n// This only works when oCreature is in combat.\n',
                                  'object GetAttackTarget(object oCreature=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetLastAttackType', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  "// 317: Get the attack type (SPECIAL_ATTACK_*) of oCreature's last attack.\n// This only works when oCreature is in combat.\n",
                                  'int GetLastAttackType(object oCreature=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetLastAttackMode', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  "// 318: Get the attack mode (COMBAT_MODE_*) of oCreature's last attack.\n// This only works when oCreature is in combat.\n",
                                  'int GetLastAttackMode(object oCreature=OBJECT_SELF);'),
                   ScriptFunction('float', 'GetDistanceBetween2D',
                                  [ScriptParam('object', 'oObjectA', None), ScriptParam('object', 'oObjectB', None)],
                                  '// 319: Get the distance in metres between oObjectA and oObjectB in 2D.\n// * Return value if either object is invalid: 0.0f\n',
                                  'float GetDistanceBetween2D(object oObjectA, object oObjectB);'),
                   ScriptFunction('int', 'GetIsInCombat', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 320: * Returns TRUE if oCreature is in combat.\n',
                                  'int GetIsInCombat(object oCreature=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetLastAssociateCommand',
                                  [ScriptParam('object', 'oAssociate', 'OBJECT_SELF')],
                                  '// 321: Get the last command (ASSOCIATE_COMMAND_*) issued to oAssociate.\n',
                                  'int GetLastAssociateCommand(object oAssociate=OBJECT_SELF);'),
                   ScriptFunction('void', 'GiveGoldToCreature',
                                  [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nGP', None)],
                                  '// 322: Give nGP gold to oCreature.\n',
                                  'void GiveGoldToCreature(object oCreature, int nGP);'),
                   ScriptFunction('void', 'SetIsDestroyable',
                                  [ScriptParam('int', 'bDestroyable', None), ScriptParam('int', 'bRaiseable', 'TRUE'),
                                   ScriptParam('int', 'bSelectableWhenDead', 'FALSE')],
                                  '// 323: Set the destroyable status of the caller.\n// - bDestroyable: If this is FALSE, the caller does not fade out on death, but\n//   sticks around as a corpse.\n// - bRaiseable: If this is TRUE, the caller can be raised via resurrection.\n// - bSelectableWhenDead: If this is TRUE, the caller is selectable after death.\n',
                                  'void SetIsDestroyable(int bDestroyable, int bRaiseable=TRUE, int bSelectableWhenDead=FALSE);'),
                   ScriptFunction('void', 'SetLocked',
                                  [ScriptParam('object', 'oTarget', None), ScriptParam('int', 'bLocked', None)],
                                  '// 324: Set the locked state of oTarget, which can be a door or a placeable object.\n',
                                  'void SetLocked(object oTarget, int bLocked);'),
                   ScriptFunction('int', 'GetLocked', [ScriptParam('object', 'oTarget', None)],
                                  '// 325: Get the locked state of oTarget, which can be a door or a placeable object.\n',
                                  'int GetLocked(object oTarget);'), ScriptFunction('object', 'GetClickingObject', [],
                                                                                    "// 326: Use this in a trigger's OnClick event script to get the object that last\n// clicked on it.\n// This is identical to GetEnteringObject.\n",
                                                                                    'object GetClickingObject();'),
                   ScriptFunction('void', 'SetAssociateListenPatterns',
                                  [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                  '// 327: Initialise oTarget to listen for the standard Associates commands.\n',
                                  'void SetAssociateListenPatterns(object oTarget=OBJECT_SELF);'),
                   ScriptFunction('object', 'GetLastWeaponUsed', [ScriptParam('object', 'oCreature', None)],
                                  '// 328: Get the last weapon that oCreature used in an attack.\n// * Returns OBJECT_INVALID if oCreature did not attack, or has no weapon equipped.\n',
                                  'object GetLastWeaponUsed(object oCreature);'),
                   ScriptFunction('void', 'ActionInteractObject', [ScriptParam('object', 'oPlaceable', None)],
                                  '// 329: Use oPlaceable.\n', 'void ActionInteractObject(object oPlaceable);'),
                   ScriptFunction('object', 'GetLastUsedBy', [],
                                  '// 330: Get the last object that used the placeable object that is calling this function.\n// * Returns OBJECT_INVALID if it is called by something other than a placeable or\n//   a door.\n',
                                  'object GetLastUsedBy();'), ScriptFunction('int', 'GetAbilityModifier',
                                                                             [ScriptParam('int', 'nAbility', None),
                                                                              ScriptParam('object', 'oCreature',
                                                                                          'OBJECT_SELF')],
                                                                             "// 331: Returns the ability modifier for the specified ability\n// Get oCreature's ability modifier for nAbility.\n// - nAbility: ABILITY_*\n// - oCreature\n",
                                                                             'int GetAbilityModifier(int nAbility, object oCreature=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetIdentified', [ScriptParam('object', 'oItem', None)],
                                  '// 332: Determined whether oItem has been identified.\n',
                                  'int GetIdentified(object oItem);'), ScriptFunction('void', 'SetIdentified', [
        ScriptParam('object', 'oItem', None), ScriptParam('int', 'bIdentified', None)],
                                                                                      '// 333: Set whether oItem has been identified.\n',
                                                                                      'void SetIdentified(object oItem, int bIdentified);'),
                   ScriptFunction('float', 'GetDistanceBetweenLocations2D',
                                  [ScriptParam('location', 'lLocationA', None),
                                   ScriptParam('location', 'lLocationB', None)],
                                  '// 334: Get the distance between lLocationA and lLocationB. in 2D\n',
                                  'float GetDistanceBetweenLocations2D(location lLocationA, location lLocationB);'),
                   ScriptFunction('float', 'GetDistanceToObject2D', [ScriptParam('object', 'oObject', None)],
                                  '// 335: Get the distance from the caller to oObject in metres.\n// * Return value on error: -1.0f\n',
                                  'float GetDistanceToObject2D(object oObject);'),
                   ScriptFunction('object', 'GetBlockingDoor', [],
                                  '// 336: Get the last blocking door encountered by the caller of this function.\n// * Returns OBJECT_INVALID if the caller is not a valid creature.\n',
                                  'object GetBlockingDoor();'), ScriptFunction('int', 'GetIsDoorActionPossible', [
        ScriptParam('object', 'oTargetDoor', None), ScriptParam('int', 'nDoorAction', None)],
                                                                               '// 337: - oTargetDoor\n// - nDoorAction: DOOR_ACTION_*\n// * Returns TRUE if nDoorAction can be performed on oTargetDoor.\n',
                                                                               'int GetIsDoorActionPossible(object oTargetDoor, int nDoorAction);'),
                   ScriptFunction('void', 'DoDoorAction',
                                  [ScriptParam('object', 'oTargetDoor', None), ScriptParam('int', 'nDoorAction', None)],
                                  '// 338: Perform nDoorAction on oTargetDoor.\n',
                                  'void DoDoorAction(object oTargetDoor, int nDoorAction);'),
                   ScriptFunction('object', 'GetFirstItemInInventory',
                                  [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                  "// 339: Get the first item in oTarget's inventory (start to cycle through oTarget's\n// inventory).\n// * Returns OBJECT_INVALID if the caller is not a creature, item, placeable or store,\n//   or if no item is found.\n",
                                  'object GetFirstItemInInventory(object oTarget=OBJECT_SELF);'),
                   ScriptFunction('object', 'GetNextItemInInventory', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                  "// 340: Get the next item in oTarget's inventory (continue to cycle through oTarget's\n// inventory).\n// * Returns OBJECT_INVALID if the caller is not a creature, item, placeable or store,\n//   or if no item is found.\n",
                                  'object GetNextItemInInventory(object oTarget=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetClassByPosition', [ScriptParam('int', 'nClassPosition', None),
                                                                ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  "// 341: A creature can have up to three classes.  This function determines the\n// creature's class (CLASS_TYPE_*) based on nClassPosition.\n// - nClassPosition: 1, 2 or 3\n// - oCreature\n// * Returns CLASS_TYPE_INVALID if the oCreature does not have a class in\n//   nClassPosition (i.e. a single-class creature will only have a value in\n//   nClassLocation=1) or if oCreature is not a valid creature.\n",
                                  'int GetClassByPosition(int nClassPosition, object oCreature=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetLevelByPosition', [ScriptParam('int', 'nClassPosition', None),
                                                                ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  "// 342: A creature can have up to three classes.  This function determines the\n// creature's class level based on nClass Position.\n// - nClassPosition: 1, 2 or 3\n// - oCreature\n// * Returns 0 if oCreature does not have a class in nClassPosition\n//   (i.e. a single-class creature will only have a value in nClassLocation=1)\n//   or if oCreature is not a valid creature.\n",
                                  'int GetLevelByPosition(int nClassPosition, object oCreature=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetLevelByClass', [ScriptParam('int', 'nClassType', None),
                                                             ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 343: Determine the levels that oCreature holds in nClassType.\n// - nClassType: CLASS_TYPE_*\n// - oCreature\n',
                                  'int GetLevelByClass(int nClassType, object oCreature=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetDamageDealtByType', [ScriptParam('int', 'nDamageType', None)],
                                  '// 344: Get the amount of damage of type nDamageType that has been dealt to the caller.\n// - nDamageType: DAMAGE_TYPE_*\n',
                                  'int GetDamageDealtByType(int nDamageType);'),
                   ScriptFunction('int', 'GetTotalDamageDealt', [],
                                  '// 345: Get the total amount of damage that has been dealt to the caller.\n',
                                  'int GetTotalDamageDealt();'), ScriptFunction('object', 'GetLastDamager', [],
                                                                                '// 346: Get the last object that damaged the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid object.\n',
                                                                                'object GetLastDamager();'),
                   ScriptFunction('object', 'GetLastDisarmed', [],
                                  '// 347: Get the last object that disarmed the trap on the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid placeable, trigger or\n//   door.\n',
                                  'object GetLastDisarmed();'), ScriptFunction('object', 'GetLastDisturbed', [],
                                                                               '// 348: Get the last object that disturbed the inventory of the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid creature or placeable.\n',
                                                                               'object GetLastDisturbed();'),
                   ScriptFunction('object', 'GetLastLocked', [],
                                  '// 349: Get the last object that locked the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid door or placeable.\n',
                                  'object GetLastLocked();'), ScriptFunction('object', 'GetLastUnlocked', [],
                                                                             '// 350: Get the last object that unlocked the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid door or placeable.\n',
                                                                             'object GetLastUnlocked();'),
                   ScriptFunction('effect', 'EffectSkillIncrease',
                                  [ScriptParam('int', 'nSkill', None), ScriptParam('int', 'nValue', None)],
                                  '// 351: Create a Skill Increase effect.\n// - nSkill: SKILL_*\n// - nValue\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nSkill is invalid.\n',
                                  'effect EffectSkillIncrease(int nSkill, int nValue);'),
                   ScriptFunction('int', 'GetInventoryDisturbType', [],
                                  "// 352: Get the type of disturbance (INVENTORY_DISTURB_*) that caused the caller's\n// OnInventoryDisturbed script to fire.  This will only work for creatures and\n// placeables.\n",
                                  'int GetInventoryDisturbType();'),
                   ScriptFunction('object', 'GetInventoryDisturbItem', [],
                                  "// 353: get the item that caused the caller's OnInventoryDisturbed script to fire.\n// * Returns OBJECT_INVALID if the caller is not a valid object.\n",
                                  'object GetInventoryDisturbItem();'),
                   ScriptFunction('void', 'ShowUpgradeScreen', [ScriptParam('object', 'oItem', 'OBJECT_INVALID')],
                                  '// 354: Displays the upgrade screen where the player can modify weapons and armor\n',
                                  'void ShowUpgradeScreen(object oItem = OBJECT_INVALID);'),
                   ScriptFunction('effect', 'VersusAlignmentEffect', [ScriptParam('effect', 'eEffect', None),
                                                                      ScriptParam('int', 'nLawChaos', 'ALIGNMENT_ALL'),
                                                                      ScriptParam('int', 'nGoodEvil', 'ALIGNMENT_ALL')],
                                  '// 355: Set eEffect to be versus a specific alignment.\n// - eEffect\n// - nLawChaos: ALIGNMENT_LAWFUL/ALIGNMENT_CHAOTIC/ALIGNMENT_ALL\n// - nGoodEvil: ALIGNMENT_GOOD/ALIGNMENT_EVIL/ALIGNMENT_ALL\n',
                                  'effect VersusAlignmentEffect(effect eEffect, int nLawChaos=ALIGNMENT_ALL, int nGoodEvil=ALIGNMENT_ALL);'),
                   ScriptFunction('effect', 'VersusRacialTypeEffect',
                                  [ScriptParam('effect', 'eEffect', None), ScriptParam('int', 'nRacialType', None)],
                                  '// 356: Set eEffect to be versus nRacialType.\n// - eEffect\n// - nRacialType: RACIAL_TYPE_*\n',
                                  'effect VersusRacialTypeEffect(effect eEffect, int nRacialType);'),
                   ScriptFunction('effect', 'VersusTrapEffect', [ScriptParam('effect', 'eEffect', None)],
                                  '// 357: Set eEffect to be versus traps.\n',
                                  'effect VersusTrapEffect(effect eEffect);'),
                   ScriptFunction('int', 'GetGender', [ScriptParam('object', 'oCreature', None)],
                                  '// 358: Get the gender of oCreature.\n', 'int GetGender(object oCreature);'),
                   ScriptFunction('int', 'GetIsTalentValid', [ScriptParam('talent', 'tTalent', None)],
                                  '// 359: * Returns TRUE if tTalent is valid.\n',
                                  'int GetIsTalentValid(talent tTalent);'),
                   ScriptFunction('void', 'ActionMoveAwayFromLocation',
                                  [ScriptParam('location', 'lMoveAwayFrom', None), ScriptParam('int', 'bRun', 'FALSE'),
                                   ScriptParam('float', 'fMoveAwayRange', '40.0f')],
                                  '// 360: Causes the action subject to move away from lMoveAwayFrom.\n',
                                  'void ActionMoveAwayFromLocation(location lMoveAwayFrom, int bRun=FALSE, float fMoveAwayRange=40.0f);'),
                   ScriptFunction('object', 'GetAttemptedAttackTarget', [],
                                  '// 361: Get the target that the caller attempted to attack - this should be used in\n// conjunction with GetAttackTarget(). This value is set every time an attack is\n// made, and is reset at the end of combat.\n// * Returns OBJECT_INVALID if the caller is not a valid creature.\n',
                                  'object GetAttemptedAttackTarget();'),
                   ScriptFunction('int', 'GetTypeFromTalent', [ScriptParam('talent', 'tTalent', None)],
                                  '// 362: Get the type (TALENT_TYPE_*) of tTalent.\n',
                                  'int GetTypeFromTalent(talent tTalent);'),
                   ScriptFunction('int', 'GetIdFromTalent', [ScriptParam('talent', 'tTalent', None)],
                                  '// 363: Get the ID of tTalent.  This could be a SPELL_*, FEAT_* or SKILL_*.\n',
                                  'int GetIdFromTalent(talent tTalent);'), ScriptFunction('void', 'PlayPazaak', [
        ScriptParam('int', 'nOpponentPazaakDeck', None), ScriptParam('string', 'sEndScript', None),
        ScriptParam('int', 'nMaxWager', None), ScriptParam('int', 'bShowTutorial', 'FALSE'),
        ScriptParam('object', 'oOpponent', 'OBJECT_INVALID')],
                                                                                          "// 364: Starts a game of pazaak.\n// - nOpponentPazaakDeck: Index into PazaakDecks.2da; specifies which deck the opponent will use.\n// - sEndScript: Script to be run when game finishes.\n// - nMaxWager: Max player wager.  If <= 0, the player's credits won't be modified by the result of the game and the wager screen will not show up.\n// - bShowTutorial: Plays in tutorial mode (nMaxWager should be 0).\n",
                                                                                          'void PlayPazaak(int nOpponentPazaakDeck, string sEndScript, int nMaxWager, int bShowTutorial=FALSE, object oOpponent=OBJECT_INVALID);'),
                   ScriptFunction('int', 'GetLastPazaakResult', [],
                                  '// 365: Returns result of last Pazaak game.  Should be used only in an EndScript sent to PlayPazaak.\n// * Returns 0 if player loses, 1 if player wins.\n',
                                  'int GetLastPazaakResult();'), ScriptFunction('void', 'DisplayFeedBackText', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nTextConstant', None)],
                                                                                '// 366:  displays a feed back string for the object spicified and the constant\n// repersents the string to be displayed see:FeedBackText.2da\n',
                                                                                'void DisplayFeedBackText(object oCreature, int nTextConstant);'),
                   ScriptFunction('void', 'AddJournalQuestEntry',
                                  [ScriptParam('string', 'szPlotID', None), ScriptParam('int', 'nState', None),
                                   ScriptParam('int', 'bAllowOverrideHigher', 'FALSE')],
                                  "// 367: Add a journal quest entry to the player.\n// - szPlotID: the plot identifier used in the toolset's Journal Editor\n// - nState: the state of the plot as seen in the toolset's Journal Editor\n// - bAllowOverrideHigher: If this is TRUE, you can set the state to a lower\n//   number than the one it is currently on\n",
                                  'void AddJournalQuestEntry(string szPlotID, int nState, int bAllowOverrideHigher=FALSE);'),
                   ScriptFunction('void', 'RemoveJournalQuestEntry', [ScriptParam('string', 'szPlotID', None)],
                                  "// 368: Remove a journal quest entry from the player.\n// - szPlotID: the plot identifier used in the toolset's Journal Editor\n",
                                  'void RemoveJournalQuestEntry(string szPlotID);'),
                   ScriptFunction('int', 'GetJournalEntry', [ScriptParam('string', 'szPlotID', None)],
                                  "// 369: Gets the State value of a journal quest.  Returns 0 if no quest entry has been added for this szPlotID.\n// - szPlotID: the plot identifier used in the toolset's Journal Editor\n",
                                  'int GetJournalEntry(string szPlotID);'),
                   ScriptFunction('int', 'PlayRumblePattern', [ScriptParam('int', 'nPattern', None)],
                                  '// 370: PlayRumblePattern\n// Starts a defined rumble pattern playing\n',
                                  'int PlayRumblePattern(int nPattern);'),
                   ScriptFunction('int', 'StopRumblePattern', [ScriptParam('int', 'nPattern', None)],
                                  '// 371: StopRumblePattern\n// Stops a defined rumble pattern\n',
                                  'int StopRumblePattern(int nPattern);'),
                   ScriptFunction('effect', 'EffectDamageForcePoints', [ScriptParam('int', 'nDamage', None)],
                                  '// 372: Damages the creatures force points\n',
                                  'effect EffectDamageForcePoints(int nDamage);'),
                   ScriptFunction('effect', 'EffectHealForcePoints', [ScriptParam('int', 'nHeal', None)],
                                  '// 373: Heals the creatures force points\n',
                                  'effect EffectHealForcePoints(int nHeal);'), ScriptFunction('void', 'SendMessageToPC',
                                                                                              [ScriptParam('object',
                                                                                                           'oPlayer',
                                                                                                           None),
                                                                                               ScriptParam('string',
                                                                                                           'szMessage',
                                                                                                           None)],
                                                                                              '// 374: Send a server message (szMessage) to the oPlayer.\n',
                                                                                              'void SendMessageToPC(object oPlayer, string szMessage);'),
                   ScriptFunction('object', 'GetAttemptedSpellTarget', [],
                                  '// 375: Get the target at which the caller attempted to cast a spell.\n// This value is set every time a spell is cast and is reset at the end of\n// combat.\n// * Returns OBJECT_INVALID if the caller is not a valid creature.\n',
                                  'object GetAttemptedSpellTarget();'), ScriptFunction('object', 'GetLastOpenedBy', [],
                                                                                       '// 376: Get the last creature that opened the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid door or placeable.\n',
                                                                                       'object GetLastOpenedBy();'),
                   ScriptFunction('int', 'GetHasSpell', [ScriptParam('int', 'nSpell', None),
                                                         ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 377: Determine whether oCreature has nSpell memorised.\n// - nSpell: SPELL_*\n// - oCreature\n',
                                  'int GetHasSpell(int nSpell, object oCreature=OBJECT_SELF);'),
                   ScriptFunction('void', 'OpenStore',
                                  [ScriptParam('object', 'oStore', None), ScriptParam('object', 'oPC', None),
                                   ScriptParam('int', 'nBonusMarkUp', '0'), ScriptParam('int', 'nBonusMarkDown', '0')],
                                  '// 378: Open oStore for oPC.\n',
                                  'void OpenStore(object oStore, object oPC, int nBonusMarkUp=0, int nBonusMarkDown=0);'),
                   ScriptFunction('void', 'ActionSurrenderToEnemies', [], '// 379:\n',
                                  'void ActionSurrenderToEnemies();'), ScriptFunction('object', 'GetFirstFactionMember',
                                                                                      [ScriptParam('object',
                                                                                                   'oMemberOfFaction',
                                                                                                   None),
                                                                                       ScriptParam('int', 'bPCOnly',
                                                                                                   'TRUE')],
                                                                                      "// 380: Get the first member of oMemberOfFaction's faction (start to cycle through\n// oMemberOfFaction's faction).\n// * Returns OBJECT_INVALID if oMemberOfFaction's faction is invalid.\n",
                                                                                      'object GetFirstFactionMember(object oMemberOfFaction, int bPCOnly=TRUE);'),
                   ScriptFunction('object', 'GetNextFactionMember', [ScriptParam('object', 'oMemberOfFaction', None),
                                                                     ScriptParam('int', 'bPCOnly', 'TRUE')],
                                  "// 381: Get the next member of oMemberOfFaction's faction (continue to cycle through\n// oMemberOfFaction's faction).\n// * Returns OBJECT_INVALID if oMemberOfFaction's faction is invalid.\n",
                                  'object GetNextFactionMember(object oMemberOfFaction, int bPCOnly=TRUE);'),
                   ScriptFunction('void', 'ActionForceMoveToLocation',
                                  [ScriptParam('location', 'lDestination', None), ScriptParam('int', 'bRun', 'FALSE'),
                                   ScriptParam('float', 'fTimeout', '30.0f')],
                                  '// 382: Force the action subject to move to lDestination.\n',
                                  'void ActionForceMoveToLocation(location lDestination, int bRun=FALSE, float fTimeout=30.0f);'),
                   ScriptFunction('void', 'ActionForceMoveToObject',
                                  [ScriptParam('object', 'oMoveTo', None), ScriptParam('int', 'bRun', 'FALSE'),
                                   ScriptParam('float', 'fRange', '1.0f'), ScriptParam('float', 'fTimeout', '30.0f')],
                                  '// 383: Force the action subject to move to oMoveTo.\n',
                                  'void ActionForceMoveToObject(object oMoveTo, int bRun=FALSE, float fRange=1.0f, float fTimeout=30.0f);'),
                   ScriptFunction('int', 'GetJournalQuestExperience', [ScriptParam('string', 'szPlotID', None)],
                                  '// 384: Get the experience assigned in the journal editor for szPlotID.\n',
                                  'int GetJournalQuestExperience(string szPlotID);'),
                   ScriptFunction('void', 'JumpToObject', [ScriptParam('object', 'oToJumpTo', None),
                                                           ScriptParam('int', 'nWalkStraightLineToPoint', '1')],
                                  '// 385: Jump to oToJumpTo (the action is added to the top of the action queue).\n',
                                  'void JumpToObject(object oToJumpTo, int nWalkStraightLineToPoint=1);'),
                   ScriptFunction('void', 'SetMapPinEnabled',
                                  [ScriptParam('object', 'oMapPin', None), ScriptParam('int', 'nEnabled', None)],
                                  '// 386: Set whether oMapPin is enabled.\n// - oMapPin\n// - nEnabled: 0=Off, 1=On\n',
                                  'void SetMapPinEnabled(object oMapPin, int nEnabled);'),
                   ScriptFunction('effect', 'EffectHitPointChangeWhenDying',
                                  [ScriptParam('float', 'fHitPointChangePerRound', None)],
                                  '// 387: Create a Hit Point Change When Dying effect.\n// - fHitPointChangePerRound: this can be positive or negative, but not zero.\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if fHitPointChangePerRound is 0.\n',
                                  'effect EffectHitPointChangeWhenDying(float fHitPointChangePerRound);'),
                   ScriptFunction('void', 'PopUpGUIPanel',
                                  [ScriptParam('object', 'oPC', None), ScriptParam('int', 'nGUIPanel', None)],
                                  '// 388: Spawn a GUI panel for the client that controls oPC.\n// - oPC\n// - nGUIPanel: GUI_PANEL_*\n// * Nothing happens if oPC is not a player character or if an invalid value is\n//   used for nGUIPanel.\n',
                                  'void PopUpGUIPanel(object oPC, int nGUIPanel);'),
                   ScriptFunction('void', 'AddMultiClass',
                                  [ScriptParam('int', 'nClassType', None), ScriptParam('object', 'oSource', None)],
                                  '// 389: This allows you to add a new class to any creature object\n',
                                  'void AddMultiClass(int nClassType, object oSource);'),
                   ScriptFunction('int', 'GetIsLinkImmune',
                                  [ScriptParam('object', 'oTarget', None), ScriptParam('effect', 'eEffect', None)],
                                  '// 390: Tests a linked effect to see if the target is immune to it.\n// If the target is imune to any of the linked effect then he is immune to all of it\n',
                                  'int GetIsLinkImmune(object oTarget, effect eEffect );'),
                   ScriptFunction('effect', 'EffectDroidStun', [], '// 391: Stunn the droid\n',
                                  'effect EffectDroidStun( );'),
                   ScriptFunction('effect', 'EffectForcePushed', [], '// 392: Force push the creature...\n',
                                  'effect EffectForcePushed();'), ScriptFunction('void', 'GiveXPToCreature', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nXpAmount', None)],
                                                                                 '// 393: Gives nXpAmount to oCreature.\n',
                                                                                 'void GiveXPToCreature(object oCreature, int nXpAmount);'),
                   ScriptFunction('void', 'SetXP',
                                  [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nXpAmount', None)],
                                  "// 394: Sets oCreature's experience to nXpAmount.\n",
                                  'void SetXP(object oCreature, int nXpAmount);'),
                   ScriptFunction('int', 'GetXP', [ScriptParam('object', 'oCreature', None)],
                                  "// 395: Get oCreature's experience.\n", 'int GetXP(object oCreature);'),
                   ScriptFunction('string', 'IntToHexString', [ScriptParam('int', 'nInteger', None)],
                                  '// 396: Convert nInteger to hex, returning the hex value as a string.\n// * Return value has the format "0x????????" where each ? will be a hex digit\n//   (8 digits in total).\n',
                                  'string IntToHexString(int nInteger);'),
                   ScriptFunction('int', 'GetBaseItemType', [ScriptParam('object', 'oItem', None)],
                                  '// 397: Get the base item type (BASE_ITEM_*) of oItem.\n// * Returns BASE_ITEM_INVALID if oItem is an invalid item.\n',
                                  'int GetBaseItemType(object oItem);'), ScriptFunction('int', 'GetItemHasItemProperty',
                                                                                        [ScriptParam('object', 'oItem',
                                                                                                     None),
                                                                                         ScriptParam('int', 'nProperty',
                                                                                                     None)],
                                                                                        '// 398: Determines whether oItem has nProperty.\n// - oItem\n// - nProperty: ITEM_PROPERTY_*\n// * Returns FALSE if oItem is not a valid item, or if oItem does not have\n//   nProperty.\n',
                                                                                        'int GetItemHasItemProperty(object oItem, int nProperty);'),
                   ScriptFunction('void', 'ActionEquipMostDamagingMelee',
                                  [ScriptParam('object', 'oVersus', 'OBJECT_INVALID'),
                                   ScriptParam('int', 'bOffHand', 'FALSE')],
                                  '// 399: The creature will equip the melee weapon in its possession that can do the\n// most damage. If no valid melee weapon is found, it will equip the most\n// damaging range weapon. This function should only ever be called in the\n// EndOfCombatRound scripts, because otherwise it would have to stop the combat\n// round to run simulation.\n// - oVersus: You can try to get the most damaging weapon against oVersus\n// - bOffHand\n',
                                  'void ActionEquipMostDamagingMelee(object oVersus=OBJECT_INVALID, int bOffHand=FALSE);'),
                   ScriptFunction('void', 'ActionEquipMostDamagingRanged',
                                  [ScriptParam('object', 'oVersus', 'OBJECT_INVALID')],
                                  '// 400: The creature will equip the range weapon in its possession that can do the\n// most damage.\n// If no valid range weapon can be found, it will equip the most damaging melee\n// weapon.\n// - oVersus: You can try to get the most damaging weapon against oVersus\n',
                                  'void ActionEquipMostDamagingRanged(object oVersus=OBJECT_INVALID);'),
                   ScriptFunction('int', 'GetItemACValue', [ScriptParam('object', 'oItem', None)],
                                  '// 401: Get the Armour Class of oItem.\n// * Return 0 if the oItem is not a valid item, or if oItem has no armour value.\n',
                                  'int GetItemACValue(object oItem);'),
                   ScriptFunction('effect', 'EffectForceResisted', [ScriptParam('object', 'oSource', None)],
                                  '// 402:\n// Effect that will play an animation and display a visual effect to indicate the\n// target has resisted a force power.\n',
                                  'effect EffectForceResisted( object oSource );'),
                   ScriptFunction('void', 'ExploreAreaForPlayer',
                                  [ScriptParam('object', 'oArea', None), ScriptParam('object', 'oPlayer', None)],
                                  '// 403: Expose the entire map of oArea to oPlayer.\n',
                                  'void ExploreAreaForPlayer(object oArea, object oPlayer);'),
                   ScriptFunction('void', 'ActionEquipMostEffectiveArmor', [],
                                  '// 404: The creature will equip the armour in its possession that has the highest\n// armour class.\n',
                                  'void ActionEquipMostEffectiveArmor();'),
                   ScriptFunction('int', 'GetIsDay', [], '// 405: * Returns TRUE if it is currently day.\n',
                                  'int GetIsDay();'),
                   ScriptFunction('int', 'GetIsNight', [], '// 406: * Returns TRUE if it is currently night.\n',
                                  'int GetIsNight();'),
                   ScriptFunction('int', 'GetIsDawn', [], '// 407: * Returns TRUE if it is currently dawn.\n',
                                  'int GetIsDawn();'),
                   ScriptFunction('int', 'GetIsDusk', [], '// 408: * Returns TRUE if it is currently dusk.\n',
                                  'int GetIsDusk();'),
                   ScriptFunction('int', 'GetIsEncounterCreature', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 409: * Returns TRUE if oCreature was spawned from an encounter.\n',
                                  'int GetIsEncounterCreature(object oCreature=OBJECT_SELF);'),
                   ScriptFunction('object', 'GetLastPlayerDying', [],
                                  '// 410: Use this in an OnPlayerDying module script to get the last player who is dying.\n',
                                  'object GetLastPlayerDying();'), ScriptFunction('location', 'GetStartingLocation', [],
                                                                                  '// 411: Get the starting location of the module.\n',
                                                                                  'location GetStartingLocation();'),
                   ScriptFunction('void', 'ChangeToStandardFaction', [ScriptParam('object', 'oCreatureToChange', None),
                                                                      ScriptParam('int', 'nStandardFaction', None)],
                                  '// 412: Make oCreatureToChange join one of the standard factions.\n// ** This will only work on an NPC **\n// - nStandardFaction: STANDARD_FACTION_*\n',
                                  'void ChangeToStandardFaction(object oCreatureToChange, int nStandardFaction);'),
                   ScriptFunction('void', 'SoundObjectPlay', [ScriptParam('object', 'oSound', None)],
                                  '// 413: Play oSound.\n', 'void SoundObjectPlay(object oSound);'),
                   ScriptFunction('void', 'SoundObjectStop', [ScriptParam('object', 'oSound', None)],
                                  '// 414: Stop playing oSound.\n', 'void SoundObjectStop(object oSound);'),
                   ScriptFunction('void', 'SoundObjectSetVolume',
                                  [ScriptParam('object', 'oSound', None), ScriptParam('int', 'nVolume', None)],
                                  '// 415: Set the volume of oSound.\n// - oSound\n// - nVolume: 0-127\n',
                                  'void SoundObjectSetVolume(object oSound, int nVolume);'),
                   ScriptFunction('void', 'SoundObjectSetPosition',
                                  [ScriptParam('object', 'oSound', None), ScriptParam('vector', 'vPosition', None)],
                                  '// 416: Set the position of oSound.\n',
                                  'void SoundObjectSetPosition(object oSound, vector vPosition);'),
                   ScriptFunction('void', 'SpeakOneLinerConversation', [ScriptParam('string', 'sDialogResRef', '""'),
                                                                        ScriptParam('object', 'oTokenTarget',
                                                                                    'OBJECT_TYPE_INVALID')],
                                  '// 417: Immediately speak a conversation one-liner.\n// - sDialogResRef\n// - oTokenTarget: This must be specified if there are creature-specific tokens\n//   in the string.\n',
                                  'void SpeakOneLinerConversation(string sDialogResRef="", object oTokenTarget=OBJECT_TYPE_INVALID);'),
                   ScriptFunction('int', 'GetGold', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                  '// 418: Get the amount of gold possessed by oTarget.\n',
                                  'int GetGold(object oTarget=OBJECT_SELF);'),
                   ScriptFunction('object', 'GetLastRespawnButtonPresser', [],
                                  '// 419: Use this in an OnRespawnButtonPressed module script to get the object id of\n// the player who last pressed the respawn button.\n',
                                  'object GetLastRespawnButtonPresser();'),
                   ScriptFunction('effect', 'EffectForceFizzle', [],
                                  "// 420:\n// Effect that will display a visual effect on the specified object's hand to\n// indicate a force power has fizzled out.\n",
                                  'effect EffectForceFizzle();'), ScriptFunction('void', 'SetLightsaberPowered', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'bOverride', None),
        ScriptParam('int', 'bPowered', 'TRUE'), ScriptParam('int', 'bShowTransition', 'FALSE')],
                                                                                 '// 421: SetLightsaberPowered\n// Allows a script to set the state of the lightsaber.  This will override any\n// game determined lightsaber powerstates.\n',
                                                                                 'void SetLightsaberPowered( object oCreature, int bOverride, int bPowered = TRUE, int bShowTransition = FALSE);'),
                   ScriptFunction('int', 'GetIsWeaponEffective', [ScriptParam('object', 'oVersus', 'OBJECT_INVALID'),
                                                                  ScriptParam('int', 'bOffHand', 'FALSE')],
                                  '// 422: * Returns TRUE if the weapon equipped is capable of damaging oVersus.\n',
                                  'int GetIsWeaponEffective(object oVersus=OBJECT_INVALID, int bOffHand=FALSE);'),
                   ScriptFunction('int', 'GetLastSpellHarmful', [],
                                  '// 423: Use this in a SpellCast script to determine whether the spell was considered\n// harmful.\n// * Returns TRUE if the last spell cast was harmful.\n',
                                  'int GetLastSpellHarmful();'), ScriptFunction('event', 'EventActivateItem',
                                                                                [ScriptParam('object', 'oItem', None),
                                                                                 ScriptParam('location', 'lTarget',
                                                                                             None),
                                                                                 ScriptParam('object', 'oTarget',
                                                                                             'OBJECT_INVALID')],
                                                                                '// 424: Activate oItem.\n',
                                                                                'event EventActivateItem(object oItem, location lTarget, object oTarget=OBJECT_INVALID);'),
                   ScriptFunction('void', 'MusicBackgroundPlay', [ScriptParam('object', 'oArea', None)],
                                  '// 425: Play the background music for oArea.\n',
                                  'void MusicBackgroundPlay(object oArea);'),
                   ScriptFunction('void', 'MusicBackgroundStop', [ScriptParam('object', 'oArea', None)],
                                  '// 426: Stop the background music for oArea.\n',
                                  'void MusicBackgroundStop(object oArea);'),
                   ScriptFunction('void', 'MusicBackgroundSetDelay',
                                  [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nDelay', None)],
                                  '// 427: Set the delay for the background music for oArea.\n// - oArea\n// - nDelay: delay in milliseconds\n',
                                  'void MusicBackgroundSetDelay(object oArea, int nDelay);'),
                   ScriptFunction('void', 'MusicBackgroundChangeDay',
                                  [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nTrack', None)],
                                  '// 428: Change the background day track for oArea to nTrack.\n// - oArea\n// - nTrack\n',
                                  'void MusicBackgroundChangeDay(object oArea, int nTrack);'),
                   ScriptFunction('void', 'MusicBackgroundChangeNight',
                                  [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nTrack', None)],
                                  '// 429: Change the background night track for oArea to nTrack.\n// - oArea\n// - nTrack\n',
                                  'void MusicBackgroundChangeNight(object oArea, int nTrack);'),
                   ScriptFunction('void', 'MusicBattlePlay', [ScriptParam('object', 'oArea', None)],
                                  '// 430: Play the battle music for oArea.\n', 'void MusicBattlePlay(object oArea);'),
                   ScriptFunction('void', 'MusicBattleStop', [ScriptParam('object', 'oArea', None)],
                                  '// 431: Stop the battle music for oArea.\n', 'void MusicBattleStop(object oArea);'),
                   ScriptFunction('void', 'MusicBattleChange',
                                  [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nTrack', None)],
                                  '// 432: Change the battle track for oArea.\n// - oArea\n// - nTrack\n',
                                  'void MusicBattleChange(object oArea, int nTrack);'),
                   ScriptFunction('void', 'AmbientSoundPlay', [ScriptParam('object', 'oArea', None)],
                                  '// 433: Play the ambient sound for oArea.\n',
                                  'void AmbientSoundPlay(object oArea);'),
                   ScriptFunction('void', 'AmbientSoundStop', [ScriptParam('object', 'oArea', None)],
                                  '// 434: Stop the ambient sound for oArea.\n',
                                  'void AmbientSoundStop(object oArea);'),
                   ScriptFunction('void', 'AmbientSoundChangeDay',
                                  [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nTrack', None)],
                                  '// 435: Change the ambient day track for oArea to nTrack.\n// - oArea\n// - nTrack\n',
                                  'void AmbientSoundChangeDay(object oArea, int nTrack);'),
                   ScriptFunction('void', 'AmbientSoundChangeNight',
                                  [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nTrack', None)],
                                  '// 436: Change the ambient night track for oArea to nTrack.\n// - oArea\n// - nTrack\n',
                                  'void AmbientSoundChangeNight(object oArea, int nTrack);'),
                   ScriptFunction('object', 'GetLastKiller', [], '// 437: Get the object that killed the caller.\n',
                                  'object GetLastKiller();'), ScriptFunction('object', 'GetSpellCastItem', [],
                                                                             '// 438: Use this in a spell script to get the item used to cast the spell.\n',
                                                                             'object GetSpellCastItem();'),
                   ScriptFunction('object', 'GetItemActivated', [],
                                  '// 439: Use this in an OnItemActivated module script to get the item that was activated.\n',
                                  'object GetItemActivated();'), ScriptFunction('object', 'GetItemActivator', [],
                                                                                '// 440: Use this in an OnItemActivated module script to get the creature that\n// activated the item.\n',
                                                                                'object GetItemActivator();'),
                   ScriptFunction('location', 'GetItemActivatedTargetLocation', [],
                                  "// 441: Use this in an OnItemActivated module script to get the location of the item's\n// target.\n",
                                  'location GetItemActivatedTargetLocation();'),
                   ScriptFunction('object', 'GetItemActivatedTarget', [],
                                  "// 442: Use this in an OnItemActivated module script to get the item's target.\n",
                                  'object GetItemActivatedTarget();'),
                   ScriptFunction('int', 'GetIsOpen', [ScriptParam('object', 'oObject', None)],
                                  '// 443: * Returns TRUE if oObject (which is a placeable or a door) is currently open.\n',
                                  'int GetIsOpen(object oObject);'), ScriptFunction('void', 'TakeGoldFromCreature', [
        ScriptParam('int', 'nAmount', None), ScriptParam('object', 'oCreatureToTakeFrom', None),
        ScriptParam('int', 'bDestroy', 'FALSE')],
                                                                                    '// 444: Take nAmount of gold from oCreatureToTakeFrom.\n// - nAmount\n// - oCreatureToTakeFrom: If this is not a valid creature, nothing will happen.\n// - bDestroy: If this is TRUE, the caller will not get the gold.  Instead, the\n//   gold will be destroyed and will vanish from the game.\n',
                                                                                    'void TakeGoldFromCreature(int nAmount, object oCreatureToTakeFrom, int bDestroy=FALSE);'),
                   ScriptFunction('int', 'GetIsInConversation', [ScriptParam('object', 'oObject', None)],
                                  '// 445: Determine whether oObject is in conversation.\n',
                                  'int GetIsInConversation(object oObject);'),
                   ScriptFunction('effect', 'EffectAbilityDecrease',
                                  [ScriptParam('int', 'nAbility', None), ScriptParam('int', 'nModifyBy', None)],
                                  '// 446: Create an Ability Decrease effect.\n// - nAbility: ABILITY_*\n// - nModifyBy: This is the amount by which to decrement the ability\n',
                                  'effect EffectAbilityDecrease(int nAbility, int nModifyBy);'),
                   ScriptFunction('effect', 'EffectAttackDecrease', [ScriptParam('int', 'nPenalty', None),
                                                                     ScriptParam('int', 'nModifierType',
                                                                                 'ATTACK_BONUS_MISC')],
                                  '// 447: Create an Attack Decrease effect.\n// - nPenalty\n// - nModifierType: ATTACK_BONUS_*\n',
                                  'effect EffectAttackDecrease(int nPenalty, int nModifierType=ATTACK_BONUS_MISC);'),
                   ScriptFunction('effect', 'EffectDamageDecrease', [ScriptParam('int', 'nPenalty', None),
                                                                     ScriptParam('int', 'nDamageType',
                                                                                 'DAMAGE_TYPE_UNIVERSAL')],
                                  '// 448: Create a Damage Decrease effect.\n// - nPenalty\n// - nDamageType: DAMAGE_TYPE_*\n',
                                  'effect EffectDamageDecrease(int nPenalty, int nDamageType=DAMAGE_TYPE_UNIVERSAL);'),
                   ScriptFunction('effect', 'EffectDamageImmunityDecrease', [ScriptParam('int', 'nDamageType', None),
                                                                             ScriptParam('int', 'nPercentImmunity',
                                                                                         None)],
                                  '// 449: Create a Damage Immunity Decrease effect.\n// - nDamageType: DAMAGE_TYPE_*\n// - nPercentImmunity\n',
                                  'effect EffectDamageImmunityDecrease(int nDamageType, int nPercentImmunity);'),
                   ScriptFunction('effect', 'EffectACDecrease', [ScriptParam('int', 'nValue', None),
                                                                 ScriptParam('int', 'nModifyType', 'AC_DODGE_BONUS'),
                                                                 ScriptParam('int', 'nDamageType',
                                                                             'AC_VS_DAMAGE_TYPE_ALL')],
                                  '// 450: Create an AC Decrease effect.\n// - nValue\n// - nModifyType: AC_*\n// - nDamageType: DAMAGE_TYPE_*\n//   * Default value for nDamageType should only ever be used in this function prototype.\n',
                                  'effect EffectACDecrease(int nValue, int nModifyType=AC_DODGE_BONUS, int nDamageType=AC_VS_DAMAGE_TYPE_ALL);'),
                   ScriptFunction('effect', 'EffectMovementSpeedDecrease', [ScriptParam('int', 'nPercentChange', None)],
                                  '// 451: Create a Movement Speed Decrease effect.\n// - nPercentChange: This is expected to be a positive integer between 1 and 99 inclusive.\n//   If a negative integer is supplied then a movement speed increase will result,\n//   and if a number >= 100 is supplied then the effect is deleted.\n',
                                  'effect EffectMovementSpeedDecrease(int nPercentChange);'),
                   ScriptFunction('effect', 'EffectSavingThrowDecrease',
                                  [ScriptParam('int', 'nSave', None), ScriptParam('int', 'nValue', None),
                                   ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_ALL')],
                                  '// 452: Create a Saving Throw Decrease effect.\n// - nSave\n// - nValue\n// - nSaveType: SAVING_THROW_TYPE_*\n',
                                  'effect EffectSavingThrowDecrease(int nSave, int nValue, int nSaveType=SAVING_THROW_TYPE_ALL);'),
                   ScriptFunction('effect', 'EffectSkillDecrease',
                                  [ScriptParam('int', 'nSkill', None), ScriptParam('int', 'nValue', None)],
                                  '// 453: Create a Skill Decrease effect.\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nSkill is invalid.\n',
                                  'effect EffectSkillDecrease(int nSkill, int nValue);'),
                   ScriptFunction('effect', 'EffectForceResistanceDecrease', [ScriptParam('int', 'nValue', None)],
                                  '// 454: Create a Force Resistance Decrease effect.\n',
                                  'effect EffectForceResistanceDecrease(int nValue);'),
                   ScriptFunction('int', 'GetPlotFlag', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                  '// 455: Determine whether oTarget is a plot object.\n',
                                  'int GetPlotFlag(object oTarget=OBJECT_SELF);'), ScriptFunction('void', 'SetPlotFlag',
                                                                                                  [ScriptParam('object',
                                                                                                               'oTarget',
                                                                                                               None),
                                                                                                   ScriptParam('int',
                                                                                                               'nPlotFlag',
                                                                                                               None)],
                                                                                                  "// 456: Set oTarget's plot object status.\n",
                                                                                                  'void SetPlotFlag(object oTarget, int nPlotFlag);'),
                   ScriptFunction('effect', 'EffectInvisibility', [ScriptParam('int', 'nInvisibilityType', None)],
                                  '// 457: Create an Invisibility effect.\n// - nInvisibilityType: INVISIBILITY_TYPE_*\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nInvisibilityType\n//   is invalid.\n',
                                  'effect EffectInvisibility(int nInvisibilityType);'),
                   ScriptFunction('effect', 'EffectConcealment', [ScriptParam('int', 'nPercentage', None)],
                                  '// 458: Create a Concealment effect.\n// - nPercentage: 1-100 inclusive\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nPercentage < 1 or\n//   nPercentage > 100.\n',
                                  'effect EffectConcealment(int nPercentage);'),
                   ScriptFunction('effect', 'EffectForceShield', [ScriptParam('int', 'nShield', None)],
                                  '// 459: Create a Force Shield that has parameters from the guven index into the forceshields.2da\n',
                                  'effect EffectForceShield(int nShield);'),
                   ScriptFunction('effect', 'EffectDispelMagicAll', [ScriptParam('int', 'nCasterLevel', None)],
                                  '// 460: Create a Dispel Magic All effect.\n',
                                  'effect EffectDispelMagicAll(int nCasterLevel);'),
                   ScriptFunction('void', 'SetDialogPlaceableCamera', [ScriptParam('int', 'nCameraId', None)],
                                  "// 461: Cut immediately to placeable camera 'nCameraId' during dialog.  nCameraId must be\n//      an existing Placeable Camera ID.  Function only works during Dialog.\n",
                                  'void SetDialogPlaceableCamera( int nCameraId );'),
                   ScriptFunction('int', 'GetSoloMode', [],
                                  "// 462:\n// Returns: TRUE if the player is in 'solo mode' (ie. the party is not supposed to follow the player).\n//          FALSE otherwise.\n",
                                  'int GetSoloMode();'),
                   ScriptFunction('effect', 'EffectDisguise', [ScriptParam('int', 'nDisguiseAppearance', None)],
                                  '// 463: Create a Disguise effect.\n// - * nDisguiseAppearance: DISGUISE_TYPE_*s\n',
                                  'effect EffectDisguise(int nDisguiseAppearance);'),
                   ScriptFunction('int', 'GetMaxStealthXP', [],
                                  '// 464:\n// Returns the maximum amount of stealth xp available in the area.\n',
                                  'int GetMaxStealthXP();'),
                   ScriptFunction('effect', 'EffectTrueSeeing', [], '// 465: Create a True Seeing effect.\n',
                                  'effect EffectTrueSeeing();'),
                   ScriptFunction('effect', 'EffectSeeInvisible', [], '// 466: Create a See Invisible effect.\n',
                                  'effect EffectSeeInvisible();'),
                   ScriptFunction('effect', 'EffectTimeStop', [], '// 467: Create a Time Stop effect.\n',
                                  'effect EffectTimeStop();'),
                   ScriptFunction('void', 'SetMaxStealthXP', [ScriptParam('int', 'nMax', None)],
                                  '// 468:\n// Set the maximum amount of stealth xp available in the area.\n',
                                  'void SetMaxStealthXP( int nMax );'),
                   ScriptFunction('effect', 'EffectBlasterDeflectionIncrease', [ScriptParam('int', 'nChange', None)],
                                  '// 469: Increase the blaster deflection rate, i think...\n',
                                  'effect EffectBlasterDeflectionIncrease(int nChange);'),
                   ScriptFunction('effect', 'EffectBlasterDeflectionDecrease', [ScriptParam('int', 'nChange', None)],
                                  '// 470:decrease the blaster deflection rate\n',
                                  'effect EffectBlasterDeflectionDecrease(int nChange);'),
                   ScriptFunction('effect', 'EffectHorrified', [], '// 471: Make the creature horified. BOO!\n',
                                  'effect EffectHorrified( );'), ScriptFunction('effect', 'EffectSpellLevelAbsorption',
                                                                                [ScriptParam('int',
                                                                                             'nMaxSpellLevelAbsorbed',
                                                                                             None), ScriptParam('int',
                                                                                                                'nTotalSpellLevelsAbsorbed',
                                                                                                                '0'),
                                                                                 ScriptParam('int', 'nSpellSchool',
                                                                                             '0')],
                                                                                '// 472: Create a Spell Level Absorption effect.\n// - nMaxSpellLevelAbsorbed: maximum spell level that will be absorbed by the\n//   effect\n// - nTotalSpellLevelsAbsorbed: maximum number of spell levels that will be\n//   absorbed by the effect\n// - nSpellSchool: SPELL_SCHOOL_*\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if:\n//   nMaxSpellLevelAbsorbed is not between -1 and 9 inclusive, or nSpellSchool\n//   is invalid.\n',
                                                                                'effect EffectSpellLevelAbsorption(int nMaxSpellLevelAbsorbed, int nTotalSpellLevelsAbsorbed=0, int nSpellSchool=0 );'),
                   ScriptFunction('effect', 'EffectDispelMagicBest', [ScriptParam('int', 'nCasterLevel', None)],
                                  '// 473: Create a Dispel Magic Best effect.\n',
                                  'effect EffectDispelMagicBest(int nCasterLevel);'),
                   ScriptFunction('int', 'GetCurrentStealthXP', [],
                                  '// 474:\n// Returns the current amount of stealth xp available in the area.\n',
                                  'int GetCurrentStealthXP();'),
                   ScriptFunction('int', 'GetNumStackedItems', [ScriptParam('object', 'oItem', None)],
                                  '// 475: Get the number of stacked items that oItem comprises.\n',
                                  'int GetNumStackedItems(object oItem);'),
                   ScriptFunction('void', 'SurrenderToEnemies', [],
                                  "// 476: Use this on an NPC to cause all creatures within a 10-metre radius to stop\n// what they are doing and sets the NPC's enemies within this range to be\n// neutral towards the NPC. If this command is run on a PC or an object that is\n// not a creature, nothing will happen.\n",
                                  'void SurrenderToEnemies();'),
                   ScriptFunction('effect', 'EffectMissChance', [ScriptParam('int', 'nPercentage', None)],
                                  '// 477: Create a Miss Chance effect.\n// - nPercentage: 1-100 inclusive\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nPercentage < 1 or\n//   nPercentage > 100.\n',
                                  'effect EffectMissChance(int nPercentage);'),
                   ScriptFunction('void', 'SetCurrentStealthXP', [ScriptParam('int', 'nCurrent', None)],
                                  '// 478:\n// Set the current amount of stealth xp available in the area.\n',
                                  'void SetCurrentStealthXP( int nCurrent );'),
                   ScriptFunction('int', 'GetCreatureSize', [ScriptParam('object', 'oCreature', None)],
                                  '// 479: Get the size (CREATURE_SIZE_*) of oCreature.\n',
                                  'int GetCreatureSize(object oCreature);'),
                   ScriptFunction('void', 'AwardStealthXP', [ScriptParam('object', 'oTarget', None)],
                                  '// 480:\n// Award the stealth xp to the given oTarget.  This will only work on creatures.\n',
                                  'void AwardStealthXP( object oTarget );'),
                   ScriptFunction('int', 'GetStealthXPEnabled', [],
                                  '// 481:\n// Returns whether or not the stealth xp bonus is enabled (ie. whether or not\n// AwardStealthXP() will actually award any available stealth xp).\n',
                                  'int GetStealthXPEnabled();'),
                   ScriptFunction('void', 'SetStealthXPEnabled', [ScriptParam('int', 'bEnabled', None)],
                                  '// 482:\n// Sets whether or not the stealth xp bonus is enabled (ie. whether or not\n// AwardStealthXP() will actually award any available stealth xp).\n',
                                  'void SetStealthXPEnabled( int bEnabled );'),
                   ScriptFunction('void', 'ActionUnlockObject', [ScriptParam('object', 'oTarget', None)],
                                  '// 483: The action subject will unlock oTarget, which can be a door or a placeable\n// object.\n',
                                  'void ActionUnlockObject(object oTarget);'),
                   ScriptFunction('void', 'ActionLockObject', [ScriptParam('object', 'oTarget', None)],
                                  '// 484: The action subject will lock oTarget, which can be a door or a placeable\n// object.\n',
                                  'void ActionLockObject(object oTarget);'),
                   ScriptFunction('effect', 'EffectModifyAttacks', [ScriptParam('int', 'nAttacks', None)],
                                  '// 485: Create a Modify Attacks effect to add attacks.\n// - nAttacks: maximum is 5, even with the effect stacked\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nAttacks > 5.\n',
                                  'effect EffectModifyAttacks(int nAttacks);'),
                   ScriptFunction('object', 'GetLastTrapDetected', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                  '// 486: Get the last trap detected by oTarget.\n// * Return value on error: OBJECT_INVALID\n',
                                  'object GetLastTrapDetected(object oTarget=OBJECT_SELF);'),
                   ScriptFunction('effect', 'EffectDamageShield',
                                  [ScriptParam('int', 'nDamageAmount', None), ScriptParam('int', 'nRandomAmount', None),
                                   ScriptParam('int', 'nDamageType', None)],
                                  '// 487: Create a Damage Shield effect which does (nDamageAmount + nRandomAmount)\n// damage to any melee attacker on a successful attack of damage type nDamageType.\n// - nDamageAmount: an integer value\n// - nRandomAmount: DAMAGE_BONUS_*\n// - nDamageType: DAMAGE_TYPE_*\n',
                                  'effect EffectDamageShield(int nDamageAmount, int nRandomAmount, int nDamageType);'),
                   ScriptFunction('object', 'GetNearestTrapToObject', [ScriptParam('object', 'oTarget', 'OBJECT_SELF'),
                                                                       ScriptParam('int', 'nTrapDetected', 'TRUE')],
                                  '// 488: Get the trap nearest to oTarget.\n// Note : "trap objects" are actually any trigger, placeable or door that is\n// trapped in oTarget\'s area.\n// - oTarget\n// - nTrapDetected: if this is TRUE, the trap returned has to have been detected\n//   by oTarget.\n',
                                  'object GetNearestTrapToObject(object oTarget=OBJECT_SELF, int nTrapDetected=TRUE);'),
                   ScriptFunction('object', 'GetAttemptedMovementTarget', [],
                                  '// 489: the will get the last attmpted movment target\n',
                                  'object GetAttemptedMovementTarget();'),
                   ScriptFunction('object', 'GetBlockingCreature', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                  '// 490: this function returns the bloking creature for the k_def_CBTBlk01 script\n',
                                  'object GetBlockingCreature(object oTarget=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetFortitudeSavingThrow', [ScriptParam('object', 'oTarget', None)],
                                  "// 491: Get oTarget's base fortitude saving throw value (this will only work for\n// creatures, doors, and placeables).\n// * Returns 0 if oTarget is invalid.\n",
                                  'int GetFortitudeSavingThrow(object oTarget);'),
                   ScriptFunction('int', 'GetWillSavingThrow', [ScriptParam('object', 'oTarget', None)],
                                  "// 492: Get oTarget's base will saving throw value (this will only work for creatures,\n// doors, and placeables).\n// * Returns 0 if oTarget is invalid.\n",
                                  'int GetWillSavingThrow(object oTarget);'),
                   ScriptFunction('int', 'GetReflexSavingThrow', [ScriptParam('object', 'oTarget', None)],
                                  "// 493: Get oTarget's base reflex saving throw value (this will only work for\n// creatures, doors, and placeables).\n// * Returns 0 if oTarget is invalid.\n",
                                  'int GetReflexSavingThrow(object oTarget);'),
                   ScriptFunction('float', 'GetChallengeRating', [ScriptParam('object', 'oCreature', None)],
                                  "// 494: Get oCreature's challenge rating.\n// * Returns 0.0 if oCreature is invalid.\n",
                                  'float GetChallengeRating(object oCreature);'),
                   ScriptFunction('object', 'GetFoundEnemyCreature', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                  '// 495: Returns the found enemy creature on a pathfind.\n',
                                  'object GetFoundEnemyCreature(object oTarget=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetMovementRate', [ScriptParam('object', 'oCreature', None)],
                                  "// 496: Get oCreature's movement rate.\n// * Returns 0 if oCreature is invalid.\n",
                                  'int GetMovementRate(object oCreature);'),
                   ScriptFunction('int', 'GetSubRace', [ScriptParam('object', 'oCreature', None)],
                                  '// 497: GetSubRace of oCreature\n// Returns SUBRACE_*\n',
                                  'int GetSubRace(object oCreature);'),
                   ScriptFunction('int', 'GetStealthXPDecrement', [],
                                  '// 498:\n// Returns the amount the stealth xp bonus gets decreased each time the player is detected.\n',
                                  'int GetStealthXPDecrement();'),
                   ScriptFunction('void', 'SetStealthXPDecrement', [ScriptParam('int', 'nDecrement', None)],
                                  '// 499:\n// Sets the amount the stealth xp bonus gets decreased each time the player is detected.\n',
                                  'void SetStealthXPDecrement( int nDecrement );'),
                   ScriptFunction('void', 'DuplicateHeadAppearance',
                                  [ScriptParam('object', 'oidCreatureToChange', None),
                                   ScriptParam('object', 'oidCreatureToMatch', None)], '// 500:\n',
                                  'void DuplicateHeadAppearance(object oidCreatureToChange, object oidCreatureToMatch);'),
                   ScriptFunction('void', 'ActionCastFakeSpellAtObject',
                                  [ScriptParam('int', 'nSpell', None), ScriptParam('object', 'oTarget', None),
                                   ScriptParam('int', 'nProjectilePathType', 'PROJECTILE_PATH_TYPE_DEFAULT')],
                                  '// 501: The action subject will fake casting a spell at oTarget; the conjure and cast\n// animations and visuals will occur, nothing else.\n// - nSpell\n// - oTarget\n// - nProjectilePathType: PROJECTILE_PATH_TYPE_*\n',
                                  'void ActionCastFakeSpellAtObject(int nSpell, object oTarget, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT);'),
                   ScriptFunction('void', 'ActionCastFakeSpellAtLocation',
                                  [ScriptParam('int', 'nSpell', None), ScriptParam('location', 'lTarget', None),
                                   ScriptParam('int', 'nProjectilePathType', 'PROJECTILE_PATH_TYPE_DEFAULT')],
                                  '// 502: The action subject will fake casting a spell at lLocation; the conjure and\n// cast animations and visuals will occur, nothing else.\n// - nSpell\n// - lTarget\n// - nProjectilePathType: PROJECTILE_PATH_TYPE_*\n',
                                  'void ActionCastFakeSpellAtLocation(int nSpell, location lTarget, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT);'),
                   ScriptFunction('void', 'CutsceneAttack',
                                  [ScriptParam('object', 'oTarget', None), ScriptParam('int', 'nAnimation', None),
                                   ScriptParam('int', 'nAttackResult', None), ScriptParam('int', 'nDamage', None)],
                                  "// 503: CutsceneAttack\n// This function allows the designer to specify exactly what's going to happen in a combat round\n// There are no guarentees made that the animation specified here will be correct - only that it will be played,\n// so it is up to the designer to ensure that they have selected the right animation\n// It relies upon constants specified above for the attack result\n",
                                  'void CutsceneAttack(object oTarget, int nAnimation, int nAttackResult, int nDamage);'),
                   ScriptFunction('void', 'SetCameraMode',
                                  [ScriptParam('object', 'oPlayer', None), ScriptParam('int', 'nCameraMode', None)],
                                  '// 504: Set the camera mode for oPlayer.\n// - oPlayer\n// - nCameraMode: CAMERA_MODE_*\n// * If oPlayer is not player-controlled or nCameraMode is invalid, nothing\n//   happens.\n',
                                  'void SetCameraMode(object oPlayer, int nCameraMode);'),
                   ScriptFunction('void', 'SetLockOrientationInDialog',
                                  [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nValue', None)],
                                  '// 505: SetLockOrientationInDialog\n// Allows the locking and unlocking of orientation changes for an object in dialog\n// - oObject - Object\n// - nValue - TRUE or FALSE\n',
                                  'void SetLockOrientationInDialog(object oObject, int nValue);'),
                   ScriptFunction('void', 'SetLockHeadFollowInDialog',
                                  [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nValue', None)],
                                  '// 506: SetLockHeadFollowInDialog\n// Allows the locking and undlocking of head following for an object in dialog\n// - oObject - Object\n// - nValue - TRUE or FALSE\n',
                                  'void SetLockHeadFollowInDialog(object oObject, int nValue);'),
                   ScriptFunction('void', 'CutsceneMove',
                                  [ScriptParam('object', 'oObject', None), ScriptParam('vector', 'vPosition', None),
                                   ScriptParam('int', 'nRun', None)],
                                  '// 507: CutsceneMoveToPoint\n// Used by the cutscene system to allow designers to script combat\n',
                                  'void CutsceneMove(object oObject, vector vPosition, int nRun);'),
                   ScriptFunction('void', 'EnableVideoEffect', [ScriptParam('int', 'nEffectType', None)],
                                  '// 508: EnableVideoEffect\n// Enables the video frame buffer effect specified by nEffectType, which is\n// an index into VideoEffects.2da. This video effect will apply indefinitely,\n// and so it should *always* be cleared by a call to DisableVideoEffect().\n',
                                  'void EnableVideoEffect(int nEffectType);'), ScriptFunction('void', 'StartNewModule',
                                                                                              [ScriptParam('string',
                                                                                                           'sModuleName',
                                                                                                           None),
                                                                                               ScriptParam('string',
                                                                                                           'sWayPoint',
                                                                                                           '""'),
                                                                                               ScriptParam('string',
                                                                                                           'sMovie1',
                                                                                                           '""'),
                                                                                               ScriptParam('string',
                                                                                                           'sMovie2',
                                                                                                           '""'),
                                                                                               ScriptParam('string',
                                                                                                           'sMovie3',
                                                                                                           '""'),
                                                                                               ScriptParam('string',
                                                                                                           'sMovie4',
                                                                                                           '""'),
                                                                                               ScriptParam('string',
                                                                                                           'sMovie5',
                                                                                                           '""'),
                                                                                               ScriptParam('string',
                                                                                                           'sMovie6',
                                                                                                           '""')],
                                                                                              '// 509: Shut down the currently loaded module and start a new one (moving all\n// currently-connected players to the starting point.\n',
                                                                                              'void StartNewModule(string sModuleName, string sWayPoint="", string sMovie1="", string sMovie2="", string sMovie3="", string sMovie4="", string sMovie5="", string sMovie6="");'),
                   ScriptFunction('void', 'DisableVideoEffect', [],
                                  '// 510: DisableVideoEffect\n// Disables any video frame buffer effect that may be running. See\n// EnableVideoEffect() to see how to use them.\n',
                                  'void DisableVideoEffect();'),
                   ScriptFunction('int', 'GetWeaponRanged', [ScriptParam('object', 'oItem', None)],
                                  '// 511: * Returns TRUE if oItem is a ranged weapon.\n',
                                  'int GetWeaponRanged(object oItem);'),
                   ScriptFunction('void', 'DoSinglePlayerAutoSave', [],
                                  '// 512: Only if we are in a single player game, AutoSave the game.\n',
                                  'void DoSinglePlayerAutoSave();'), ScriptFunction('int', 'GetGameDifficulty', [],
                                                                                    '// 513: Get the game difficulty (GAME_DIFFICULTY_*).\n',
                                                                                    'int GetGameDifficulty();'),
                   ScriptFunction('int', 'GetUserActionsPending', [],
                                  '// 514:\n// This will test the combat action queu to see if the user has placed any actions on the queue.\n// will only work during combat.\n',
                                  'int GetUserActionsPending();'), ScriptFunction('void', 'RevealMap', [
        ScriptParam('vector', 'vPoint', '[0.0'), ScriptParam('0.0', '0.0]', None), ScriptParam('int', 'nRadius', '-1')],
                                                                                  "// 515: RevealMap\n// Reveals the map at the given WORLD point 'vPoint' with a MAP Grid Radius 'nRadius'\n// If this function is called with no parameters it will reveal the entire map.\n// (NOTE: if this function is called with a valid point but a default radius, ie. 'nRadius' of -1\n//        then the entire map will be revealed)\n",
                                                                                  'void RevealMap(vector vPoint=[0.0,0.0,0.0],int nRadius=-1);'),
                   ScriptFunction('void', 'SetTutorialWindowsEnabled', [ScriptParam('int', 'bEnabled', None)],
                                  '// 516: SetTutorialWindowsEnabled\n// Sets whether or not the tutorial windows are enabled (ie. whether or not they will\n// appear when certain things happen for the first time).\n',
                                  'void SetTutorialWindowsEnabled( int bEnabled );'),
                   ScriptFunction('void', 'ShowTutorialWindow', [ScriptParam('int', 'nWindow', None)],
                                  '// 517: ShowTutorialWindow\n// Pops up the specified tutorial window.  If the tutorial window has already popped\n// up once before, this will do nothing.\n',
                                  'void ShowTutorialWindow( int nWindow );'),
                   ScriptFunction('void', 'StartCreditSequence', [ScriptParam('int', 'bTransparentBackground', None)],
                                  '// 518: StartCreditSequence\n// Starts the credits sequence.  If bTransparentBackground is TRUE, the credits will be displayed\n// with a transparent background, allowing whatever is currently onscreen to show through.  If it\n// is set to FALSE, the credits will be displayed on a black background.\n',
                                  'void StartCreditSequence( int bTransparentBackground );'),
                   ScriptFunction('int', 'IsCreditSequenceInProgress', [],
                                  '// 519: IsCreditSequenceInProgress\n// Returns TRUE if the credits sequence is currently in progress, FALSE otherwise.\n',
                                  'int IsCreditSequenceInProgress();'),
                   ScriptFunction('void', 'SWMG_SetLateralAccelerationPerSecond', [ScriptParam('float', 'fLAPS', None)],
                                  '// 520: Sets the minigame lateral acceleration/sec value\n',
                                  'void SWMG_SetLateralAccelerationPerSecond(float fLAPS);'),
                   ScriptFunction('float', 'SWMG_GetLateralAccelerationPerSecond', [],
                                  '// 521: Returns the minigame lateral acceleration/sec value\n',
                                  'float SWMG_GetLateralAccelerationPerSecond();'),
                   ScriptFunction('int', 'GetCurrentAction', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                  '// 522: Get the current action (ACTION_*) that oObject is executing.\n',
                                  'int GetCurrentAction(object oObject=OBJECT_SELF);'),
                   ScriptFunction('float', 'GetDifficultyModifier', [], '// 523:\n', 'float GetDifficultyModifier();'),
                   ScriptFunction('int', 'GetAppearanceType', [ScriptParam('object', 'oCreature', None)],
                                  "// 524: Returns the appearance type of oCreature (0 if creature doesn't exist)\n// - oCreature\n",
                                  'int GetAppearanceType(object oCreature);'),
                   ScriptFunction('void', 'FloatingTextStrRefOnCreature', [ScriptParam('int', 'nStrRefToDisplay', None),
                                                                           ScriptParam('object',
                                                                                       'oCreatureToFloatAbove', None),
                                                                           ScriptParam('int', 'bBroadcastToFaction',
                                                                                       'TRUE')],
                                  '// 525: Display floaty text above the specified creature.\n// The text will also appear in the chat buffer of each player that receives the\n// floaty text.\n// - nStrRefToDisplay: String ref (therefore text is translated)\n// - oCreatureToFloatAbove\n// - bBroadcastToFaction: If this is TRUE then only creatures in the same faction\n//   as oCreatureToFloatAbove\n//   will see the floaty text, and only if they are within range (30 metres).\n',
                                  'void FloatingTextStrRefOnCreature(int nStrRefToDisplay, object oCreatureToFloatAbove, int bBroadcastToFaction=TRUE);'),
                   ScriptFunction('void', 'FloatingTextStringOnCreature',
                                  [ScriptParam('string', 'sStringToDisplay', None),
                                   ScriptParam('object', 'oCreatureToFloatAbove', None),
                                   ScriptParam('int', 'bBroadcastToFaction', 'TRUE')],
                                  '// 526: Display floaty text above the specified creature.\n// The text will also appear in the chat buffer of each player that receives the\n// floaty text.\n// - sStringToDisplay: String\n// - oCreatureToFloatAbove\n// - bBroadcastToFaction: If this is TRUE then only creatures in the same faction\n//   as oCreatureToFloatAbove\n//   will see the floaty text, and only if they are within range (30 metres).\n',
                                  'void FloatingTextStringOnCreature(string sStringToDisplay, object oCreatureToFloatAbove, int bBroadcastToFaction=TRUE);'),
                   ScriptFunction('int', 'GetTrapDisarmable', [ScriptParam('object', 'oTrapObject', None)],
                                  '// 527: - oTrapObject: a placeable, door or trigger\n// * Returns TRUE if oTrapObject is disarmable.\n',
                                  'int GetTrapDisarmable(object oTrapObject);'),
                   ScriptFunction('int', 'GetTrapDetectable', [ScriptParam('object', 'oTrapObject', None)],
                                  '// 528: - oTrapObject: a placeable, door or trigger\n// * Returns TRUE if oTrapObject is detectable.\n',
                                  'int GetTrapDetectable(object oTrapObject);'),
                   ScriptFunction('int', 'GetTrapDetectedBy', [ScriptParam('object', 'oTrapObject', None),
                                                               ScriptParam('object', 'oCreature', None)],
                                  '// 529: - oTrapObject: a placeable, door or trigger\n// - oCreature\n// * Returns TRUE if oCreature has detected oTrapObject\n',
                                  'int GetTrapDetectedBy(object oTrapObject, object oCreature);'),
                   ScriptFunction('int', 'GetTrapFlagged', [ScriptParam('object', 'oTrapObject', None)],
                                  '// 530: - oTrapObject: a placeable, door or trigger\n// * Returns TRUE if oTrapObject has been flagged as visible to all creatures.\n',
                                  'int GetTrapFlagged(object oTrapObject);'),
                   ScriptFunction('int', 'GetTrapBaseType', [ScriptParam('object', 'oTrapObject', None)],
                                  '// 531: Get the trap base type (TRAP_BASE_TYPE_*) of oTrapObject.\n// - oTrapObject: a placeable, door or trigger\n',
                                  'int GetTrapBaseType(object oTrapObject);'),
                   ScriptFunction('int', 'GetTrapOneShot', [ScriptParam('object', 'oTrapObject', None)],
                                  '// 532: - oTrapObject: a placeable, door or trigger\n// * Returns TRUE if oTrapObject is one-shot (i.e. it does not reset itself\n//   after firing.\n',
                                  'int GetTrapOneShot(object oTrapObject);'),
                   ScriptFunction('object', 'GetTrapCreator', [ScriptParam('object', 'oTrapObject', None)],
                                  '// 533: Get the creator of oTrapObject, the creature that set the trap.\n// - oTrapObject: a placeable, door or trigger\n// * Returns OBJECT_INVALID if oTrapObject was created in the toolset.\n',
                                  'object GetTrapCreator(object oTrapObject);'),
                   ScriptFunction('string', 'GetTrapKeyTag', [ScriptParam('object', 'oTrapObject', None)],
                                  '// 534: Get the tag of the key that will disarm oTrapObject.\n// - oTrapObject: a placeable, door or trigger\n',
                                  'string GetTrapKeyTag(object oTrapObject);'),
                   ScriptFunction('int', 'GetTrapDisarmDC', [ScriptParam('object', 'oTrapObject', None)],
                                  '// 535: Get the DC for disarming oTrapObject.\n// - oTrapObject: a placeable, door or trigger\n',
                                  'int GetTrapDisarmDC(object oTrapObject);'),
                   ScriptFunction('int', 'GetTrapDetectDC', [ScriptParam('object', 'oTrapObject', None)],
                                  '// 536: Get the DC for detecting oTrapObject.\n// - oTrapObject: a placeable, door or trigger\n',
                                  'int GetTrapDetectDC(object oTrapObject);'),
                   ScriptFunction('int', 'GetLockKeyRequired', [ScriptParam('object', 'oObject', None)],
                                  '// 537: * Returns TRUE if a specific key is required to open the lock on oObject.\n',
                                  'int GetLockKeyRequired(object oObject);'),
                   ScriptFunction('int', 'GetLockKeyTag', [ScriptParam('object', 'oObject', None)],
                                  '// 538: Get the tag of the key that will open the lock on oObject.\n',
                                  'int GetLockKeyTag(object oObject);'),
                   ScriptFunction('int', 'GetLockLockable', [ScriptParam('object', 'oObject', None)],
                                  '// 539: * Returns TRUE if the lock on oObject is lockable.\n',
                                  'int GetLockLockable(object oObject);'),
                   ScriptFunction('int', 'GetLockUnlockDC', [ScriptParam('object', 'oObject', None)],
                                  '// 540: Get the DC for unlocking oObject.\n',
                                  'int GetLockUnlockDC(object oObject);'),
                   ScriptFunction('int', 'GetLockLockDC', [ScriptParam('object', 'oObject', None)],
                                  '// 541: Get the DC for locking oObject.\n', 'int GetLockLockDC(object oObject);'),
                   ScriptFunction('object', 'GetPCLevellingUp', [], '// 542: Get the last PC that levelled up.\n',
                                  'object GetPCLevellingUp();'), ScriptFunction('int', 'GetHasFeatEffect',
                                                                                [ScriptParam('int', 'nFeat', None),
                                                                                 ScriptParam('object', 'oObject',
                                                                                             'OBJECT_SELF')],
                                                                                '// 543: - nFeat: FEAT_*\n// - oObject\n// * Returns TRUE if oObject has effects on it originating from nFeat.\n',
                                                                                'int GetHasFeatEffect(int nFeat, object oObject=OBJECT_SELF);'),
                   ScriptFunction('void', 'SetPlaceableIllumination',
                                  [ScriptParam('object', 'oPlaceable', 'OBJECT_SELF'),
                                   ScriptParam('int', 'bIlluminate', 'TRUE')],
                                  "// 544: Set the status of the illumination for oPlaceable.\n// - oPlaceable\n// - bIlluminate: if this is TRUE, oPlaceable's illumination will be turned on.\n//   If this is FALSE, oPlaceable's illumination will be turned off.\n// Note: You must call RecomputeStaticLighting() after calling this function in\n// order for the changes to occur visually for the players.\n// SetPlaceableIllumination() buffers the illumination changes, which are then\n// sent out to the players once RecomputeStaticLighting() is called.  As such,\n// it is best to call SetPlaceableIllumination() for all the placeables you wish\n// to set the illumination on, and then call RecomputeStaticLighting() once after\n// all the placeable illumination has been set.\n// * If oPlaceable is not a placeable object, or oPlaceable is a placeable that\n//   doesn't have a light, nothing will happen.\n",
                                  'void SetPlaceableIllumination(object oPlaceable=OBJECT_SELF, int bIlluminate=TRUE);'),
                   ScriptFunction('int', 'GetPlaceableIllumination',
                                  [ScriptParam('object', 'oPlaceable', 'OBJECT_SELF')],
                                  '// 545: * Returns TRUE if the illumination for oPlaceable is on\n',
                                  'int GetPlaceableIllumination(object oPlaceable=OBJECT_SELF);'),
                   ScriptFunction('int', 'GetIsPlaceableObjectActionPossible',
                                  [ScriptParam('object', 'oPlaceable', None),
                                   ScriptParam('int', 'nPlaceableAction', None)],
                                  '// 546: - oPlaceable\n// - nPlaceableAction: PLACEABLE_ACTION_*\n// * Returns TRUE if nPlacebleAction is valid for oPlaceable.\n',
                                  'int GetIsPlaceableObjectActionPossible(object oPlaceable, int nPlaceableAction);'),
                   ScriptFunction('void', 'DoPlaceableObjectAction', [ScriptParam('object', 'oPlaceable', None),
                                                                      ScriptParam('int', 'nPlaceableAction', None)],
                                  '// 547: The caller performs nPlaceableAction on oPlaceable.\n// - oPlaceable\n// - nPlaceableAction: PLACEABLE_ACTION_*\n',
                                  'void DoPlaceableObjectAction(object oPlaceable, int nPlaceableAction);'),
                   ScriptFunction('object', 'GetFirstPC', [],
                                  '// 548: Get the first PC in the player list.\n// This resets the position in the player list for GetNextPC().\n',
                                  'object GetFirstPC();'), ScriptFunction('object', 'GetNextPC', [],
                                                                          '// 549: Get the next PC in the player list.\n// This picks up where the last GetFirstPC() or GetNextPC() left off.\n',
                                                                          'object GetNextPC();'),
                   ScriptFunction('int', 'SetTrapDetectedBy',
                                  [ScriptParam('object', 'oTrap', None), ScriptParam('object', 'oDetector', None)],
                                  '// 550: Set oDetector to have detected oTrap.\n',
                                  'int SetTrapDetectedBy(object oTrap, object oDetector);'),
                   ScriptFunction('int', 'GetIsTrapped', [ScriptParam('object', 'oObject', None)],
                                  '// 551: Note: Only placeables, doors and triggers can be trapped.\n// * Returns TRUE if oObject is trapped.\n',
                                  'int GetIsTrapped(object oObject);'), ScriptFunction('effect', 'SetEffectIcon', [
        ScriptParam('effect', 'eEffect', None), ScriptParam('int', 'nIcon', None)],
                                                                                       '// 552: SetEffectIcon\n// This will link the specified effect icon to the specified effect.  The\n// effect returned will contain the link to the effect icon and applying this\n// effect will cause an effect icon to appear on the portrait/charsheet gui.\n// eEffect: The effect which should cause the effect icon to appear.\n// nIcon: Index into effecticon.2da of the effect icon to use.\n',
                                                                                       'effect SetEffectIcon( effect eEffect, int nIcon );'),
                   ScriptFunction('void', 'FaceObjectAwayFromObject', [ScriptParam('object', 'oFacer', None),
                                                                       ScriptParam('object', 'oObjectToFaceAwayFrom',
                                                                                   None)],
                                  '// 553: FaceObjectAwayFromObject\n// This will cause the object oFacer to face away from oObjectToFaceAwayFrom.\n// The objects must be in the same area for this to work.\n',
                                  'void FaceObjectAwayFromObject( object oFacer, object oObjectToFaceAwayFrom );'),
                   ScriptFunction('void', 'PopUpDeathGUIPanel', [ScriptParam('object', 'oPC', None),
                                                                 ScriptParam('int', 'bRespawnButtonEnabled', 'TRUE'),
                                                                 ScriptParam('int', 'bWaitForHelpButtonEnabled',
                                                                             'TRUE'),
                                                                 ScriptParam('int', 'nHelpStringReference', '0'),
                                                                 ScriptParam('string', 'sHelpString', '""')],
                                  '// 554: Spawn in the Death GUI.\n// The default (as defined by BioWare) can be spawned in by PopUpGUIPanel, but\n// if you want to turn off the "Respawn" or "Wait for Help" buttons, this is the\n// function to use.\n// - oPC\n// - bRespawnButtonEnabled: if this is TRUE, the "Respawn" button will be enabled\n//   on the Death GUI.\n// - bWaitForHelpButtonEnabled: if this is TRUE, the "Wait For Help" button will\n//   be enabled on the Death GUI.\n// - nHelpStringReference\n// - sHelpString\n',
                                  'void PopUpDeathGUIPanel(object oPC, int bRespawnButtonEnabled=TRUE, int bWaitForHelpButtonEnabled=TRUE, int nHelpStringReference=0, string sHelpString="");'),
                   ScriptFunction('void', 'SetTrapDisabled', [ScriptParam('object', 'oTrap', None)],
                                  '// 555: Disable oTrap.\n// - oTrap: a placeable, door or trigger.\n',
                                  'void SetTrapDisabled(object oTrap);'),
                   ScriptFunction('object', 'GetLastHostileActor', [ScriptParam('object', 'oVictim', 'OBJECT_SELF')],
                                  '// 556: Get the last object that was sent as a GetLastAttacker(), GetLastDamager(),\n// GetLastSpellCaster() (for a hostile spell), or GetLastDisturbed() (when a\n// creature is pickpocketed).\n// Note: Return values may only ever be:\n// 1) A Creature\n// 2) Plot Characters will never have this value set\n// 3) Area of Effect Objects will return the AOE creator if they are registered\n//    as this value, otherwise they will return INVALID_OBJECT_ID\n// 4) Traps will not return the creature that set the trap.\n// 5) This value will never be overwritten by another non-creature object.\n// 6) This value will never be a dead/destroyed creature\n',
                                  'object GetLastHostileActor(object oVictim=OBJECT_SELF);'),
                   ScriptFunction('void', 'ExportAllCharacters', [],
                                  '// 557: Force all the characters of the players who are currently in the game to\n// be exported to their respective directories i.e. LocalVault/ServerVault/ etc.\n',
                                  'void ExportAllCharacters();'),
                   ScriptFunction('int', 'MusicBackgroundGetDayTrack', [ScriptParam('object', 'oArea', None)],
                                  '// 558: Get the Day Track for oArea.\n',
                                  'int MusicBackgroundGetDayTrack(object oArea);'),
                   ScriptFunction('int', 'MusicBackgroundGetNightTrack', [ScriptParam('object', 'oArea', None)],
                                  '// 559: Get the Night Track for oArea.\n',
                                  'int MusicBackgroundGetNightTrack(object oArea);'),
                   ScriptFunction('void', 'WriteTimestampedLogEntry', [ScriptParam('string', 'sLogEntry', None)],
                                  '// 560: Write sLogEntry as a timestamped entry into the log file\n',
                                  'void WriteTimestampedLogEntry(string sLogEntry);'),
                   ScriptFunction('string', 'GetModuleName', [],
                                  "// 561: Get the module's name in the language of the server that's running it.\n// * If there is no entry for the language of the server, it will return an\n//   empty string\n",
                                  'string GetModuleName();'),
                   ScriptFunction('object', 'GetFactionLeader', [ScriptParam('object', 'oMemberOfFaction', None)],
                                  '// 562: Get the leader of the faction of which oMemberOfFaction is a member.\n// * Returns OBJECT_INVALID if oMemberOfFaction is not a valid creature.\n',
                                  'object GetFactionLeader(object oMemberOfFaction);'),
                   ScriptFunction('void', 'SWMG_SetSpeedBlurEffect',
                                  [ScriptParam('int', 'bEnabled', None), ScriptParam('float', 'fRatio', '0.75f')],
                                  '// 563: Turns on or off the speed blur effect in rendered scenes.\n// bEnabled: Set TRUE to turn it on, FALSE to turn it off.\n// fRatio: Sets the frame accumulation ratio.\n',
                                  'void SWMG_SetSpeedBlurEffect( int bEnabled, float fRatio=0.75f );'),
                   ScriptFunction('void', 'EndGame', [ScriptParam('int', 'nShowEndGameGui', 'TRUE')],
                                  '// 564: Immediately ends the currently running game and returns to the start screen.\n// nShowEndGameGui: Set TRUE to display the death gui.\n',
                                  'void EndGame( int nShowEndGameGui=TRUE );'),
                   ScriptFunction('int', 'GetRunScriptVar', [],
                                  '// 565: Get a variable passed when calling console debug runscript\n',
                                  'int GetRunScriptVar();'),
                   ScriptFunction('int', 'GetCreatureMovmentType', [ScriptParam('object', 'oidCreature', None)],
                                  '// 566: This function returns a value that matches one of the MOVEMENT_SPEED_... constants\n//      if the OID passed in is not found or not a creature then it will return\n//  MOVEMENT_SPEED_IMMOBILE.\n',
                                  'int GetCreatureMovmentType(object oidCreature);'),
                   ScriptFunction('void', 'AmbientSoundSetDayVolume',
                                  [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nVolume', None)],
                                  '// 567: Set the ambient day volume for oArea to nVolume.\n// - oArea\n// - nVolume: 0 - 100\n',
                                  'void AmbientSoundSetDayVolume(object oArea, int nVolume);'),
                   ScriptFunction('void', 'AmbientSoundSetNightVolume',
                                  [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nVolume', None)],
                                  '// 568: Set the ambient night volume for oArea to nVolume.\n// - oArea\n// - nVolume: 0 - 100\n',
                                  'void AmbientSoundSetNightVolume(object oArea, int nVolume);'),
                   ScriptFunction('int', 'MusicBackgroundGetBattleTrack', [ScriptParam('object', 'oArea', None)],
                                  '// 569: Get the Battle Track for oArea.\n',
                                  'int MusicBackgroundGetBattleTrack(object oArea);'),
                   ScriptFunction('int', 'GetHasInventory', [ScriptParam('object', 'oObject', None)],
                                  '// 570: Determine whether oObject has an inventory.\n// * Returns TRUE for creatures and stores, and checks to see if an item or placeable object is a container.\n// * Returns FALSE for all other object types.\n',
                                  'int GetHasInventory(object oObject);'),
                   ScriptFunction('float', 'GetStrRefSoundDuration', [ScriptParam('int', 'nStrRef', None)],
                                  '// 571: Get the duration (in seconds) of the sound attached to nStrRef\n// * Returns 0.0f if no duration is stored or if no sound is attached\n',
                                  'float GetStrRefSoundDuration(int nStrRef);'), ScriptFunction('void', 'AddToParty', [
        ScriptParam('object', 'oPC', None), ScriptParam('object', 'oPartyLeader', None)],
                                                                                                "// 572: Add oPC to oPartyLeader's party.  This will only work on two PCs.\n// - oPC: player to add to a party\n// - oPartyLeader: player already in the party\n",
                                                                                                'void AddToParty(object oPC, object oPartyLeader);'),
                   ScriptFunction('void', 'RemoveFromParty', [ScriptParam('object', 'oPC', None)],
                                  "// 573: Remove oPC from their current party. This will only work on a PC.\n// - oPC: removes this player from whatever party they're currently in.\n",
                                  'void RemoveFromParty(object oPC);'), ScriptFunction('int', 'AddPartyMember', [
        ScriptParam('int', 'nNPC', None), ScriptParam('object', 'oCreature', None)],
                                                                                       '// 574: Adds a creature to the party\n// Returns whether the addition was successful\n// AddPartyMember\n',
                                                                                       'int AddPartyMember(int nNPC, object oCreature);'),
                   ScriptFunction('int', 'RemovePartyMember', [ScriptParam('int', 'nNPC', None)],
                                  '// 575: Removes a creature from the party\n// Returns whether the removal was syccessful\n// RemovePartyMember\n',
                                  'int RemovePartyMember(int nNPC);'),
                   ScriptFunction('int', 'IsObjectPartyMember', [ScriptParam('object', 'oCreature', None)],
                                  '// 576: Returns whether a specified creature is a party member\n// IsObjectPartyMember\n',
                                  'int IsObjectPartyMember(object oCreature);'),
                   ScriptFunction('object', 'GetPartyMemberByIndex', [ScriptParam('int', 'nIndex', None)],
                                  '// 577: Returns the party member at a given index in the party.\n// The order of members in the party can vary based on\n// who the current leader is (member 0 is always the current\n// party leader).\n// GetPartyMemberByIndex\n',
                                  'object GetPartyMemberByIndex(int nIndex);'),
                   ScriptFunction('int', 'GetGlobalBoolean', [ScriptParam('string', 'sIdentifier', None)],
                                  '// 578: GetGlobalBoolean\n// This function returns the value of a global boolean (TRUE or FALSE) scripting variable.\n',
                                  'int GetGlobalBoolean( string sIdentifier );'),
                   ScriptFunction('void', 'SetGlobalBoolean',
                                  [ScriptParam('string', 'sIdentifier', None), ScriptParam('int', 'nValue', None)],
                                  '// 579: SetGlobalBoolean\n// This function sets the value of a global boolean (TRUE or FALSE) scripting variable.\n',
                                  'void SetGlobalBoolean( string sIdentifier, int nValue );'),
                   ScriptFunction('int', 'GetGlobalNumber', [ScriptParam('string', 'sIdentifier', None)],
                                  '// 580: GetGlobalNumber\n// This function returns the value of a global number (-128 to +127) scripting variable.\n',
                                  'int GetGlobalNumber( string sIdentifier );'),
                   ScriptFunction('void', 'SetGlobalNumber',
                                  [ScriptParam('string', 'sIdentifier', None), ScriptParam('int', 'nValue', None)],
                                  '// 581: SetGlobalNumber\n// This function sets the value of a global number (-128 to +127) scripting variable.\n',
                                  'void SetGlobalNumber( string sIdentifier, int nValue );'),
                   ScriptFunction('void', 'AurPostString',
                                  [ScriptParam('string', 'sString', None), ScriptParam('int', 'nX', None),
                                   ScriptParam('int', 'nY', None), ScriptParam('float', 'fLife', None)],
                                  '// post a string to the screen at column nX and row nY for fLife seconds\n// 582. AurPostString\n',
                                  'void AurPostString(string sString, int nX, int nY, float fLife);'),
                   ScriptFunction('string', 'SWMG_GetLastEvent', [],
                                  '// 583: OnAnimKey\n// get the event and the name of the model on which the event happened\n// SWMG_GetLastEvent\n',
                                  'string SWMG_GetLastEvent();'),
                   ScriptFunction('string', 'SWMG_GetLastEventModelName', [], '// 584: SWMG_GetLastEventModelName\n',
                                  'string SWMG_GetLastEventModelName();'),
                   ScriptFunction('object', 'SWMG_GetObjectByName', [ScriptParam('string', 'sName', None)],
                                  '// 585: gets an object by its name (duh!)\n// SWMG_GetObjectByName\n',
                                  'object SWMG_GetObjectByName(string sName);'),
                   ScriptFunction('void', 'SWMG_PlayAnimation',
                                  [ScriptParam('object', 'oObject', None), ScriptParam('string', 'sAnimName', None),
                                   ScriptParam('int', 'bLooping', '1'), ScriptParam('int', 'bQueue', '0'),
                                   ScriptParam('int', 'bOverlay', '0')],
                                  '// 586: plays an animation on an object\n// SWMG_PlayAnimation\n',
                                  'void SWMG_PlayAnimation(object oObject, string sAnimName, int bLooping=1, int bQueue=0, int bOverlay=0);'),
                   ScriptFunction('int', 'SWMG_GetLastBulletHitDamage', [],
                                  '// 587: OnHitBullet\n// get the damage, the target type (see TARGETflags), and the shooter\n// SWMG_GetLastBulletHitDamage\n',
                                  'int SWMG_GetLastBulletHitDamage();'),
                   ScriptFunction('int', 'SWMG_GetLastBulletHitTarget', [], '// 588: SWMG_GetLastBulletHitTarget\n',
                                  'int SWMG_GetLastBulletHitTarget();'),
                   ScriptFunction('object', 'SWMG_GetLastBulletHitShooter', [],
                                  '// 589: SWMG_GetLastBulletHitShooter\n', 'object SWMG_GetLastBulletHitShooter();'),
                   ScriptFunction('int', 'SWMG_AdjustFollowerHitPoints',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nHP', None),
                                   ScriptParam('int', 'nAbsolute', '0')],
                                  '// 590: adjusts a followers hit points, can specify the absolute value to set to\n// SWMG_AdjustFollowerHitPoints\n',
                                  'int SWMG_AdjustFollowerHitPoints(object oFollower, int nHP, int nAbsolute=0);'),
                   ScriptFunction('void', 'SWMG_OnBulletHit', [],
                                  '// 591: the default implementation of OnBulletHit\n// SWMG_OnBulletHit\n',
                                  'void SWMG_OnBulletHit();'), ScriptFunction('void', 'SWMG_OnObstacleHit', [],
                                                                              '// 592: the default implementation of OnObstacleHit\n// SWMG_OnObstacleHit\n',
                                                                              'void SWMG_OnObstacleHit();'),
                   ScriptFunction('object', 'SWMG_GetLastFollowerHit', [],
                                  '// 593: returns the last follower and obstacle hit\n// SWMG_GetLastFollowerHit\n',
                                  'object SWMG_GetLastFollowerHit();'),
                   ScriptFunction('object', 'SWMG_GetLastObstacleHit', [], '// 594: SWMG_GetLastObstacleHit\n',
                                  'object SWMG_GetLastObstacleHit();'),
                   ScriptFunction('int', 'SWMG_GetLastBulletFiredDamage', [],
                                  '// 595: gets information about the last bullet fired\n// SWMG_GetLastBulletFiredDamage\n',
                                  'int SWMG_GetLastBulletFiredDamage();'),
                   ScriptFunction('int', 'SWMG_GetLastBulletFiredTarget', [], '// 596: SWMG_GetLastBulletFiredTarget\n',
                                  'int SWMG_GetLastBulletFiredTarget();'),
                   ScriptFunction('string', 'SWMG_GetObjectName', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                  '// 597: gets an objects name\n// SWMG_GetObjectName\n',
                                  'string SWMG_GetObjectName(object oid=OBJECT_SELF);'),
                   ScriptFunction('void', 'SWMG_OnDeath', [],
                                  '// 598: the default implementation of OnDeath\n// SWMG_OnDeath\n',
                                  'void SWMG_OnDeath();'),
                   ScriptFunction('int', 'SWMG_IsFollower', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                  '// 599: a bunch of Is functions for your pleasure\n// SWMG_IsFollower\n',
                                  'int SWMG_IsFollower(object oid=OBJECT_SELF);'),
                   ScriptFunction('int', 'SWMG_IsPlayer', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                  '// 600: SWMG_IsPlayer\n', 'int SWMG_IsPlayer(object oid=OBJECT_SELF);'),
                   ScriptFunction('int', 'SWMG_IsEnemy', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                  '// 601: SWMG_IsEnemy\n', 'int SWMG_IsEnemy(object oid=OBJECT_SELF);'),
                   ScriptFunction('int', 'SWMG_IsTrigger', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                  '// 602: SWMG_IsTrigger\n', 'int SWMG_IsTrigger(object oid=OBJECT_SELF);'),
                   ScriptFunction('int', 'SWMG_IsObstacle', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                  '// 603: SWMG_IsObstacle\n', 'int SWMG_IsObstacle(object oid=OBJECT_SELF);'),
                   ScriptFunction('void', 'SWMG_SetFollowerHitPoints',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nHP', None)],
                                  '// 604: SWMG_SetFollowerHitPoints\n',
                                  'void SWMG_SetFollowerHitPoints(object oFollower, int nHP);'),
                   ScriptFunction('void', 'SWMG_OnDamage', [], '// 605: SWMG_OnDamage\n', 'void SWMG_OnDamage();'),
                   ScriptFunction('int', 'SWMG_GetLastHPChange', [], '// 606: SWMG_GetLastHPChange\n',
                                  'int SWMG_GetLastHPChange();'), ScriptFunction('void', 'SWMG_RemoveAnimation', [
        ScriptParam('object', 'oObject', None), ScriptParam('string', 'sAnimName', None)],
                                                                                 '// 607: SWMG_RemoveAnimation\n',
                                                                                 'void SWMG_RemoveAnimation(object oObject, string sAnimName);'),
                   ScriptFunction('float', 'SWMG_GetCameraNearClip', [], '// 608: SWMG_GetCameraNearClip\n',
                                  'float SWMG_GetCameraNearClip();'),
                   ScriptFunction('float', 'SWMG_GetCameraFarClip', [], '// 609: SWMG_GetCameraFarClip\n',
                                  'float SWMG_GetCameraFarClip();'), ScriptFunction('void', 'SWMG_SetCameraClip', [
        ScriptParam('float', 'fNear', None), ScriptParam('float', 'fFar', None)], '// 610: SWMG_SetCameraClip\n',
                                                                                    'void SWMG_SetCameraClip(float fNear, float fFar);'),
                   ScriptFunction('object', 'SWMG_GetPlayer', [], '// 611: SWMG_GetPlayer\n',
                                  'object SWMG_GetPlayer();'),
                   ScriptFunction('int', 'SWMG_GetEnemyCount', [], '// 612: SWMG_GetEnemyCount\n',
                                  'int SWMG_GetEnemyCount();'),
                   ScriptFunction('object', 'SWMG_GetEnemy', [ScriptParam('int', 'nEntry', None)],
                                  '// 613: SWMG_GetEnemy\n', 'object SWMG_GetEnemy(int nEntry);'),
                   ScriptFunction('int', 'SWMG_GetObstacleCount', [], '// 614: SWMG_GetObstacleCount\n',
                                  'int SWMG_GetObstacleCount();'),
                   ScriptFunction('object', 'SWMG_GetObstacle', [ScriptParam('int', 'nEntry', None)],
                                  '// 615: SWMG_GetObstacle\n', 'object SWMG_GetObstacle(int nEntry);'),
                   ScriptFunction('int', 'SWMG_GetHitPoints', [ScriptParam('object', 'oFollower', None)],
                                  '// 616: SWMG_GetHitPoints\n', 'int SWMG_GetHitPoints(object oFollower);'),
                   ScriptFunction('int', 'SWMG_GetMaxHitPoints', [ScriptParam('object', 'oFollower', None)],
                                  '// 617: SWMG_GetMaxHitPoints\n', 'int SWMG_GetMaxHitPoints(object oFollower);'),
                   ScriptFunction('void', 'SWMG_SetMaxHitPoints',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nMaxHP', None)],
                                  '// 618: SWMG_SetMaxHitPoints\n',
                                  'void SWMG_SetMaxHitPoints(object oFollower, int nMaxHP);'),
                   ScriptFunction('float', 'SWMG_GetSphereRadius', [ScriptParam('object', 'oFollower', None)],
                                  '// 619: SWMG_GetSphereRadius\n', 'float SWMG_GetSphereRadius(object oFollower);'),
                   ScriptFunction('void', 'SWMG_SetSphereRadius',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('float', 'fRadius', None)],
                                  '// 620: SWMG_SetSphereRadius\n',
                                  'void SWMG_SetSphereRadius(object oFollower, float fRadius);'),
                   ScriptFunction('int', 'SWMG_GetNumLoops', [ScriptParam('object', 'oFollower', None)],
                                  '// 621: SWMG_GetNumLoops\n', 'int SWMG_GetNumLoops(object oFollower);'),
                   ScriptFunction('void', 'SWMG_SetNumLoops',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nNumLoops', None)],
                                  '// 622: SWMG_SetNumLoops\n',
                                  'void SWMG_SetNumLoops(object oFollower, int nNumLoops);'),
                   ScriptFunction('vector', 'SWMG_GetPosition', [ScriptParam('object', 'oFollower', None)],
                                  '// 623: SWMG_GetPosition\n', 'vector SWMG_GetPosition(object oFollower);'),
                   ScriptFunction('int', 'SWMG_GetGunBankCount', [ScriptParam('object', 'oFollower', None)],
                                  '// 624: SWMG_GetGunBankCount\n', 'int SWMG_GetGunBankCount(object oFollower);'),
                   ScriptFunction('string', 'SWMG_GetGunBankBulletModel',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 625: SWMG_GetGunBankBulletModel\n',
                                  'string SWMG_GetGunBankBulletModel(object oFollower, int nGunBank);'),
                   ScriptFunction('string', 'SWMG_GetGunBankGunModel',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 626: SWMG_GetGunBankGunModel\n',
                                  'string SWMG_GetGunBankGunModel(object oFollower, int nGunBank);'),
                   ScriptFunction('int', 'SWMG_GetGunBankDamage',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 627: SWMG_GetGunBankDamage\n',
                                  'int SWMG_GetGunBankDamage(object oFollower, int nGunBank);'),
                   ScriptFunction('float', 'SWMG_GetGunBankTimeBetweenShots',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 628: SWMG_GetGunBankTimeBetweenShots\n',
                                  'float SWMG_GetGunBankTimeBetweenShots(object oFollower, int nGunBank);'),
                   ScriptFunction('float', 'SWMG_GetGunBankLifespan',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 629: SWMG_GetGunBankLifespan\n',
                                  'float SWMG_GetGunBankLifespan(object oFollower, int nGunBank);'),
                   ScriptFunction('float', 'SWMG_GetGunBankSpeed',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 630: SWMG_GetGunBankSpeed\n',
                                  'float SWMG_GetGunBankSpeed(object oFollower, int nGunBank);'),
                   ScriptFunction('int', 'SWMG_GetGunBankTarget',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 631: SWMG_GetGunBankTarget\n',
                                  'int SWMG_GetGunBankTarget(object oFollower, int nGunBank);'),
                   ScriptFunction('void', 'SWMG_SetGunBankBulletModel',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('string', 'sBulletModel', None)], '// 632: SWMG_SetGunBankBulletModel\n',
                                  'void SWMG_SetGunBankBulletModel(object oFollower, int nGunBank, string sBulletModel);'),
                   ScriptFunction('void', 'SWMG_SetGunBankGunModel',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('string', 'sGunModel', None)], '// 633: SWMG_SetGunBankGunModel\n',
                                  'void SWMG_SetGunBankGunModel(object oFollower, int nGunBank, string sGunModel);'),
                   ScriptFunction('void', 'SWMG_SetGunBankDamage',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('int', 'nDamage', None)], '// 634: SWMG_SetGunBankDamage\n',
                                  'void SWMG_SetGunBankDamage(object oFollower, int nGunBank, int nDamage);'),
                   ScriptFunction('void', 'SWMG_SetGunBankTimeBetweenShots',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('float', 'fTBS', None)], '// 635: SWMG_SetGunBankTimeBetweenShots\n',
                                  'void SWMG_SetGunBankTimeBetweenShots(object oFollower, int nGunBank, float fTBS);'),
                   ScriptFunction('void', 'SWMG_SetGunBankLifespan',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('float', 'fLifespan', None)], '// 636: SWMG_SetGunBankLifespan\n',
                                  'void SWMG_SetGunBankLifespan(object oFollower, int nGunBank, float fLifespan);'),
                   ScriptFunction('void', 'SWMG_SetGunBankSpeed',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('float', 'fSpeed', None)], '// 637: SWMG_SetGunBankSpeed\n',
                                  'void SWMG_SetGunBankSpeed(object oFollower, int nGunBank, float fSpeed);'),
                   ScriptFunction('void', 'SWMG_SetGunBankTarget',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('int', 'nTarget', None)], '// 638: SWMG_SetGunBankTarget\n',
                                  'void SWMG_SetGunBankTarget(object oFollower, int nGunBank, int nTarget);'),
                   ScriptFunction('string', 'SWMG_GetLastBulletHitPart', [], '// 639: SWMG_GetLastBulletHitPart\n',
                                  'string SWMG_GetLastBulletHitPart();'),
                   ScriptFunction('int', 'SWMG_IsGunBankTargetting',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 640: SWMG_IsGunBankTargetting\n',
                                  'int SWMG_IsGunBankTargetting(object oFollower, int nGunBank);'),
                   ScriptFunction('vector', 'SWMG_GetPlayerOffset', [],
                                  '// 641: SWMG_GetPlayerOffset\n// returns a vector with the player rotation for rotation minigames\n// returns a vector with the player translation for translation minigames\n',
                                  'vector SWMG_GetPlayerOffset();'),
                   ScriptFunction('float', 'SWMG_GetPlayerInvincibility', [], '// 642: SWMG_GetPlayerInvincibility\n',
                                  'float SWMG_GetPlayerInvincibility();'),
                   ScriptFunction('float', 'SWMG_GetPlayerSpeed', [], '// 643: SWMG_GetPlayerSpeed\n',
                                  'float SWMG_GetPlayerSpeed();'),
                   ScriptFunction('float', 'SWMG_GetPlayerMinSpeed', [], '// 644: SWMG_GetPlayerMinSpeed\n',
                                  'float SWMG_GetPlayerMinSpeed ();'),
                   ScriptFunction('float', 'SWMG_GetPlayerAccelerationPerSecond', [],
                                  '// 645: SWMG_GetPlayerAccelerationPerSecond\n',
                                  'float SWMG_GetPlayerAccelerationPerSecond();'),
                   ScriptFunction('vector', 'SWMG_GetPlayerTunnelPos', [], '// 646: SWMG_GetPlayerTunnelPos\n',
                                  'vector SWMG_GetPlayerTunnelPos();'),
                   ScriptFunction('void', 'SWMG_SetPlayerOffset', [ScriptParam('vector', 'vOffset', None)],
                                  '// 647: SWMG_SetPlayerOffset\n', 'void SWMG_SetPlayerOffset(vector vOffset);'),
                   ScriptFunction('void', 'SWMG_SetPlayerInvincibility', [ScriptParam('float', 'fInvincibility', None)],
                                  '// 648: SWMG_SetPlayerInvincibility\n',
                                  'void SWMG_SetPlayerInvincibility(float fInvincibility);'),
                   ScriptFunction('void', 'SWMG_SetPlayerSpeed', [ScriptParam('float', 'fSpeed', None)],
                                  '// 649: SWMG_SetPlayerSpeed\n', 'void SWMG_SetPlayerSpeed(float fSpeed);'),
                   ScriptFunction('void', 'SWMG_SetPlayerMinSpeed', [ScriptParam('float', 'fMinSpeed', None)],
                                  '// 650: SWMG_SetPlayerMinSpeed\n', 'void SWMG_SetPlayerMinSpeed(float fMinSpeed);'),
                   ScriptFunction('void', 'SWMG_SetPlayerAccelerationPerSecond', [ScriptParam('float', 'fAPS', None)],
                                  '// 651: SWMG_SetPlayerAccelerationPerSecond\n',
                                  'void SWMG_SetPlayerAccelerationPerSecond(float fAPS);'),
                   ScriptFunction('void', 'SWMG_SetPlayerTunnelPos', [ScriptParam('vector', 'vTunnel', None)],
                                  '// 652: SWMG_SetPlayerTunnelPos\n', 'void SWMG_SetPlayerTunnelPos(vector vTunnel);'),
                   ScriptFunction('vector', 'SWMG_GetPlayerTunnelNeg', [], '// 653: SWMG_GetPlayerTunnelNeg\n',
                                  'vector SWMG_GetPlayerTunnelNeg();'),
                   ScriptFunction('void', 'SWMG_SetPlayerTunnelNeg', [ScriptParam('vector', 'vTunnel', None)],
                                  '// 654: SWMG_SetPlayerTunnelNeg\n', 'void SWMG_SetPlayerTunnelNeg(vector vTunnel);'),
                   ScriptFunction('vector', 'SWMG_GetPlayerOrigin', [], '// 655: SWMG_GetPlayerOrigin\n',
                                  'vector SWMG_GetPlayerOrigin();'),
                   ScriptFunction('void', 'SWMG_SetPlayerOrigin', [ScriptParam('vector', 'vOrigin', None)],
                                  '// 656: SWMG_SetPlayerOrigin\n', 'void SWMG_SetPlayerOrigin(vector vOrigin);'),
                   ScriptFunction('float', 'SWMG_GetGunBankHorizontalSpread',
                                  [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 657: SWMG_GetGunBankHorizontalSpread\n',
                                  'float SWMG_GetGunBankHorizontalSpread(object oEnemy, int nGunBank);'),
                   ScriptFunction('float', 'SWMG_GetGunBankVerticalSpread',
                                  [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 658: SWMG_GetGunBankVerticalSpread\n',
                                  'float SWMG_GetGunBankVerticalSpread(object oEnemy, int nGunBank);'),
                   ScriptFunction('float', 'SWMG_GetGunBankSensingRadius',
                                  [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 659: SWMG_GetGunBankSensingRadius\n',
                                  'float SWMG_GetGunBankSensingRadius(object oEnemy, int nGunBank);'),
                   ScriptFunction('float', 'SWMG_GetGunBankInaccuracy',
                                  [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None)],
                                  '// 660: SWMG_GetGunBankInaccuracy\n',
                                  'float SWMG_GetGunBankInaccuracy(object oEnemy, int nGunBank);'),
                   ScriptFunction('void', 'SWMG_SetGunBankHorizontalSpread',
                                  [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('float', 'fHorizontalSpread', None)],
                                  '// 661: SWMG_SetGunBankHorizontalSpread\n',
                                  'void SWMG_SetGunBankHorizontalSpread(object oEnemy, int nGunBank, float fHorizontalSpread);'),
                   ScriptFunction('void', 'SWMG_SetGunBankVerticalSpread',
                                  [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('float', 'fVerticalSpread', None)],
                                  '// 662: SWMG_SetGunBankVerticalSpread\n',
                                  'void SWMG_SetGunBankVerticalSpread(object oEnemy, int nGunBank, float fVerticalSpread);'),
                   ScriptFunction('void', 'SWMG_SetGunBankSensingRadius',
                                  [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('float', 'fSensingRadius', None)],
                                  '// 663: SWMG_SetGunBankSensingRadius\n',
                                  'void SWMG_SetGunBankSensingRadius(object oEnemy, int nGunBank, float fSensingRadius);'),
                   ScriptFunction('void', 'SWMG_SetGunBankInaccuracy',
                                  [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None),
                                   ScriptParam('float', 'fInaccuracy', None)], '// 664: SWMG_SetGunBankInaccuracy\n',
                                  'void SWMG_SetGunBankInaccuracy(object oEnemy, int nGunBank, float fInaccuracy);'),
                   ScriptFunction('int', 'SWMG_GetIsInvulnerable', [ScriptParam('object', 'oFollower', None)],
                                  '// 665: GetIsInvulnerable\n// This returns whether the follower object is currently invulnerable to damage\n',
                                  'int SWMG_GetIsInvulnerable( object oFollower );'),
                   ScriptFunction('void', 'SWMG_StartInvulnerability', [ScriptParam('object', 'oFollower', None)],
                                  '// 666: StartInvulnerability\n// This will begin a period of invulnerability (as defined by Invincibility)\n',
                                  'void SWMG_StartInvulnerability( object oFollower );'),
                   ScriptFunction('float', 'SWMG_GetPlayerMaxSpeed', [],
                                  "// 667: GetPlayerMaxSpeed\n// This returns the player character's max speed\n",
                                  'float SWMG_GetPlayerMaxSpeed();'),
                   ScriptFunction('void', 'SWMG_SetPlayerMaxSpeed', [ScriptParam('float', 'fMaxSpeed', None)],
                                  "// 668: SetPlayerMaxSpeed\n// This sets the player character's max speed\n",
                                  'void SWMG_SetPlayerMaxSpeed( float fMaxSpeed );'),
                   ScriptFunction('void', 'AddJournalWorldEntry',
                                  [ScriptParam('int', 'nIndex', None), ScriptParam('string', 'szEntry', None),
                                   ScriptParam('string', 'szTitle', '"World Entry"')],
                                  '// 669: AddJournalWorldEntry\n// Adds a user entered entry to the world notices\n',
                                  'void AddJournalWorldEntry( int nIndex, string szEntry, string szTitle = "World Entry" );'),
                   ScriptFunction('void', 'AddJournalWorldEntryStrref',
                                  [ScriptParam('int', 'strref', None), ScriptParam('int', 'strrefTitle', None)],
                                  '// 670: AddJournalWorldEntryStrref\n// Adds an entry to the world notices using stringrefs\n',
                                  'void AddJournalWorldEntryStrref ( int strref, int strrefTitle );'),
                   ScriptFunction('void', 'BarkString',
                                  [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'strRef', None)],
                                  '// 671: BarkString\n// this will cause a creature to bark the strRef from the talk table\n// If creature is specefied as OBJECT_INVALID a general bark is made.\n',
                                  'void BarkString(object oCreature,int strRef);'),
                   ScriptFunction('void', 'DeleteJournalWorldAllEntries', [],
                                  "// 672: DeleteJournalWorldAllEntries\n// Nuke's 'em all, user entered or otherwise.\n",
                                  'void DeleteJournalWorldAllEntries();'),
                   ScriptFunction('void', 'DeleteJournalWorldEntry', [ScriptParam('int', 'nIndex', None)],
                                  '// 673: DeleteJournalWorldEntry\n// Deletes a user entered world notice\n',
                                  'void DeleteJournalWorldEntry( int nIndex );'),
                   ScriptFunction('void', 'DeleteJournalWorldEntryStrref', [ScriptParam('int', 'strref', None)],
                                  '// 674: DeleteJournalWorldEntryStrref\n// Deletes the world notice pertaining to the string ref\n',
                                  'void DeleteJournalWorldEntryStrref( int strref );'),
                   ScriptFunction('effect', 'EffectForceDrain', [ScriptParam('int', 'nDamage', None)],
                                  '// 675: EffectForceDrain\n// This command will reduce the force points of a creature.\n',
                                  'effect EffectForceDrain( int nDamage );'),
                   ScriptFunction('effect', 'EffectPsychicStatic', [], '// 676: EffectTemporaryForcePoints\n//\n',
                                  'effect EffectPsychicStatic();'), ScriptFunction('void', 'PlayVisualAreaEffect', [
        ScriptParam('int', 'nEffectID', None), ScriptParam('location', 'lTarget', None)],
                                                                                   '// 677: PlayVisualAreaEffect\n',
                                                                                   'void PlayVisualAreaEffect(int nEffectID, location lTarget);'),
                   ScriptFunction('void', 'SetJournalQuestEntryPicture',
                                  [ScriptParam('string', 'szPlotID', None), ScriptParam('object', 'oObject', None),
                                   ScriptParam('int', 'nPictureIndex', None),
                                   ScriptParam('int', 'bAllPartyMemebers', 'TRUE'),
                                   ScriptParam('int', 'bAllPlayers', 'FALSE')],
                                  '// 678: SetJournalQuestEntryPicture\n// Sets the picture for the quest entry on this object (creature)\n',
                                  'void SetJournalQuestEntryPicture(string szPlotID, object oObject, int nPictureIndex, int bAllPartyMemebers=TRUE, int bAllPlayers=FALSE);'),
                   ScriptFunction('int', 'GetLocalBoolean',
                                  [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nIndex', None)],
                                  '// 679. GetLocalBoolean\n// This gets a boolean flag on an object\n// currently the index is a range between 0 and 63\n',
                                  'int GetLocalBoolean( object oObject, int nIndex );'),
                   ScriptFunction('void', 'SetLocalBoolean',
                                  [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nIndex', None),
                                   ScriptParam('int', 'nValue', None)],
                                  '// 680. SetLocalBoolean\n// This sets a boolean flag on an object\n// currently the index is a range between 0 and 63\n',
                                  'void SetLocalBoolean( object oObject, int nIndex, int nValue );'),
                   ScriptFunction('int', 'GetLocalNumber',
                                  [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nIndex', None)],
                                  '// 681. GetLocalNumber\n// This gets a number on an object\n// currently the index is a range between 0 and 0\n',
                                  'int GetLocalNumber( object oObject, int nIndex );'),
                   ScriptFunction('void', 'SetLocalNumber',
                                  [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nIndex', None),
                                   ScriptParam('int', 'nValue', None)],
                                  '// 682. SetLocalNumber\n// This sets a number on an object\n// currently the index is a range between 0 and 0\n',
                                  'void SetLocalNumber( object oObject, int nIndex, int nValue );'),
                   ScriptFunction('int', 'SWMG_GetSoundFrequency',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None)],
                                  '// 683. SWMG_GetSoundFrequency\n// Gets the frequency of a trackfollower sound\n',
                                  'int SWMG_GetSoundFrequency( object oFollower, int nSound );'),
                   ScriptFunction('void', 'SWMG_SetSoundFrequency',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None),
                                   ScriptParam('int', 'nFrequency', None)],
                                  '// 684. SWMG_SetSoundFrequency\n// Sets the frequency of a trackfollower sound\n',
                                  'void SWMG_SetSoundFrequency( object oFollower, int nSound, int nFrequency );'),
                   ScriptFunction('int', 'SWMG_GetSoundFrequencyIsRandom',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None)],
                                  '// 685. SWMG_GetSoundFrequencyIsRandom\n// Gets whether the frequency of a trackfollower sound is using the random model\n',
                                  'int SWMG_GetSoundFrequencyIsRandom( object oFollower, int nSound );'),
                   ScriptFunction('void', 'SWMG_SetSoundFrequencyIsRandom',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None),
                                   ScriptParam('int', 'bIsRandom', None)],
                                  '// 686. SWMG_SetSoundFrequencyIsRandom\n// Sets whether the frequency of a trackfollower sound is using the random model\n',
                                  'void SWMG_SetSoundFrequencyIsRandom( object oFollower, int nSound, int bIsRandom );'),
                   ScriptFunction('int', 'SWMG_GetSoundVolume',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None)],
                                  '// 687. SWMG_GetSoundVolume\n// Gets the volume of a trackfollower sound\n',
                                  'int SWMG_GetSoundVolume( object oFollower, int nSound );'),
                   ScriptFunction('void', 'SWMG_SetSoundVolume',
                                  [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None),
                                   ScriptParam('int', 'nVolume', None)],
                                  '// 688. SWMG_SetSoundVolume\n// Sets the volume of a trackfollower sound\n',
                                  'void SWMG_SetSoundVolume( object oFollower, int nSound, int nVolume );'),
                   ScriptFunction('float', 'SoundObjectGetPitchVariance', [ScriptParam('object', 'oSound', None)],
                                  '// 689. SoundObjectGetPitchVariance\n// Gets the pitch variance of a placeable sound object\n',
                                  'float SoundObjectGetPitchVariance( object oSound );'),
                   ScriptFunction('void', 'SoundObjectSetPitchVariance',
                                  [ScriptParam('object', 'oSound', None), ScriptParam('float', 'fVariance', None)],
                                  '// 690. SoundObjectSetPitchVariance\n// Sets the pitch variance of a placeable sound object\n',
                                  'void SoundObjectSetPitchVariance( object oSound, float fVariance );'),
                   ScriptFunction('int', 'SoundObjectGetVolume', [ScriptParam('object', 'oSound', None)],
                                  '// 691. SoundObjectGetVolume\n// Gets the volume of a placeable sound object\n',
                                  'int SoundObjectGetVolume( object oSound );'),
                   ScriptFunction('location', 'GetGlobalLocation', [ScriptParam('string', 'sIdentifier', None)],
                                  '// 692: GetGlobalLocation\n// This function returns the a global location scripting variable.\n',
                                  'location GetGlobalLocation( string sIdentifier );'),
                   ScriptFunction('void', 'SetGlobalLocation',
                                  [ScriptParam('string', 'sIdentifier', None), ScriptParam('location', 'lValue', None)],
                                  '// 693: SetGlobalLocation\n// This function sets the a global location scripting variable.\n',
                                  'void SetGlobalLocation( string sIdentifier, location lValue );'),
                   ScriptFunction('int', 'AddAvailableNPCByObject',
                                  [ScriptParam('int', 'nNPC', None), ScriptParam('object', 'oCreature', None)],
                                  '// 694. AddAvailableNPCByObject\n// This adds a NPC to the list of available party members using\n// a game object as the template\n// Returns if true if successful, false if the NPC had already\n// been added or the object specified is invalid\n',
                                  'int AddAvailableNPCByObject( int nNPC, object oCreature );'),
                   ScriptFunction('int', 'RemoveAvailableNPC', [ScriptParam('int', 'nNPC', None)],
                                  '// 695. RemoveAvailableNPC\n// This removes a NPC from the list of available party members\n// Returns whether it was successful or not\n',
                                  'int RemoveAvailableNPC( int nNPC );'),
                   ScriptFunction('int', 'IsAvailableCreature', [ScriptParam('int', 'nNPC', None)],
                                  '// 696. IsAvailableNPC\n// This returns whether a NPC is in the list of available party members\n',
                                  'int IsAvailableCreature( int nNPC );'),
                   ScriptFunction('int', 'AddAvailableNPCByTemplate',
                                  [ScriptParam('int', 'nNPC', None), ScriptParam('string', 'sTemplate', None)],
                                  '// 697. AddAvailableNPCByTemplate\n// This adds a NPC to the list of available party members using\n// a template\n// Returns if true if successful, false if the NPC had already\n// been added or the template specified is invalid\n',
                                  'int AddAvailableNPCByTemplate( int nNPC, string sTemplate );'),
                   ScriptFunction('object', 'SpawnAvailableNPC',
                                  [ScriptParam('int', 'nNPC', None), ScriptParam('location', 'lPosition', None)],
                                  '// 698. SpawnAvailableNPC\n// This spawns a NPC from the list of available creatures\n// Returns a pointer to the creature object\n',
                                  'object SpawnAvailableNPC( int nNPC, location lPosition );'),
                   ScriptFunction('int', 'IsNPCPartyMember', [ScriptParam('int', 'nNPC', None)],
                                  '// 699. IsNPCPartyMember\n// Returns if a given NPC constant is in the party currently\n',
                                  'int IsNPCPartyMember( int nNPC );'),
                   ScriptFunction('void', 'ActionBarkString', [ScriptParam('int', 'strRef', None)],
                                  '// 700. ActionBarkString\n// this will cause a creature to bark the strRef from the talk table.\n',
                                  'void ActionBarkString(int strRef);'),
                   ScriptFunction('int', 'GetIsConversationActive', [],
                                  '// 701. GetIsConversationActive\n// Checks to see if any conversations are currently taking place\n',
                                  'int GetIsConversationActive();'), ScriptFunction('effect', 'EffectLightsaberThrow', [
        ScriptParam('object', 'oTarget1', None), ScriptParam('object', 'oTarget2', 'OBJECT_INVALID'),
        ScriptParam('object', 'oTarget3', 'OBJECT_INVALID'), ScriptParam('int', 'nAdvancedDamage', '0')],
                                                                                    '// 702. EffectLightsaberThrow\n// This function throws a lightsaber at a target\n// If multiple targets are specified, then the lightsaber travels to them\n// sequentially, returning to the first object specified\n// This effect is applied to an object, so an effector is not needed\n',
                                                                                    'effect EffectLightsaberThrow(object oTarget1, object oTarget2 = OBJECT_INVALID, object oTarget3 = OBJECT_INVALID, int nAdvancedDamage = 0);'),
                   ScriptFunction('effect', 'EffectWhirlWind', [], '// 703.\n// creates the effect of a whirl wind.\n',
                                  'effect EffectWhirlWind();'),
                   ScriptFunction('int', 'GetPartyAIStyle', [], '// 704.\n// Returns the party ai style\n',
                                  'int GetPartyAIStyle();'),
                   ScriptFunction('int', 'GetNPCAIStyle', [ScriptParam('object', 'oCreature', None)],
                                  '// 705.\n// Returns the party members ai style\n',
                                  'int GetNPCAIStyle(object oCreature);'),
                   ScriptFunction('void', 'SetPartyAIStyle', [ScriptParam('int', 'nStyle', None)],
                                  '// 706.\n// Sets the party ai style\n', 'void SetPartyAIStyle(int nStyle);'),
                   ScriptFunction('void', 'SetNPCAIStyle',
                                  [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nStyle', None)],
                                  '// 707.\n// Sets the party members ai style\n',
                                  'void SetNPCAIStyle(object oCreature, int nStyle);'),
                   ScriptFunction('void', 'SetNPCSelectability',
                                  [ScriptParam('int', 'nNPC', None), ScriptParam('int', 'nSelectability', None)],
                                  '// 708: SetNPCSelectability\n',
                                  'void SetNPCSelectability(int nNPC, int nSelectability);'),
                   ScriptFunction('int', 'GetNPCSelectability', [ScriptParam('int', 'nNPC', None)],
                                  '// 709: GetNPCSelectability\n', 'int GetNPCSelectability(int nNPC);'),
                   ScriptFunction('void', 'ClearAllEffects', [],
                                  '// 710: Clear all the effects of the caller.\n// * No return value, but if an error occurs, the log file will contain\n//   "ClearAllEffects failed.".\n',
                                  'void ClearAllEffects();'), ScriptFunction('string', 'GetLastConversation', [],
                                                                             '// 711: GetLastConversation\n// Gets the last conversation string.\n',
                                                                             'string GetLastConversation();'),
                   ScriptFunction('void', 'ShowPartySelectionGUI',
                                  [ScriptParam('string', 'sExitScript', '""'), ScriptParam('int', 'nForceNPC1', '-1'),
                                   ScriptParam('int', 'nForceNPC2', '-1')],
                                  '//\n// 712: ShowPartySelectionGUI\n// Brings up the party selection GUI for the player to\n// select the members of the party from\n// if exit script is specified, will be executed when\n// the GUI is exited\n',
                                  'void ShowPartySelectionGUI(string sExitScript = "", int nForceNPC1 = -1, int nForceNPC2 = -1);'),
                   ScriptFunction('int', 'GetStandardFaction', [ScriptParam('object', 'oObject', None)],
                                  '// 713: GetStandardFaction\n// Find out which standard faction oObject belongs to.\n// * Returns INVALID_STANDARD_FACTION if oObject does not belong to\n//   a Standard Faction, or an error has occurred.\n',
                                  'int GetStandardFaction(object oObject);'), ScriptFunction('void', 'GivePlotXP', [
        ScriptParam('string', 'sPlotName', None), ScriptParam('int', 'nPercentage', None)],
                                                                                             '// 714: GivePlotXP\n// Give nPercentage% of the experience associated with plot sPlotName\n// to the party\n// - sPlotName\n// - nPercentage\n',
                                                                                             'void GivePlotXP(string sPlotName, int nPercentage);'),
                   ScriptFunction('int', 'GetMinOneHP', [ScriptParam('object', 'oObject', None)],
                                  '// 715. GetMinOneHP\n// Checks to see if oObject has the MinOneHP Flag set on them.\n',
                                  'int GetMinOneHP(object oObject);'), ScriptFunction('void', 'SetMinOneHP', [
        ScriptParam('object', 'oObject', None), ScriptParam('int', 'nMinOneHP', None)],
                                                                                      '// 716. SetMinOneHP\n// Sets/Removes the MinOneHP Flag on oObject.\n',
                                                                                      'void SetMinOneHP(object oObject,int nMinOneHP);'),
                   ScriptFunction('vector', 'SWMG_GetPlayerTunnelInfinite', [],
                                  '// 717. SWMG_GetPlayerTunnelInfinite\n// Gets whether each of the dimensions is infinite\n',
                                  'vector SWMG_GetPlayerTunnelInfinite();'),
                   ScriptFunction('void', 'SWMG_SetPlayerTunnelInfinite', [ScriptParam('vector', 'vInfinite', None)],
                                  '// 718. SWMG_SetPlayerTunnelInfinite\n// Sets whether each of the dimensions is infinite\n',
                                  'void SWMG_SetPlayerTunnelInfinite(vector vInfinite);'),
                   ScriptFunction('void', 'SetGlobalFadeIn',
                                  [ScriptParam('float', 'fWait', '0.0f'), ScriptParam('float', 'fLength', '0.0f'),
                                   ScriptParam('float', 'fR', '0.0f'), ScriptParam('float', 'fG', '0.0f'),
                                   ScriptParam('float', 'fB', '0.0f')],
                                  '// 719. SetGlobalFadeIn\n// Sets a Fade In that starts after fWait seconds and fades for fLength Seconds.\n// The Fade will be from a color specified by the RGB values fR, fG, and fB.\n// Note that fR, fG, and fB are normalized values.\n// The default values are an immediate cut in from black.\n',
                                  'void SetGlobalFadeIn(float fWait = 0.0f, float fLength = 0.0f, float fR=0.0f, float fG=0.0f, float fB=0.0f);'),
                   ScriptFunction('void', 'SetGlobalFadeOut',
                                  [ScriptParam('float', 'fWait', '0.0f'), ScriptParam('float', 'fLength', '0.0f'),
                                   ScriptParam('float', 'fR', '0.0f'), ScriptParam('float', 'fG', '0.0f'),
                                   ScriptParam('float', 'fB', '0.0f')],
                                  '// 720. SetGlobalFadeOut\n// Sets a Fade Out that starts after fWait seconds and fades for fLength Seconds.\n// The Fade will be to a color specified by the RGB values fR, fG, and fB.\n// Note that fR, fG, and fB are normalized values.\n// The default values are an immediate cut to from black.\n',
                                  'void SetGlobalFadeOut(float fWait = 0.0f, float fLength = 0.0f, float fR=0.0f, float fG=0.0f, float fB=0.0f);'),
                   ScriptFunction('object', 'GetLastHostileTarget', [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                  '// 721. GetLastAttackTarget\n// Returns the last attack target for a given object\n',
                                  'object GetLastHostileTarget(object oAttacker = OBJECT_SELF);'),
                   ScriptFunction('int', 'GetLastAttackAction', [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                  '// 722. GetLastAttackAction\n// Returns the last attack action for a given object\n',
                                  'int GetLastAttackAction(object oAttacker = OBJECT_SELF);'),
                   ScriptFunction('int', 'GetLastForcePowerUsed', [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                  '// 723. GetLastForcePowerUsed\n// Returns the last force power used (as a spell number that indexes the Spells.2da) by the given object\n',
                                  'int GetLastForcePowerUsed(object oAttacker = OBJECT_SELF);'),
                   ScriptFunction('int', 'GetLastCombatFeatUsed', [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                  '// 724. GetLastCombatFeatUsed\n// Returns the last feat used (as a feat number that indexes the Feats.2da) by the given object\n',
                                  'int GetLastCombatFeatUsed(object oAttacker = OBJECT_SELF);'),
                   ScriptFunction('int', 'GetLastAttackResult', [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                  '// 725. GetLastAttackResult\n// Returns the result of the last attack\n',
                                  'int GetLastAttackResult(object oAttacker = OBJECT_SELF);'),
                   ScriptFunction('int', 'GetWasForcePowerSuccessful',
                                  [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                  '// 726. GetWasForcePowerSuccessful\n// Returns whether the last force power used was successful or not\n',
                                  'int GetWasForcePowerSuccessful(object oAttacker = OBJECT_SELF);'),
                   ScriptFunction('object', 'GetFirstAttacker', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 727. GetFirstAttacker\n// Returns the first object in the area that is attacking oCreature\n',
                                  'object GetFirstAttacker(object oCreature = OBJECT_SELF);'),
                   ScriptFunction('object', 'GetNextAttacker', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 728. GetNextAttacker\n// Returns the next object in the area that is attacking oCreature\n',
                                  'object GetNextAttacker(object oCreature = OBJECT_SELF);'),
                   ScriptFunction('void', 'SetFormation',
                                  [ScriptParam('object', 'oAnchor', None), ScriptParam('object', 'oCreature', None),
                                   ScriptParam('int', 'nFormationPattern', None),
                                   ScriptParam('int', 'nPosition', None)],
                                  '// 729. SetFormation\n// Put oCreature into the nFormationPattern about oAnchor at position nPosition\n// - oAnchor: The formation is set relative to this object\n// - oCreature: This is the creature that you wish to join the formation\n// - nFormationPattern: FORMATION_*\n// - nPosition: Integer from 1 to 10 to specify which position in the formation\n//   oCreature is supposed to take.\n',
                                  'void SetFormation(object oAnchor, object oCreature, int nFormationPattern, int nPosition);'),
                   ScriptFunction('void', 'ActionFollowLeader', [],
                                  '// 730. ActionFollowLeader\n// this action has a party member follow the leader.\n// DO NOT USE ON A CREATURE THAT IS NOT IN THE PARTY!!\n',
                                  'void ActionFollowLeader();'), ScriptFunction('void', 'SetForcePowerUnsuccessful',
                                                                                [ScriptParam('int', 'nResult', None),
                                                                                 ScriptParam('object', 'oCreature',
                                                                                             'OBJECT_SELF')],
                                                                                '// 731. SetForcePowerUnsuccessful\n// Sets the reason (through a constant) for why a force power failed\n',
                                                                                'void SetForcePowerUnsuccessful(int nResult, object oCreature = OBJECT_SELF);'),
                   ScriptFunction('int', 'GetIsDebilitated', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 732. GetIsDebilitated\n// Returns whether the given object is debilitated or not\n',
                                  'int GetIsDebilitated(object oCreature = OBJECT_SELF);'),
                   ScriptFunction('void', 'PlayMovie', [ScriptParam('string', 'sMovie', None)],
                                  '// 733. PlayMovie\n// Playes a Movie.\n', 'void PlayMovie( string sMovie );'),
                   ScriptFunction('void', 'SaveNPCState', [ScriptParam('int', 'nNPC', None)],
                                  '// 734. SaveNPCState\n// Tells the party table to save the state of a party member NPC\n',
                                  'void SaveNPCState( int nNPC );'),
                   ScriptFunction('int', 'GetCategoryFromTalent', [ScriptParam('talent', 'tTalent', None)],
                                  '// 735: Get the Category of tTalent.\n',
                                  'int GetCategoryFromTalent(talent tTalent);'),
                   ScriptFunction('void', 'SurrenderByFaction',
                                  [ScriptParam('int', 'nFactionFrom', None), ScriptParam('int', 'nFactionTo', None)],
                                  '// 736: This affects all creatures in the area that are in faction nFactionFrom...\n// - Makes them join nFactionTo\n// - Clears all actions\n// - Disables combat mode\n',
                                  'void SurrenderByFaction(int nFactionFrom, int nFactionTo);'),
                   ScriptFunction('void', 'ChangeFactionByFaction',
                                  [ScriptParam('int', 'nFactionFrom', None), ScriptParam('int', 'nFactionTo', None)],
                                  '// 737: This affects all creatures in the area that are in faction nFactionFrom.\n// making them change to nFactionTo\n',
                                  'void ChangeFactionByFaction(int nFactionFrom, int nFactionTo);'),
                   ScriptFunction('void', 'PlayRoomAnimation',
                                  [ScriptParam('string', 'sRoom', None), ScriptParam('int', 'nAnimation', None)],
                                  '// 738: PlayRoomAnimation\n// Plays a looping animation on a room\n',
                                  'void PlayRoomAnimation(string sRoom, int nAnimation);'),
                   ScriptFunction('void', 'ShowGalaxyMap', [ScriptParam('int', 'nPlanet', None)],
                                  "// 739: ShowGalaxyMap\n// Brings up the Galaxy Map Gui, with 'nPlanet' selected.  'nPlanet' can only be a planet\n// that has already been set available and selectable.\n",
                                  'void ShowGalaxyMap(int nPlanet);'), ScriptFunction('void', 'SetPlanetSelectable', [
        ScriptParam('int', 'nPlanet', None), ScriptParam('int', 'bSelectable', None)],
                                                                                      "// 740: SetPlanetSelectable\n// Sets 'nPlanet' selectable on the Galaxy Map Gui.\n",
                                                                                      'void SetPlanetSelectable(int nPlanet, int bSelectable);'),
                   ScriptFunction('int', 'GetPlanetSelectable', [ScriptParam('int', 'nPlanet', None)],
                                  "// 741: GetPlanetSelectable\n// Returns wheter or not 'nPlanet' is selectable.\n",
                                  'int GetPlanetSelectable(int nPlanet);'), ScriptFunction('void', 'SetPlanetAvailable',
                                                                                           [ScriptParam('int',
                                                                                                        'nPlanet',
                                                                                                        None),
                                                                                            ScriptParam('int',
                                                                                                        'bAvailable',
                                                                                                        None)],
                                                                                           "// 742: SetPlanetAvailable\n// Sets 'nPlanet' available on the Galaxy Map Gui.\n",
                                                                                           'void SetPlanetAvailable(int nPlanet, int bAvailable);'),
                   ScriptFunction('int', 'GetPlanetAvailable', [ScriptParam('int', 'nPlanet', None)],
                                  "// 743: GetPlanetAvailable\n// Returns wheter or not 'nPlanet' is available.\n",
                                  'int GetPlanetAvailable(int nPlanet);'),
                   ScriptFunction('int', 'GetSelectedPlanet', [],
                                  '// 744: GetSelectedPlanet\n// Returns the ID of the currently selected planet.  Check Planetary.2da\n// for which planet the return value corresponds to. If the return is -1\n// no planet is selected.\n',
                                  'int GetSelectedPlanet();'), ScriptFunction('void', 'SoundObjectFadeAndStop',
                                                                              [ScriptParam('object', 'oSound', None),
                                                                               ScriptParam('float', 'fSeconds', None)],
                                                                              "// 745: SoundObjectFadeAndStop\n// Fades a sound object for 'fSeconds' and then stops it.\n",
                                                                              'void SoundObjectFadeAndStop(object oSound,float fSeconds);'),
                   ScriptFunction('void', 'SetAreaFogColor',
                                  [ScriptParam('object', 'oArea', None), ScriptParam('float', 'fRed', None),
                                   ScriptParam('float', 'fGreen', None), ScriptParam('float', 'fBlue', None)],
                                  '// 746: SetAreaFogColor\n// Set the fog color for the area oArea.\n',
                                  'void SetAreaFogColor( object oArea, float fRed, float fGreen, float fBlue );'),
                   ScriptFunction('void', 'ChangeItemCost',
                                  [ScriptParam('string', 'sItem', None), ScriptParam('float', 'fCostMultiplier', None)],
                                  '// 747: ChangeItemCost\n// Change the cost of an item\n',
                                  'void ChangeItemCost( string sItem, float fCostMultiplier );'),
                   ScriptFunction('int', 'GetIsLiveContentAvailable', [ScriptParam('int', 'nPkg', None)],
                                  '// 748: GetIsLiveContentAvailable\n// Determines whether a given live content package is available\n// nPkg = LIVE_CONTENT_PKG1, LIVE_CONTENT_PKG2, ..., LIVE_CONTENT_PKG6\n',
                                  'int GetIsLiveContentAvailable(int nPkg);'),
                   ScriptFunction('void', 'ResetDialogState', [],
                                  '// 749: ResetDialogState\n// Resets the GlobalDialogState for the engine.\n// NOTE: NEVER USE THIS UNLESS YOU KNOW WHAT ITS FOR!\n//       only to be used for a failing OnDialog script\n',
                                  'void ResetDialogState();'), ScriptFunction('void', 'SetGoodEvilValue',
                                                                              [ScriptParam('object', 'oCreature', None),
                                                                               ScriptParam('int', 'nAlignment', None)],
                                                                              "// 750: SetAlignmentGoodEvil\n// Set oCreature's alignment value\n",
                                                                              'void SetGoodEvilValue( object oCreature, int nAlignment );'),
                   ScriptFunction('int', 'GetIsPoisoned', [ScriptParam('object', 'oObject', None)],
                                  '// 751: GetIsPoisoned\n// Returns TRUE if the object specified is poisoned.\n',
                                  'int GetIsPoisoned( object oObject );'),
                   ScriptFunction('object', 'GetSpellTarget', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                  '// 752: GetSpellTarget\n// Returns the object id of the spell target\n',
                                  'object GetSpellTarget(object oCreature=OBJECT_SELF);'),
                   ScriptFunction('void', 'SetSoloMode', [ScriptParam('int', 'bActivate', None)],
                                  "// 753: SetSoloMode\n// Activates/Deactivates solo mode for the player's party.\n",
                                  'void SetSoloMode( int bActivate );'),
                   ScriptFunction('effect', 'EffectCutSceneHorrified', [],
                                  '// 754: EffectCutSceneHorrified\n// Get a horrified effect for cutscene purposes (ie. this effect will ignore immunities).\n',
                                  'effect EffectCutSceneHorrified();'),
                   ScriptFunction('effect', 'EffectCutSceneParalyze', [],
                                  '// 755: EffectCutSceneParalyze\n// Get a paralyze effect for cutscene purposes (ie. this effect will ignore immunities).\n',
                                  'effect EffectCutSceneParalyze();'),
                   ScriptFunction('effect', 'EffectCutSceneStunned', [],
                                  '// 756: EffectCutSceneStunned\n// Get a stun effect for cutscene purposes (ie. this effect will ignore immunities).\n',
                                  'effect EffectCutSceneStunned();'),
                   ScriptFunction('void', 'CancelPostDialogCharacterSwitch', [],
                                  '// 757: CancelPostDialogCharacterSwitch()\n// If a dialog has been started by an NPC on a Non PartyMemeberCanInteract object\n// calling this function will cancel the Post Dialog switching back to the NPC\n// that did the initiating.\n',
                                  'void CancelPostDialogCharacterSwitch();'), ScriptFunction('void', 'SetMaxHitPoints',
                                                                                             [ScriptParam('object',
                                                                                                          'oObject',
                                                                                                          None),
                                                                                              ScriptParam('int',
                                                                                                          'nMaxHP',
                                                                                                          None)],
                                                                                             '// 758: SetMaxHitPoints\n// Set the maximum hitpoints of oObject\n// The objects maximum AND current hitpoints will be nMaxHP after the function is called\n',
                                                                                             'void SetMaxHitPoints(object oObject, int nMaxHP);'),
                   ScriptFunction('void', 'NoClicksFor', [ScriptParam('float', 'fDuration', None)],
                                  "// 759: NoClicksFor()\n// This command will not allow clicking on anything for 'fDuration' seconds\n",
                                  'void NoClicksFor(float fDuration);'),
                   ScriptFunction('void', 'HoldWorldFadeInForDialog', [],
                                  '// 760: HoldWorldFadeInForDialog()\n// This will hold the fade in at the begining of a module until a dialog starts\n',
                                  'void HoldWorldFadeInForDialog();'), ScriptFunction('int', 'ShipBuild', [],
                                                                                      '// 761: ShipBuild()\n// This will return if this is a shipping build. this should be used to disable all debug output.\n',
                                                                                      'int ShipBuild();'),
                   ScriptFunction('void', 'SurrenderRetainBuffs', [],
                                  '// 762: SurrenderRetainBuffs()\n// This will do the same as SurrenderToEnemies, except that affected creatures will not\n// lose effects which they have put on themselves\n',
                                  'void SurrenderRetainBuffs();'),
                   ScriptFunction('void', 'SuppressStatusSummaryEntry', [ScriptParam('int', 'nNumEntries', '1')],
                                  '// 763. SuppressStatusSummaryEntry\n// This will prevent the next n entries that should have shown up in the status summary\n// from being added\n// This will not add on to any existing summary suppressions, but rather replace it.  So\n// to clear the supression system pass 0 as the entry value\n',
                                  'void SuppressStatusSummaryEntry(int nNumEntries = 1);'),
                   ScriptFunction('int', 'GetCheatCode', [ScriptParam('int', 'nCode', None)],
                                  '// 764. GetCheatCode\n// Returns true if cheat code has been enabled\n',
                                  'int GetCheatCode(int nCode);'),
                   ScriptFunction('void', 'SetMusicVolume', [ScriptParam('float', 'fVolume', '1.0f')],
                                  '// 765. SetMusicVolume\n// NEVER USE THIS!\n',
                                  'void SetMusicVolume(float fVolume = 1.0f);'),
                   ScriptFunction('object', 'CreateItemOnFloor',
                                  [ScriptParam('string', 'sTemplate', None), ScriptParam('location', 'lLocation', None),
                                   ScriptParam('int', 'bUseAppearAnimation', 'FALSE')],
                                  '// 766. CreateItemOnFloor\n// Should only be used for items that have been created on the ground, and will\n// be destroyed without ever being picked up or equipped.  Returns true if successful\n',
                                  'object CreateItemOnFloor(string sTemplate, location lLocation, int bUseAppearAnimation=FALSE);'),
                   ScriptFunction('void', 'SetAvailableNPCId',
                                  [ScriptParam('INT', 'nNPC', None), ScriptParam('OBJECT_ID', 'oidNPC', None)],
                                  '// 767. SetAvailableNPCId\n// This will set the object id that should be used for a specific available NPC\n',
                                  'void SetAvailableNPCId(INT nNPC, OBJECT_ID oidNPC);'),
                   ScriptFunction('int', 'IsMoviePlaying', [],
                                  '// 768. IsMoviePlaying\n// Checks if a movie is currently playing.\n',
                                  'int IsMoviePlaying();'), ScriptFunction('void', 'QueueMovie',
                                                                           [ScriptParam('string', 'sMovie', None),
                                                                            ScriptParam('int', 'bSkippable', None)],
                                                                           '// 769. QueueMovie\n// Queues up a movie to be played using PlayMovieQueue.\n// If bSkippable is TRUE, the player can cancel the movie by hitting escape.\n// If bSkippable is FALSE, the player cannot cancel the movie and must wait\n// for it to finish playing.\n',
                                                                           'void QueueMovie( string sMovie, int bSkippable );'),
                   ScriptFunction('void', 'PlayMovieQueue', [ScriptParam('int', 'bAllowSeparateSkips', None)],
                                  '// 770. PlayMovieQueue\n// Plays the movies that have been added to the queue by QueueMovie\n// If bAllowSeparateSkips is TRUE, hitting escape to cancel a movie only\n// cancels out of the currently playing movie rather than the entire queue\n// of movies (assuming the currently playing movie is flagged as skippable).\n// If bAllowSeparateSkips is FALSE, the entire movie queue will be cancelled\n// if the player hits escape (assuming the currently playing movie is flagged\n// as skippable).\n',
                                  'void PlayMovieQueue( int bAllowSeparateSkips );'),
                   ScriptFunction('void', 'YavinHackCloseDoor', [ScriptParam('object', 'oidDoor', None)],
                                  "// 771. YavinHackCloseDoor\n// This is an incredibly hacky function to allow the doors to be properly\n// closed on Yavin without running into the problems we've had.  It is too\n// late in development to fix it correctly, so thus we do this.  Life is\n// hard.  You'll get over it\n",
                                  'void YavinHackCloseDoor( object oidDoor );')]
TSL_FUNCTIONS = [ScriptFunction('int', 'Random', [ScriptParam('int', 'nMaxInteger', None)],
                                '// 0: Get an integer between 0 and nMaxInteger-1.\n// Return value on error: 0\n',
                                'int Random(int nMaxInteger);'),
                 ScriptFunction('void', 'PrintString', [ScriptParam('string', 'sString', None)],
                                '// 1: Output sString to the log file.\n', 'void PrintString(string sString);'),
                 ScriptFunction('void', 'PrintFloat',
                                [ScriptParam('float', 'fFloat', None), ScriptParam('int', 'nWidth', '18'),
                                 ScriptParam('int', 'nDecimals', '9')],
                                '// 2: Output a formatted float to the log file.\n// - nWidth should be a value from 0 to 18 inclusive.\n// - nDecimals should be a value from 0 to 9 inclusive.\n',
                                'void PrintFloat(float fFloat, int nWidth=18, int nDecimals=9);'),
                 ScriptFunction('string', 'FloatToString',
                                [ScriptParam('float', 'fFloat', None), ScriptParam('int', 'nWidth', '18'),
                                 ScriptParam('int', 'nDecimals', '9')],
                                '// 3: Convert fFloat into a string.\n// - nWidth should be a value from 0 to 18 inclusive.\n// - nDecimals should be a value from 0 to 9 inclusive.\n',
                                'string FloatToString(float fFloat, int nWidth=18, int nDecimals=9);'),
                 ScriptFunction('void', 'PrintInteger', [ScriptParam('int', 'nInteger', None)],
                                '// 4: Output nInteger to the log file.\n', 'void PrintInteger(int nInteger);'),
                 ScriptFunction('void', 'PrintObject', [ScriptParam('object', 'oObject', None)],
                                "// 5: Output oObject's ID to the log file.\n", 'void PrintObject(object oObject);'),
                 ScriptFunction('void', 'AssignCommand', [ScriptParam('object', 'oActionSubject', None),
                                                          ScriptParam('action', 'aActionToAssign', None)],
                                '// 6: Assign aActionToAssign to oActionSubject.\n// * No return value, but if an error occurs, the log file will contain\n//   "AssignCommand failed."\n//   (If the object doesn\'t exist, nothing happens.)\n',
                                'void AssignCommand(object oActionSubject,action aActionToAssign);'),
                 ScriptFunction('void', 'DelayCommand',
                                [ScriptParam('float', 'fSeconds', None), ScriptParam('action', 'aActionToDelay', None)],
                                '// 7: Delay aActionToDelay by fSeconds.\n// * No return value, but if an error occurs, the log file will contain\n//   "DelayCommand failed.".\n',
                                'void DelayCommand(float fSeconds, action aActionToDelay);'),
                 ScriptFunction('void', 'ExecuteScript',
                                [ScriptParam('string', 'sScript', None), ScriptParam('object', 'oTarget', None),
                                 ScriptParam('int', 'nScriptVar', '-1')],
                                '// 8: Make oTarget run sScript and then return execution to the calling script.\n// If sScript does not specify a compiled script, nothing happens.\n// - nScriptVar: This value will be returned by calls to GetRunScriptVar.\n',
                                'void ExecuteScript(string sScript, object oTarget, int nScriptVar=-1);'),
                 ScriptFunction('void', 'ClearAllActions', [],
                                '// 9: Clear all the actions of the caller. (This will only work on Creatures)\n// * No return value, but if an error occurs, the log file will contain\n//   "ClearAllActions failed.".\n',
                                'void ClearAllActions();'),
                 ScriptFunction('void', 'SetFacing', [ScriptParam('float', 'fDirection', None)],
                                '// 10: Cause the caller to face fDirection.\n// - fDirection is expressed as anticlockwise degrees from Due East.\n//   DIRECTION_EAST, DIRECTION_NORTH, DIRECTION_WEST and DIRECTION_SOUTH are\n//   predefined. (0.0f=East, 90.0f=North, 180.0f=West, 270.0f=South)\n',
                                'void SetFacing(float fDirection);'),
                 ScriptFunction('int', 'SwitchPlayerCharacter', [ScriptParam('int', 'nNPC', None)],
                                '// 11: Switches the main character to a specified NPC\n//     -1 specifies to switch back to the original PC\n',
                                'int SwitchPlayerCharacter(int nNPC);'), ScriptFunction('void', 'SetTime', [
        ScriptParam('int', 'nHour', None), ScriptParam('int', 'nMinute', None), ScriptParam('int', 'nSecond', None),
        ScriptParam('int', 'nMillisecond', None)],
                                                                                        '// 12: Set the time to the time specified.\n// - nHour should be from 0 to 23 inclusive\n// - nMinute should be from 0 to 59 inclusive\n// - nSecond should be from 0 to 59 inclusive\n// - nMillisecond should be from 0 to 999 inclusive\n// 1) Time can only be advanced forwards; attempting to set the time backwards\n//    will result in the day advancing and then the time being set to that\n//    specified, e.g. if the current hour is 15 and then the hour is set to 3,\n//    the day will be advanced by 1 and the hour will be set to 3.\n// 2) If values larger than the max hour, minute, second or millisecond are\n//    specified, they will be wrapped around and the overflow will be used to\n//    advance the next field, e.g. specifying 62 hours, 250 minutes, 10 seconds\n//    and 10 milliseconds will result in the calendar day being advanced by 2\n//    and the time being set to 18 hours, 10 minutes, 10 milliseconds.\n',
                                                                                        'void SetTime(int nHour,int nMinute,int nSecond,int nMillisecond);'),
                 ScriptFunction('int', 'SetPartyLeader', [ScriptParam('int', 'nNPC', None)],
                                '// 13: Sets (by NPC constant) which party member should be the controlled\n//     character\n',
                                'int SetPartyLeader(int nNPC);'),
                 ScriptFunction('void', 'SetAreaUnescapable', [ScriptParam('int', 'bUnescapable', None)],
                                '// 14: Sets whether the current area is escapable or not\n// TRUE means you can not escape the area\n// FALSE means you can escape the area\n',
                                'void SetAreaUnescapable(int bUnescapable);'),
                 ScriptFunction('int', 'GetAreaUnescapable', [],
                                '// 15: Returns whether the current area is escapable or not\n// TRUE means you can not escape the area\n// FALSE means you can escape the area\n',
                                'int GetAreaUnescapable();'),
                 ScriptFunction('int', 'GetTimeHour', [], '// 16: Get the current hour.\n', 'int GetTimeHour();'),
                 ScriptFunction('int', 'GetTimeMinute', [], '// 17: Get the current minute\n', 'int GetTimeMinute();'),
                 ScriptFunction('int', 'GetTimeSecond', [], '// 18: Get the current second\n', 'int GetTimeSecond();'),
                 ScriptFunction('int', 'GetTimeMillisecond', [], '// 19: Get the current millisecond\n',
                                'int GetTimeMillisecond();'), ScriptFunction('void', 'ActionRandomWalk', [],
                                                                             '// 20: The action subject will generate a random location near its current location\n// and pathfind to it.  All commands will remove a RandomWalk() from the action\n// queue if there is one in place.\n// * No return value, but if an error occurs the log file will contain\n//   "ActionRandomWalk failed."\n',
                                                                             'void ActionRandomWalk();'),
                 ScriptFunction('void', 'ActionMoveToLocation',
                                [ScriptParam('location', 'lDestination', None), ScriptParam('int', 'bRun', 'FALSE')],
                                '// 21: The action subject will move to lDestination.\n// - lDestination: The object will move to this location.  If the location is\n//   invalid or a path cannot be found to it, the command does nothing.\n// - bRun: If this is TRUE, the action subject will run rather than walk\n// * No return value, but if an error occurs the log file will contain\n//   "MoveToPoint failed."\n',
                                'void ActionMoveToLocation(location lDestination, int bRun=FALSE);'),
                 ScriptFunction('void', 'ActionMoveToObject',
                                [ScriptParam('object', 'oMoveTo', None), ScriptParam('int', 'bRun', 'FALSE'),
                                 ScriptParam('float', 'fRange', '1.0f')],
                                '// 22: Cause the action subject to move to a certain distance from oMoveTo.\n// If there is no path to oMoveTo, this command will do nothing.\n// - oMoveTo: This is the object we wish the action subject to move to\n// - bRun: If this is TRUE, the action subject will run rather than walk\n// - fRange: This is the desired distance between the action subject and oMoveTo\n// * No return value, but if an error occurs the log file will contain\n//   "ActionMoveToObject failed."\n',
                                'void ActionMoveToObject(object oMoveTo, int bRun=FALSE, float fRange=1.0f);'),
                 ScriptFunction('void', 'ActionMoveAwayFromObject',
                                [ScriptParam('object', 'oFleeFrom', None), ScriptParam('int', 'bRun', 'FALSE'),
                                 ScriptParam('float', 'fMoveAwayRange', '40.0f')],
                                '// 23: Cause the action subject to move to a certain distance away from oFleeFrom.\n// - oFleeFrom: This is the object we wish the action subject to move away from.\n//   If oFleeFrom is not in the same area as the action subject, nothing will\n//   happen.\n// - bRun: If this is TRUE, the action subject will run rather than walk\n// - fMoveAwayRange: This is the distance we wish the action subject to put\n//   between themselves and oFleeFrom\n// * No return value, but if an error occurs the log file will contain\n//   "ActionMoveAwayFromObject failed."\n',
                                'void ActionMoveAwayFromObject(object oFleeFrom, int bRun=FALSE, float fMoveAwayRange=40.0f);'),
                 ScriptFunction('object', 'GetArea', [ScriptParam('object', 'oTarget', None)],
                                '// 24: Get the area that oTarget is currently in\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetArea(object oTarget);'), ScriptFunction('object', 'GetEnteringObject', [],
                                                                                   '// 25: The value returned by this function depends on the object type of the caller:\n// 1) If the caller is a door or placeable it returns the object that last\n//    triggered it.\n// 2) If the caller is a trigger, area of effect, module, area or encounter it\n//    returns the object that last entered it.\n// * Return value on error: OBJECT_INVALID\n',
                                                                                   'object GetEnteringObject();'),
                 ScriptFunction('object', 'GetExitingObject', [],
                                '// 26: Get the object that last left the caller.  This function works on triggers,\n// areas of effect, modules, areas and encounters.\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetExitingObject();'),
                 ScriptFunction('vector', 'GetPosition', [ScriptParam('object', 'oTarget', None)],
                                '// 27: Get the position of oTarget\n// * Return value on error: vector (0.0f, 0.0f, 0.0f)\n',
                                'vector GetPosition(object oTarget);'),
                 ScriptFunction('float', 'GetFacing', [ScriptParam('object', 'oTarget', None)],
                                '// 28: Get the direction in which oTarget is facing, expressed as a float between\n// 0.0f and 360.0f\n// * Return value on error: -1.0f\n',
                                'float GetFacing(object oTarget);'),
                 ScriptFunction('object', 'GetItemPossessor', [ScriptParam('object', 'oItem', None)],
                                '// 29: Get the possessor of oItem\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetItemPossessor(object oItem);'),
                 ScriptFunction('object', 'GetItemPossessedBy',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('string', 'sItemTag', None)],
                                '// 30: Get the object possessed by oCreature with the tag sItemTag\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetItemPossessedBy(object oCreature, string sItemTag);'),
                 ScriptFunction('object', 'CreateItemOnObject', [ScriptParam('string', 'sItemTemplate', None),
                                                                 ScriptParam('object', 'oTarget', 'OBJECT_SELF'),
                                                                 ScriptParam('int', 'nStackSize', '1'),
                                                                 ScriptParam('int', 'nHideMessage', '0')],
                                "// 31: Create an item with the template sItemTemplate in oTarget's inventory.\n// - nStackSize: This is the stack size of the item to be created\n// * Return value: The object that has been created.  On error, this returns\n//   OBJECT_INVALID.\n//RWT-OEI 12/16/03 - Added the bHideMessage parameter\n",
                                'object CreateItemOnObject(string sItemTemplate, object oTarget=OBJECT_SELF, int nStackSize=1, int nHideMessage = 0);'),
                 ScriptFunction('void', 'ActionEquipItem',
                                [ScriptParam('object', 'oItem', None), ScriptParam('int', 'nInventorySlot', None),
                                 ScriptParam('int', 'bInstant', 'FALSE')],
                                '// 32: Equip oItem into nInventorySlot.\n// - nInventorySlot: INVENTORY_SLOT_*\n// * No return value, but if an error occurs the log file will contain\n//   "ActionEquipItem failed."\n',
                                'void ActionEquipItem(object oItem, int nInventorySlot, int bInstant=FALSE);'),
                 ScriptFunction('void', 'ActionUnequipItem',
                                [ScriptParam('object', 'oItem', None), ScriptParam('int', 'bInstant', 'FALSE')],
                                '// 33: Unequip oItem from whatever slot it is currently in.\n',
                                'void ActionUnequipItem( object oItem, int bInstant = FALSE );'),
                 ScriptFunction('void', 'ActionPickUpItem', [ScriptParam('object', 'oItem', None)],
                                '// 34: Pick up oItem from the ground.\n// * No return value, but if an error occurs the log file will contain\n//   "ActionPickUpItem failed."\n',
                                'void ActionPickUpItem(object oItem);'),
                 ScriptFunction('void', 'ActionPutDownItem', [ScriptParam('object', 'oItem', None)],
                                '// 35: Put down oItem on the ground.\n// * No return value, but if an error occurs the log file will contain\n//   "ActionPutDownItem failed."\n',
                                'void ActionPutDownItem(object oItem);'),
                 ScriptFunction('object', 'GetLastAttacker', [ScriptParam('object', 'oAttackee', 'OBJECT_SELF')],
                                '// 36: Get the last attacker of oAttackee.  This should only be used ONLY in the\n// OnAttacked events for creatures, placeables and doors.\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetLastAttacker(object oAttackee=OBJECT_SELF);'),
                 ScriptFunction('void', 'ActionAttack',
                                [ScriptParam('object', 'oAttackee', None), ScriptParam('int', 'bPassive', 'FALSE')],
                                '// 37: Attack oAttackee.\n// - bPassive: If this is TRUE, attack is in passive mode.\n',
                                'void ActionAttack(object oAttackee, int bPassive=FALSE);'),
                 ScriptFunction('object', 'GetNearestCreature', [ScriptParam('int', 'nFirstCriteriaType', None),
                                                                 ScriptParam('int', 'nFirstCriteriaValue', None),
                                                                 ScriptParam('object', 'oTarget', 'OBJECT_SELF'),
                                                                 ScriptParam('int', 'nNth', '1'),
                                                                 ScriptParam('int', 'nSecondCriteriaType', '-1'),
                                                                 ScriptParam('int', 'nSecondCriteriaValue', '-1'),
                                                                 ScriptParam('int', 'nThirdCriteriaType', '-1'),
                                                                 ScriptParam('int', 'nThirdCriteriaValue', '-1')],
                                "// 38: Get the creature nearest to oTarget, subject to all the criteria specified.\n// - nFirstCriteriaType: CREATURE_TYPE_*\n// - nFirstCriteriaValue:\n//   -> CLASS_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_CLASS\n//   -> SPELL_* if nFirstCriteriaType was CREATURE_TYPE_DOES_NOT_HAVE_SPELL_EFFECT\n//      or CREATURE_TYPE_HAS_SPELL_EFFECT\n//   -> TRUE or FALSE if nFirstCriteriaType was CREATURE_TYPE_IS_ALIVE\n//   -> PERCEPTION_* if nFirstCriteriaType was CREATURE_TYPE_PERCEPTION\n//   -> PLAYER_CHAR_IS_PC or PLAYER_CHAR_NOT_PC if nFirstCriteriaType was\n//      CREATURE_TYPE_PLAYER_CHAR\n//   -> RACIAL_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_RACIAL_TYPE\n//   -> REPUTATION_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_REPUTATION\n//   For example, to get the nearest PC, use:\n//   (CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC)\n// - oTarget: We're trying to find the creature of the specified type that is\n//   nearest to oTarget\n// - nNth: We don't have to find the first nearest: we can find the Nth nearest...\n// - nSecondCriteriaType: This is used in the same way as nFirstCriteriaType to\n//   further specify the type of creature that we are looking for.\n// - nSecondCriteriaValue: This is used in the same way as nFirstCriteriaValue\n//   to further specify the type of creature that we are looking for.\n// - nThirdCriteriaType: This is used in the same way as nFirstCriteriaType to\n//   further specify the type of creature that we are looking for.\n// - nThirdCriteriaValue: This is used in the same way as nFirstCriteriaValue to\n//   further specify the type of creature that we are looking for.\n// * Return value on error: OBJECT_INVALID\n",
                                'object GetNearestCreature(int nFirstCriteriaType, int nFirstCriteriaValue, object oTarget=OBJECT_SELF, int nNth=1, int nSecondCriteriaType=-1, int nSecondCriteriaValue=-1, int nThirdCriteriaType=-1,  int nThirdCriteriaValue=-1 );'),
                 ScriptFunction('void', 'ActionSpeakString', [ScriptParam('string', 'sStringToSpeak', None),
                                                              ScriptParam('int', 'nTalkVolume', 'TALKVOLUME_TALK')],
                                '// 39: Add a speak action to the action subject.\n// - sStringToSpeak: String to be spoken\n// - nTalkVolume: TALKVOLUME_*\n',
                                'void ActionSpeakString(string sStringToSpeak, int nTalkVolume=TALKVOLUME_TALK);'),
                 ScriptFunction('void', 'ActionPlayAnimation',
                                [ScriptParam('int', 'nAnimation', None), ScriptParam('float', 'fSpeed', '1.0'),
                                 ScriptParam('float', 'fDurationSeconds', '0.0')],
                                '// 40: Cause the action subject to play an animation\n// - nAnimation: ANIMATION_*\n// - fSpeed: Speed of the animation\n// - fDurationSeconds: Duration of the animation (this is not used for Fire and\n//   Forget animations) If a time of -1.0f is specified for a looping animation\n//   it will loop until the next animation is applied.\n',
                                'void ActionPlayAnimation(int nAnimation, float fSpeed=1.0, float fDurationSeconds=0.0);'),
                 ScriptFunction('float', 'GetDistanceToObject', [ScriptParam('object', 'oObject', None)],
                                '// 41: Get the distance from the caller to oObject in metres.\n// * Return value on error: -1.0f\n',
                                'float GetDistanceToObject(object oObject);'),
                 ScriptFunction('int', 'GetIsObjectValid', [ScriptParam('object', 'oObject', None)],
                                '// 42: * Returns TRUE if oObject is a valid object.\n',
                                'int GetIsObjectValid(object oObject);'),
                 ScriptFunction('void', 'ActionOpenDoor', [ScriptParam('object', 'oDoor', None)],
                                '// 43: Cause the action subject to open oDoor\n',
                                'void ActionOpenDoor(object oDoor);'),
                 ScriptFunction('void', 'ActionCloseDoor', [ScriptParam('object', 'oDoor', None)],
                                '// 44: Cause the action subject to close oDoor\n',
                                'void ActionCloseDoor(object oDoor);'),
                 ScriptFunction('void', 'SetCameraFacing', [ScriptParam('float', 'fDirection', None)],
                                '// 45: Change the direction in which the camera is facing\n// - fDirection is expressed as anticlockwise degrees from Due East.\n//   (0.0f=East, 90.0f=North, 180.0f=West, 270.0f=South)\n// This can be used to change the way the camera is facing after the player\n// emerges from an area transition.\n',
                                'void SetCameraFacing(float fDirection);'),
                 ScriptFunction('void', 'PlaySound', [ScriptParam('string', 'sSoundName', None)],
                                '// 46: Play sSoundName\n// - sSoundName: TBD - SS\n',
                                'void PlaySound(string sSoundName);'),
                 ScriptFunction('object', 'GetSpellTargetObject', [],
                                '// 47: Get the object at which the caller last cast a spell\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetSpellTargetObject();'), ScriptFunction('void', 'ActionCastSpellAtObject',
                                                                                  [ScriptParam('int', 'nSpell', None),
                                                                                   ScriptParam('object', 'oTarget',
                                                                                               None),
                                                                                   ScriptParam('int', 'nMetaMagic',
                                                                                               '0'),
                                                                                   ScriptParam('int', 'bCheat',
                                                                                               'FALSE'),
                                                                                   ScriptParam('int', 'nDomainLevel',
                                                                                               '0'), ScriptParam('int',
                                                                                                                 'nProjectilePathType',
                                                                                                                 'PROJECTILE_PATH_TYPE_DEFAULT'),
                                                                                   ScriptParam('int', 'bInstantSpell',
                                                                                               'FALSE')],
                                                                                  "// 48: This action casts a spell at oTarget.\n// - nSpell: SPELL_*\n// - oTarget: Target for the spell\n// - nMetamagic: METAMAGIC_*\n// - bCheat: If this is TRUE, then the executor of the action doesn't have to be\n//   able to cast the spell.\n// - nDomainLevel: TBD - SS\n// - nProjectilePathType: PROJECTILE_PATH_TYPE_*\n// - bInstantSpell: If this is TRUE, the spell is cast immediately. This allows\n//   the end-user to simulate a high-level magic-user having lots of advance\n//   warning of impending trouble\n",
                                                                                  'void ActionCastSpellAtObject(int nSpell, object oTarget, int nMetaMagic=0 , int bCheat=FALSE, int nDomainLevel=0, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=FALSE);'),
                 ScriptFunction('int', 'GetCurrentHitPoints', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                '// 49: Get the current hitpoints of oObject\n// * Return value on error: 0\n',
                                'int GetCurrentHitPoints(object oObject=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetMaxHitPoints', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                '// 50: Get the maximum hitpoints of oObject\n// * Return value on error: 0\n',
                                'int GetMaxHitPoints(object oObject=OBJECT_SELF);'),
                 ScriptFunction('effect', 'EffectAssuredHit', [],
                                '// 51: EffectAssuredHit\n// Create an Assured Hit effect, which guarantees that all attacks are successful\n',
                                'effect EffectAssuredHit();'), ScriptFunction('object', 'GetLastItemEquipped', [],
                                                                              '// 52:\n// Returns the last item that was equipped by a creature.\n',
                                                                              'object GetLastItemEquipped();'),
                 ScriptFunction('int', 'GetSubScreenID', [],
                                '// 53:\n// Returns the ID of the subscreen that is currently onscreen.  This will be one of the\n// SUBSCREEN_ID_* constant values.\n',
                                'int GetSubScreenID();'),
                 ScriptFunction('void', 'CancelCombat', [ScriptParam('object', 'oidCreature', None)],
                                '// 54:\n// Cancels combat for the specified creature.\n',
                                'void CancelCombat( object oidCreature );'),
                 ScriptFunction('int', 'GetCurrentForcePoints', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                '// 55:\n// returns the current force points for the creature\n',
                                'int GetCurrentForcePoints(object oObject=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetMaxForcePoints', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                '// 56:\n// returns the Max force points for the creature\n',
                                'int GetMaxForcePoints(object oObject=OBJECT_SELF);'),
                 ScriptFunction('void', 'PauseGame', [ScriptParam('int', 'bPause', None)],
                                '// 57:\n// Pauses the game if bPause is TRUE.  Unpauses if bPause is FALSE.\n',
                                'void PauseGame( int bPause );'),
                 ScriptFunction('void', 'SetPlayerRestrictMode', [ScriptParam('int', 'bRestrict', None)],
                                "// 58: SetPlayerRestrictMode\n// Sets whether the player is currently in 'restricted' mode\n",
                                'void SetPlayerRestrictMode( int bRestrict );'),
                 ScriptFunction('int', 'GetStringLength', [ScriptParam('string', 'sString', None)],
                                '// 59: Get the length of sString\n// * Return value on error: -1\n',
                                'int GetStringLength(string sString);'),
                 ScriptFunction('string', 'GetStringUpperCase', [ScriptParam('string', 'sString', None)],
                                '// 60: Convert sString into upper case\n// * Return value on error: ""\n',
                                'string GetStringUpperCase(string sString);'),
                 ScriptFunction('string', 'GetStringLowerCase', [ScriptParam('string', 'sString', None)],
                                '// 61: Convert sString into lower case\n// * Return value on error: ""\n',
                                'string GetStringLowerCase(string sString);'),
                 ScriptFunction('string', 'GetStringRight',
                                [ScriptParam('string', 'sString', None), ScriptParam('int', 'nCount', None)],
                                '// 62: Get nCount characters from the right end of sString\n// * Return value on error: ""\n',
                                'string GetStringRight(string sString, int nCount);'),
                 ScriptFunction('string', 'GetStringLeft',
                                [ScriptParam('string', 'sString', None), ScriptParam('int', 'nCount', None)],
                                '// 63: Get nCounter characters from the left end of sString\n// * Return value on error: ""\n',
                                'string GetStringLeft(string sString, int nCount);'),
                 ScriptFunction('string', 'InsertString',
                                [ScriptParam('string', 'sDestination', None), ScriptParam('string', 'sString', None),
                                 ScriptParam('int', 'nPosition', None)],
                                '// 64: Insert sString into sDestination at nPosition\n// * Return value on error: ""\n',
                                'string InsertString(string sDestination, string sString, int nPosition);'),
                 ScriptFunction('string', 'GetSubString',
                                [ScriptParam('string', 'sString', None), ScriptParam('int', 'nStart', None),
                                 ScriptParam('int', 'nCount', None)],
                                '// 65: Get nCount characters from sString, starting at nStart\n// * Return value on error: ""\n',
                                'string GetSubString(string sString, int nStart, int nCount);'),
                 ScriptFunction('int', 'FindSubString',
                                [ScriptParam('string', 'sString', None), ScriptParam('string', 'sSubString', None)],
                                '// 66: Find the position of sSubstring inside sString\n// * Return value on error: -1\n',
                                'int FindSubString(string sString, string sSubString);'),
                 ScriptFunction('float', 'fabs', [ScriptParam('float', 'fValue', None)],
                                '// 67: Maths operation: absolute value of fValue\n', 'float fabs(float fValue);'),
                 ScriptFunction('float', 'cos', [ScriptParam('float', 'fValue', None)],
                                '// 68: Maths operation: cosine of fValue\n', 'float cos(float fValue);'),
                 ScriptFunction('float', 'sin', [ScriptParam('float', 'fValue', None)],
                                '// 69: Maths operation: sine of fValue\n', 'float sin(float fValue);'),
                 ScriptFunction('float', 'tan', [ScriptParam('float', 'fValue', None)],
                                '// 70: Maths operation: tan of fValue\n', 'float tan(float fValue);'),
                 ScriptFunction('float', 'acos', [ScriptParam('float', 'fValue', None)],
                                '// 71: Maths operation: arccosine of fValue\n// * Returns zero if fValue > 1 or fValue < -1\n',
                                'float acos(float fValue);'),
                 ScriptFunction('float', 'asin', [ScriptParam('float', 'fValue', None)],
                                '// 72: Maths operation: arcsine of fValue\n// * Returns zero if fValue >1 or fValue < -1\n',
                                'float asin(float fValue);'),
                 ScriptFunction('float', 'atan', [ScriptParam('float', 'fValue', None)],
                                '// 73: Maths operation: arctan of fValue\n', 'float atan(float fValue);'),
                 ScriptFunction('float', 'log', [ScriptParam('float', 'fValue', None)],
                                '// 74: Maths operation: log of fValue\n// * Returns zero if fValue <= zero\n',
                                'float log(float fValue);'), ScriptFunction('float', 'pow',
                                                                            [ScriptParam('float', 'fValue', None),
                                                                             ScriptParam('float', 'fExponent', None)],
                                                                            '// 75: Maths operation: fValue is raised to the power of fExponent\n// * Returns zero if fValue ==0 and fExponent <0\n',
                                                                            'float pow(float fValue, float fExponent);'),
                 ScriptFunction('float', 'sqrt', [ScriptParam('float', 'fValue', None)],
                                '// 76: Maths operation: square root of fValue\n// * Returns zero if fValue <0\n',
                                'float sqrt(float fValue);'),
                 ScriptFunction('int', 'abs', [ScriptParam('int', 'nValue', None)],
                                '// 77: Maths operation: integer absolute value of nValue\n// * Return value on error: 0\n',
                                'int abs(int nValue);'),
                 ScriptFunction('effect', 'EffectHeal', [ScriptParam('int', 'nDamageToHeal', None)],
                                '// 78: Create a Heal effect. This should be applied as an instantaneous effect.\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nDamageToHeal < 0.\n',
                                'effect EffectHeal(int nDamageToHeal);'), ScriptFunction('effect', 'EffectDamage', [
        ScriptParam('int', 'nDamageAmount', None), ScriptParam('int', 'nDamageType', 'DAMAGE_TYPE_UNIVERSAL'),
        ScriptParam('int', 'nDamagePower', 'DAMAGE_POWER_NORMAL')],
                                                                                         '// 79: Create a Damage effect\n// - nDamageAmount: amount of damage to be dealt. This should be applied as an\n//   instantaneous effect.\n// - nDamageType: DAMAGE_TYPE_*\n// - nDamagePower: DAMAGE_POWER_*\n',
                                                                                         'effect EffectDamage(int nDamageAmount, int nDamageType=DAMAGE_TYPE_UNIVERSAL, int nDamagePower=DAMAGE_POWER_NORMAL);'),
                 ScriptFunction('effect', 'EffectAbilityIncrease',
                                [ScriptParam('int', 'nAbilityToIncrease', None), ScriptParam('int', 'nModifyBy', None)],
                                '// 80: Create an Ability Increase effect\n// - bAbilityToIncrease: ABILITY_*\n',
                                'effect EffectAbilityIncrease(int nAbilityToIncrease, int nModifyBy);'),
                 ScriptFunction('effect', 'EffectDamageResistance',
                                [ScriptParam('int', 'nDamageType', None), ScriptParam('int', 'nAmount', None),
                                 ScriptParam('int', 'nLimit', '0')],
                                '// 81: Create a Damage Resistance effect that removes the first nAmount points of\n// damage of type nDamageType, up to nLimit (or infinite if nLimit is 0)\n// - nDamageType: DAMAGE_TYPE_*\n// - nAmount\n// - nLimit\n',
                                'effect EffectDamageResistance(int nDamageType, int nAmount, int nLimit=0);'),
                 ScriptFunction('effect', 'EffectResurrection', [ScriptParam('int', 'nHPPercent', '0')],
                                '// 82: Create a Resurrection effect. This should be applied as an instantaneous effect.\n// DJS-OEI 8/26/2004\n// Added a parameter for the percentage of HP the target\n// should receive when they are revived.\n',
                                'effect EffectResurrection( int nHPPercent=0 );'),
                 ScriptFunction('int', 'GetPlayerRestrictMode', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                "// 83: GetPlayerRestrictMode\n// returns the current player 'restricted' mode\n",
                                'int GetPlayerRestrictMode(object oObject = OBJECT_SELF);'),
                 ScriptFunction('int', 'GetCasterLevel', [ScriptParam('object', 'oCreature', None)],
                                '// 84: Get the Caster Level of oCreature.\n// * Return value on error: 0;\n',
                                'int GetCasterLevel(object oCreature);'),
                 ScriptFunction('effect', 'GetFirstEffect', [ScriptParam('object', 'oCreature', None)],
                                '// 85: Get the first in-game effect on oCreature.\n',
                                'effect GetFirstEffect(object oCreature);'),
                 ScriptFunction('effect', 'GetNextEffect', [ScriptParam('object', 'oCreature', None)],
                                '// 86: Get the next in-game effect on oCreature.\n',
                                'effect GetNextEffect(object oCreature);'), ScriptFunction('void', 'RemoveEffect', [
        ScriptParam('object', 'oCreature', None), ScriptParam('effect', 'eEffect', None)],
                                                                                           '// 87: Remove eEffect from oCreature.\n// * No return value\n',
                                                                                           'void RemoveEffect(object oCreature, effect eEffect);'),
                 ScriptFunction('int', 'GetIsEffectValid', [ScriptParam('effect', 'eEffect', None)],
                                '// 88: * Returns TRUE if eEffect is a valid effect.\n',
                                'int GetIsEffectValid(effect eEffect);'),
                 ScriptFunction('int', 'GetEffectDurationType', [ScriptParam('effect', 'eEffect', None)],
                                '// 89: Get the duration type (DURATION_TYPE_*) of eEffect.\n// * Return value if eEffect is not valid: -1\n',
                                'int GetEffectDurationType(effect eEffect);'),
                 ScriptFunction('int', 'GetEffectSubType', [ScriptParam('effect', 'eEffect', None)],
                                '// 90: Get the subtype (SUBTYPE_*) of eEffect.\n// * Return value on error: 0\n',
                                'int GetEffectSubType(effect eEffect);'),
                 ScriptFunction('object', 'GetEffectCreator', [ScriptParam('effect', 'eEffect', None)],
                                '// 91: Get the object that created eEffect.\n// * Returns OBJECT_INVALID if eEffect is not a valid effect.\n',
                                'object GetEffectCreator(effect eEffect);'),
                 ScriptFunction('string', 'IntToString', [ScriptParam('int', 'nInteger', None)],
                                '// 92: Convert nInteger into a string.\n// * Return value on error: ""\n',
                                'string IntToString(int nInteger);'), ScriptFunction('object', 'GetFirstObjectInArea', [
        ScriptParam('object', 'oArea', 'OBJECT_INVALID'), ScriptParam('int', 'nObjectFilter', 'OBJECT_TYPE_CREATURE')],
                                                                                     "// 93: Get the first object in oArea.\n// If no valid area is specified, it will use the caller's area.\n// - oArea\n// - nObjectFilter: OBJECT_TYPE_*\n// * Return value on error: OBJECT_INVALID\n",
                                                                                     'object GetFirstObjectInArea(object oArea=OBJECT_INVALID, int nObjectFilter=OBJECT_TYPE_CREATURE);'),
                 ScriptFunction('object', 'GetNextObjectInArea', [ScriptParam('object', 'oArea', 'OBJECT_INVALID'),
                                                                  ScriptParam('int', 'nObjectFilter',
                                                                              'OBJECT_TYPE_CREATURE')],
                                "// 94: Get the next object in oArea.\n// If no valid area is specified, it will use the caller's area.\n// - oArea\n// - nObjectFilter: OBJECT_TYPE_*\n// * Return value on error: OBJECT_INVALID\n",
                                'object GetNextObjectInArea(object oArea=OBJECT_INVALID, int nObjectFilter=OBJECT_TYPE_CREATURE);'),
                 ScriptFunction('int', 'd2', [ScriptParam('int', 'nNumDice', '1')],
                                '// 95: Get the total from rolling (nNumDice x d2 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                'int d2(int nNumDice=1);'),
                 ScriptFunction('int', 'd3', [ScriptParam('int', 'nNumDice', '1')],
                                '// 96: Get the total from rolling (nNumDice x d3 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                'int d3(int nNumDice=1);'),
                 ScriptFunction('int', 'd4', [ScriptParam('int', 'nNumDice', '1')],
                                '// 97: Get the total from rolling (nNumDice x d4 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                'int d4(int nNumDice=1);'),
                 ScriptFunction('int', 'd6', [ScriptParam('int', 'nNumDice', '1')],
                                '// 98: Get the total from rolling (nNumDice x d6 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                'int d6(int nNumDice=1);'),
                 ScriptFunction('int', 'd8', [ScriptParam('int', 'nNumDice', '1')],
                                '// 99: Get the total from rolling (nNumDice x d8 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                'int d8(int nNumDice=1);'),
                 ScriptFunction('int', 'd10', [ScriptParam('int', 'nNumDice', '1')],
                                '// 100: Get the total from rolling (nNumDice x d10 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                'int d10(int nNumDice=1);'),
                 ScriptFunction('int', 'd12', [ScriptParam('int', 'nNumDice', '1')],
                                '// 101: Get the total from rolling (nNumDice x d12 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                'int d12(int nNumDice=1);'),
                 ScriptFunction('int', 'd20', [ScriptParam('int', 'nNumDice', '1')],
                                '// 102: Get the total from rolling (nNumDice x d20 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                'int d20(int nNumDice=1);'),
                 ScriptFunction('int', 'd100', [ScriptParam('int', 'nNumDice', '1')],
                                '// 103: Get the total from rolling (nNumDice x d100 dice).\n// - nNumDice: If this is less than 1, the value 1 will be used.\n',
                                'int d100(int nNumDice=1);'),
                 ScriptFunction('float', 'VectorMagnitude', [ScriptParam('vector', 'vVector', None)],
                                '// 104: Get the magnitude of vVector; this can be used to determine the\n// distance between two points.\n// * Return value on error: 0.0f\n',
                                'float VectorMagnitude(vector vVector);'), ScriptFunction('int', 'GetMetaMagicFeat', [],
                                                                                          '// 105: Get the metamagic type (METAMAGIC_*) of the last spell cast by the caller\n// * Return value if the caster is not a valid object: -1\n',
                                                                                          'int GetMetaMagicFeat();'),
                 ScriptFunction('int', 'GetObjectType', [ScriptParam('object', 'oTarget', None)],
                                '// 106: Get the object type (OBJECT_TYPE_*) of oTarget\n// * Return value if oTarget is not a valid object: -1\n',
                                'int GetObjectType(object oTarget);'),
                 ScriptFunction('int', 'GetRacialType', [ScriptParam('object', 'oCreature', None)],
                                '// 107: Get the racial type (RACIAL_TYPE_*) of oCreature\n// * Return value if oCreature is not a valid creature: RACIAL_TYPE_INVALID\n',
                                'int GetRacialType(object oCreature);'), ScriptFunction('int', 'FortitudeSave', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nDC', None),
        ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_NONE'), ScriptParam('object', 'oSaveVersus', 'OBJECT_SELF')],
                                                                                        '// 108: Do a Fortitude Save check for the given DC\n// - oCreature\n// - nDC: Difficulty check\n// - nSaveType: SAVING_THROW_TYPE_*\n// - oSaveVersus\n// Returns: 0 if the saving throw roll failed\n// Returns: 1 if the saving throw roll succeeded\n// Returns: 2 if the target was immune to the save type specified\n',
                                                                                        'int FortitudeSave(object oCreature, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);'),
                 ScriptFunction('int', 'ReflexSave',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nDC', None),
                                 ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_NONE'),
                                 ScriptParam('object', 'oSaveVersus', 'OBJECT_SELF')],
                                '// 109: Does a Reflex Save check for the given DC\n// - oCreature\n// - nDC: Difficulty check\n// - nSaveType: SAVING_THROW_TYPE_*\n// - oSaveVersus\n// Returns: 0 if the saving throw roll failed\n// Returns: 1 if the saving throw roll succeeded\n// Returns: 2 if the target was immune to the save type specified\n',
                                'int ReflexSave(object oCreature, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);'),
                 ScriptFunction('int', 'WillSave',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nDC', None),
                                 ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_NONE'),
                                 ScriptParam('object', 'oSaveVersus', 'OBJECT_SELF')],
                                '// 110: Does a Will Save check for the given DC\n// - oCreature\n// - nDC: Difficulty check\n// - nSaveType: SAVING_THROW_TYPE_*\n// - oSaveVersus\n// Returns: 0 if the saving throw roll failed\n// Returns: 1 if the saving throw roll succeeded\n// Returns: 2 if the target was immune to the save type specified\n',
                                'int WillSave(object oCreature, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetSpellSaveDC', [],
                                '// 111: Get the DC to save against for a spell (5 + spell level + CHA Mod + WIS Mod).\n// This can be called by a creature or by an Area of Effect object.\n',
                                'int GetSpellSaveDC();'),
                 ScriptFunction('effect', 'MagicalEffect', [ScriptParam('effect', 'eEffect', None)],
                                '// 112: Set the subtype of eEffect to Magical and return eEffect.\n// (Effects default to magical if the subtype is not set)\n',
                                'effect MagicalEffect(effect eEffect);'),
                 ScriptFunction('effect', 'SupernaturalEffect', [ScriptParam('effect', 'eEffect', None)],
                                '// 113: Set the subtype of eEffect to Supernatural and return eEffect.\n// (Effects default to magical if the subtype is not set)\n',
                                'effect SupernaturalEffect(effect eEffect);'),
                 ScriptFunction('effect', 'ExtraordinaryEffect', [ScriptParam('effect', 'eEffect', None)],
                                '// 114: Set the subtype of eEffect to Extraordinary and return eEffect.\n// (Effects default to magical if the subtype is not set)\n',
                                'effect ExtraordinaryEffect(effect eEffect);'),
                 ScriptFunction('effect', 'EffectACIncrease', [ScriptParam('int', 'nValue', None),
                                                               ScriptParam('int', 'nModifyType', 'AC_DODGE_BONUS'),
                                                               ScriptParam('int', 'nDamageType',
                                                                           'AC_VS_DAMAGE_TYPE_ALL')],
                                '// 115: Create an AC Increase effect\n// - nValue: size of AC increase\n// - nModifyType: AC_*_BONUS\n// - nDamageType: DAMAGE_TYPE_*\n//   * Default value for nDamageType should only ever be used in this function prototype.\n',
                                'effect EffectACIncrease(int nValue, int nModifyType=AC_DODGE_BONUS, int nDamageType=AC_VS_DAMAGE_TYPE_ALL);'),
                 ScriptFunction('int', 'GetAC',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nForFutureUse', '0')],
                                "// 116: If oObject is a creature, this will return that creature's armour class\n// If oObject is an item, door or placeable, this will return zero.\n// - nForFutureUse: this parameter is not currently used\n// * Return value if oObject is not a creature, item, door or placeable: -1\n",
                                'int GetAC(object oObject, int nForFutureUse=0);'),
                 ScriptFunction('effect', 'EffectSavingThrowIncrease',
                                [ScriptParam('int', 'nSave', None), ScriptParam('int', 'nValue', None),
                                 ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_ALL')],
                                '// 117: Create an AC Decrease effect\n// - nSave: SAVING_THROW_* (not SAVING_THROW_TYPE_*)\n// - nValue: size of AC decrease\n// - nSaveType: SAVING_THROW_TYPE_*\n',
                                'effect EffectSavingThrowIncrease(int nSave, int nValue, int nSaveType=SAVING_THROW_TYPE_ALL);'),
                 ScriptFunction('effect', 'EffectAttackIncrease', [ScriptParam('int', 'nBonus', None),
                                                                   ScriptParam('int', 'nModifierType',
                                                                               'ATTACK_BONUS_MISC')],
                                '// 118: Create an Attack Increase effect\n// - nBonus: size of attack bonus\n// - nModifierType: ATTACK_BONUS_*\n',
                                'effect EffectAttackIncrease(int nBonus, int nModifierType=ATTACK_BONUS_MISC);'),
                 ScriptFunction('effect', 'EffectDamageReduction',
                                [ScriptParam('int', 'nAmount', None), ScriptParam('int', 'nDamagePower', None),
                                 ScriptParam('int', 'nLimit', '0')],
                                '// 119: Create a Damage Reduction effect\n// - nAmount: amount of damage reduction\n// - nDamagePower: DAMAGE_POWER_*\n// - nLimit: How much damage the effect can absorb before disappearing.\n//   Set to zero for infinite\n',
                                'effect EffectDamageReduction(int nAmount, int nDamagePower, int nLimit=0);'),
                 ScriptFunction('effect', 'EffectDamageIncrease', [ScriptParam('int', 'nBonus', None),
                                                                   ScriptParam('int', 'nDamageType',
                                                                               'DAMAGE_TYPE_UNIVERSAL')],
                                '// 120: Create a Damage Increase effect\n// - nBonus: DAMAGE_BONUS_*\n// - nDamageType: DAMAGE_TYPE_*\n',
                                'effect EffectDamageIncrease(int nBonus, int nDamageType=DAMAGE_TYPE_UNIVERSAL);'),
                 ScriptFunction('float', 'RoundsToSeconds', [ScriptParam('int', 'nRounds', None)],
                                '// 121: Convert nRounds into a number of seconds\n// A round is always 6.0 seconds\n',
                                'float RoundsToSeconds(int nRounds);'),
                 ScriptFunction('float', 'HoursToSeconds', [ScriptParam('int', 'nHours', None)],
                                '// 122: Convert nHours into a number of seconds\n// The result will depend on how many minutes there are per hour (game-time)\n',
                                'float HoursToSeconds(int nHours);'),
                 ScriptFunction('float', 'TurnsToSeconds', [ScriptParam('int', 'nTurns', None)],
                                '// 123: Convert nTurns into a number of seconds\n// A turn is always 60.0 seconds\n',
                                'float TurnsToSeconds(int nTurns);'),
                 ScriptFunction('void', 'SoundObjectSetFixedVariance',
                                [ScriptParam('object', 'oSound', None), ScriptParam('float', 'fFixedVariance', None)],
                                '// 124. SoundObjectSetFixedVariance\n// Sets the constant variance at which to play the sound object\n// This variance is a multiplier of the original sound\n',
                                'void SoundObjectSetFixedVariance( object oSound, float fFixedVariance );'),
                 ScriptFunction('int', 'GetGoodEvilValue', [ScriptParam('object', 'oCreature', None)],
                                "// 125: Get an integer between 0 and 100 (inclusive) to represent oCreature's\n// Good/Evil alignment\n// (100=good, 0=evil)\n// * Return value if oCreature is not a valid creature: -1\n",
                                'int GetGoodEvilValue(object oCreature);'),
                 ScriptFunction('int', 'GetPartyMemberCount', [],
                                '// 126: GetPartyMemberCount\n// Returns a count of how many members are in the party including the player character\n',
                                'int GetPartyMemberCount();'),
                 ScriptFunction('int', 'GetAlignmentGoodEvil', [ScriptParam('object', 'oCreature', None)],
                                "// 127: Return an ALIGNMENT_* constant to represent oCreature's good/evil alignment\n// * Return value if oCreature is not a valid creature: -1\n",
                                'int GetAlignmentGoodEvil(object oCreature);'),
                 ScriptFunction('object', 'GetFirstObjectInShape',
                                [ScriptParam('int', 'nShape', None), ScriptParam('float', 'fSize', None),
                                 ScriptParam('location', 'lTarget', None), ScriptParam('int', 'bLineOfSight', 'FALSE'),
                                 ScriptParam('int', 'nObjectFilter', 'OBJECT_TYPE_CREATURE'),
                                 ScriptParam('vector', 'vOrigin', '[0.0'), ScriptParam('0.0', '0.0]', None)],
                                '// 128: Get the first object in nShape\n// - nShape: SHAPE_*\n// - fSize:\n//   -> If nShape == SHAPE_SPHERE, this is the radius of the sphere\n//   -> If nShape == SHAPE_SPELLCYLINDER, this is the radius of the cylinder\n//   -> If nShape == SHAPE_CONE, this is the widest radius of the cone\n//   -> If nShape == SHAPE_CUBE, this is half the length of one of the sides of\n//      the cube\n// - lTarget: This is the centre of the effect, usually GetSpellTargetPosition(),\n//   or the end of a cylinder or cone.\n// - bLineOfSight: This controls whether to do a line-of-sight check on the\n//   object returned.\n//   (This can be used to ensure that spell effects do not go through walls.)\n// - nObjectFilter: This allows you to filter out undesired object types, using\n//   bitwise "or".\n//   For example, to return only creatures and doors, the value for this\n//   parameter would be OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR\n// - vOrigin: This is only used for cylinders and cones, and specifies the\n//   origin of the effect(normally the spell-caster\'s position).\n// Return value on error: OBJECT_INVALID\n',
                                'object GetFirstObjectInShape(int nShape, float fSize, location lTarget, int bLineOfSight=FALSE, int nObjectFilter=OBJECT_TYPE_CREATURE, vector vOrigin=[0.0,0.0,0.0]);'),
                 ScriptFunction('object', 'GetNextObjectInShape',
                                [ScriptParam('int', 'nShape', None), ScriptParam('float', 'fSize', None),
                                 ScriptParam('location', 'lTarget', None), ScriptParam('int', 'bLineOfSight', 'FALSE'),
                                 ScriptParam('int', 'nObjectFilter', 'OBJECT_TYPE_CREATURE'),
                                 ScriptParam('vector', 'vOrigin', '[0.0'), ScriptParam('0.0', '0.0]', None)],
                                '// 129: Get the next object in nShape\n// - nShape: SHAPE_*\n// - fSize:\n//   -> If nShape == SHAPE_SPHERE, this is the radius of the sphere\n//   -> If nShape == SHAPE_SPELLCYLINDER, this is the radius of the cylinder\n//   -> If nShape == SHAPE_CONE, this is the widest radius of the cone\n//   -> If nShape == SHAPE_CUBE, this is half the length of one of the sides of\n//      the cube\n// - lTarget: This is the centre of the effect, usually GetSpellTargetPosition(),\n//   or the end of a cylinder or cone.\n// - bLineOfSight: This controls whether to do a line-of-sight check on the\n//   object returned. (This can be used to ensure that spell effects do not go\n//   through walls.)\n// - nObjectFilter: This allows you to filter out undesired object types, using\n//   bitwise "or". For example, to return only creatures and doors, the value for\n//   this parameter would be OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR\n// - vOrigin: This is only used for cylinders and cones, and specifies the origin\n//   of the effect (normally the spell-caster\'s position).\n// Return value on error: OBJECT_INVALID\n',
                                'object GetNextObjectInShape(int nShape, float fSize, location lTarget, int bLineOfSight=FALSE, int nObjectFilter=OBJECT_TYPE_CREATURE, vector vOrigin=[0.0,0.0,0.0]);'),
                 ScriptFunction('effect', 'EffectEntangle', [],
                                "// 130: Create an Entangle effect\n// When applied, this effect will restrict the creature's movement and apply a\n// (-2) to all attacks and a -4 to AC.\n",
                                'effect EffectEntangle();'), ScriptFunction('void', 'SignalEvent',
                                                                            [ScriptParam('object', 'oObject', None),
                                                                             ScriptParam('event', 'evToRun', None)],
                                                                            '// 131: Cause oObject to run evToRun\n',
                                                                            'void SignalEvent(object oObject, event evToRun);'),
                 ScriptFunction('event', 'EventUserDefined', [ScriptParam('int', 'nUserDefinedEventNumber', None)],
                                '// 132: Create an event of the type nUserDefinedEventNumber\n',
                                'event EventUserDefined(int nUserDefinedEventNumber);'),
                 ScriptFunction('effect', 'EffectDeath', [ScriptParam('int', 'nSpectacularDeath', 'FALSE'),
                                                          ScriptParam('int', 'nDisplayFeedback', 'TRUE'),
                                                          ScriptParam('int', 'nNoFadeAway', 'FALSE')],
                                '// 133: Create a Death effect\n// - nSpectacularDeath: if this is TRUE, the creature to which this effect is\n//   applied will die in an extraordinary fashion\n// - nDisplayFeedback\n// - nNoFadeAway: Passing TRUE for this parameter will keep the bodies from fading after the creature\n//                dies. Note that NO XP will be awarded if the creature is killed with this parameter.\n',
                                'effect EffectDeath(int nSpectacularDeath=FALSE, int nDisplayFeedback=TRUE, int nNoFadeAway=FALSE);'),
                 ScriptFunction('effect', 'EffectKnockdown', [],
                                '// 134: Create a Knockdown effect\n// This effect knocks creatures off their feet, they will sit until the effect\n// is removed. This should be applied as a temporary effect with a 3 second\n// duration minimum (1 second to fall, 1 second sitting, 1 second to get up).\n',
                                'effect EffectKnockdown();'), ScriptFunction('void', 'ActionGiveItem',
                                                                             [ScriptParam('object', 'oItem', None),
                                                                              ScriptParam('object', 'oGiveTo', None)],
                                                                             '// 135: Give oItem to oGiveTo\n// If oItem is not a valid item, or oGiveTo is not a valid object, nothing will\n// happen.\n',
                                                                             'void ActionGiveItem(object oItem, object oGiveTo);'),
                 ScriptFunction('void', 'ActionTakeItem',
                                [ScriptParam('object', 'oItem', None), ScriptParam('object', 'oTakeFrom', None)],
                                '// 136: Take oItem from oTakeFrom\n// If oItem is not a valid item, or oTakeFrom is not a valid object, nothing\n// will happen.\n',
                                'void ActionTakeItem(object oItem, object oTakeFrom);'),
                 ScriptFunction('vector', 'VectorNormalize', [ScriptParam('vector', 'vVector', None)],
                                '// 137: Normalize vVector\n', 'vector VectorNormalize(vector vVector);'),
                 ScriptFunction('int', 'GetItemStackSize', [ScriptParam('object', 'oItem', None)],
                                '// 138:\n// Gets the stack size of an item.\n',
                                'int GetItemStackSize( object oItem );'), ScriptFunction('int', 'GetAbilityScore', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nAbilityType', None)],
                                                                                         '// 139: Get the ability score of type nAbility for a creature (otherwise 0)\n// - oCreature: the creature whose ability score we wish to find out\n// - nAbilityType: ABILITY_*\n// Return value on error: 0\n',
                                                                                         'int GetAbilityScore(object oCreature, int nAbilityType);'),
                 ScriptFunction('int', 'GetIsDead', [ScriptParam('object', 'oCreature', None)],
                                '// 140: * Returns TRUE if oCreature is a dead NPC, dead PC or a dying PC.\n',
                                'int GetIsDead(object oCreature);'), ScriptFunction('void', 'PrintVector', [
        ScriptParam('vector', 'vVector', None), ScriptParam('int', 'bPrepend', None)],
                                                                                    '// 141: Output vVector to the logfile.\n// - vVector\n// - bPrepend: if this is TRUE, the message will be prefixed with "PRINTVECTOR:"\n',
                                                                                    'void PrintVector(vector vVector, int bPrepend);'),
                 ScriptFunction('vector', 'Vector',
                                [ScriptParam('float', 'x', '0.0f'), ScriptParam('float', 'y', '0.0f'),
                                 ScriptParam('float', 'z', '0.0f')],
                                '// 142: Create a vector with the specified values for x, y and z\n',
                                'vector Vector(float x=0.0f, float y=0.0f, float z=0.0f);'),
                 ScriptFunction('void', 'SetFacingPoint', [ScriptParam('vector', 'vTarget', None)],
                                '// 143: Cause the caller to face vTarget\n', 'void SetFacingPoint(vector vTarget);'),
                 ScriptFunction('vector', 'AngleToVector', [ScriptParam('float', 'fAngle', None)],
                                '// 144: Convert fAngle to a vector\n', 'vector AngleToVector(float fAngle);'),
                 ScriptFunction('float', 'VectorToAngle', [ScriptParam('vector', 'vVector', None)],
                                '// 145: Convert vVector to an angle\n', 'float VectorToAngle(vector vVector);'),
                 ScriptFunction('int', 'TouchAttackMelee', [ScriptParam('object', 'oTarget', None),
                                                            ScriptParam('int', 'bDisplayFeedback', 'TRUE')],
                                '// 146: The caller will perform a Melee Touch Attack on oTarget\n// This is not an action, and it assumes the caller is already within range of\n// oTarget\n// * Returns 0 on a miss, 1 on a hit and 2 on a critical hit\n',
                                'int TouchAttackMelee(object oTarget, int bDisplayFeedback=TRUE);'),
                 ScriptFunction('int', 'TouchAttackRanged', [ScriptParam('object', 'oTarget', None),
                                                             ScriptParam('int', 'bDisplayFeedback', 'TRUE')],
                                '// 147: The caller will perform a Ranged Touch Attack on oTarget\n// * Returns 0 on a miss, 1 on a hit and 2 on a critical hit\n',
                                'int TouchAttackRanged(object oTarget, int bDisplayFeedback=TRUE);'),
                 ScriptFunction('effect', 'EffectParalyze', [], '// 148: Create a Paralyze effect\n',
                                'effect EffectParalyze();'), ScriptFunction('effect', 'EffectSpellImmunity', [
        ScriptParam('int', 'nImmunityToSpell', 'FORCE_POWER_ALL_FORCE_POWERS')],
                                                                            '// 149: Create a Spell Immunity effect.\n// There is a known bug with this function. There *must* be a parameter specified\n// when this is called (even if the desired parameter is SPELL_ALL_SPELLS),\n// otherwise an effect of type EFFECT_TYPE_INVALIDEFFECT will be returned.\n// - nImmunityToSpell: SPELL_*\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nImmunityToSpell is\n//   invalid.\n',
                                                                            'effect EffectSpellImmunity(int nImmunityToSpell=FORCE_POWER_ALL_FORCE_POWERS);'),
                 ScriptFunction('void', 'SetItemStackSize',
                                [ScriptParam('object', 'oItem', None), ScriptParam('int', 'nStackSize', None)],
                                '// 150:\n// Set the stack size of an item.\n// NOTE: The stack size will be clamped to between 1 and the max stack size (as\n//       specified in the base item).\n',
                                'void SetItemStackSize( object oItem, int nStackSize );'),
                 ScriptFunction('float', 'GetDistanceBetween',
                                [ScriptParam('object', 'oObjectA', None), ScriptParam('object', 'oObjectB', None)],
                                '// 151: Get the distance in metres between oObjectA and oObjectB.\n// * Return value if either object is invalid: 0.0f\n',
                                'float GetDistanceBetween(object oObjectA, object oObjectB);'),
                 ScriptFunction('void', 'SetReturnStrref',
                                [ScriptParam('int', 'bShow', None), ScriptParam('int', 'srStringRef', '0'),
                                 ScriptParam('int', 'srReturnQueryStrRef', '0')],
                                "// 152: SetReturnStrref\n// This function will turn on/off the display of the 'return to ebon hawk' option\n// on the map screen and allow the string to be changed to an arbitrary string ref\n// srReturnQueryStrRef is the string ref that will be displayed in the query pop\n// up confirming that you wish to return to the specified location.\n",
                                'void SetReturnStrref(int bShow, int srStringRef = 0, int srReturnQueryStrRef = 0);'),
                 ScriptFunction('effect', 'EffectForceJump',
                                [ScriptParam('object', 'oTarget', None), ScriptParam('int', 'nAdvanced', '0')],
                                '// 153: EffectForceJump\n// The effect required for force jumping\n',
                                'effect EffectForceJump(object oTarget, int nAdvanced = 0);'),
                 ScriptFunction('effect', 'EffectSleep', [], '// 154: Create a Sleep effect\n',
                                'effect EffectSleep();'), ScriptFunction('object', 'GetItemInSlot',
                                                                         [ScriptParam('int', 'nInventorySlot', None),
                                                                          ScriptParam('object', 'oCreature',
                                                                                      'OBJECT_SELF')],
                                                                         "// 155: Get the object which is in oCreature's specified inventory slot\n// - nInventorySlot: INVENTORY_SLOT_*\n// - oCreature\n// * Returns OBJECT_INVALID if oCreature is not a valid creature or there is no\n//   item in nInventorySlot.\n",
                                                                         'object GetItemInSlot(int nInventorySlot, object oCreature=OBJECT_SELF);'),
                 ScriptFunction('effect', 'EffectTemporaryForcePoints', [ScriptParam('int', 'nTempForce', None)],
                                '// 156: This was previously EffectCharmed();\n',
                                'effect EffectTemporaryForcePoints(int nTempForce);'),
                 ScriptFunction('effect', 'EffectConfused', [], '// 157: Create a Confuse effect\n',
                                'effect EffectConfused();'),
                 ScriptFunction('effect', 'EffectFrightened', [], '// 158: Create a Frighten effect\n',
                                'effect EffectFrightened();'),
                 ScriptFunction('effect', 'EffectChoke', [], '// 159: Choke the bugger...\n', 'effect EffectChoke( );'),
                 ScriptFunction('void', 'SetGlobalString',
                                [ScriptParam('string', 'sIdentifier', None), ScriptParam('string', 'sValue', None)],
                                "// 160: Sets a global string with the specified identifier.  This is an EXTREMELY\n//      restricted function - do not use without expilicit permission.\n//      This means if you are not Preston.  Then go see him if you're even thinking\n//      about using this.\n",
                                'void SetGlobalString( string sIdentifier, string sValue );'),
                 ScriptFunction('effect', 'EffectStunned', [], '// 161: Create a Stun effect\n',
                                'effect EffectStunned();'), ScriptFunction('void', 'SetCommandable',
                                                                           [ScriptParam('int', 'bCommandable', None),
                                                                            ScriptParam('object', 'oTarget',
                                                                                        'OBJECT_SELF')],
                                                                           "// 162: Set whether oTarget's action stack can be modified\n",
                                                                           'void SetCommandable(int bCommandable, object oTarget=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetCommandable', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                "// 163: Determine whether oTarget's action stack can be modified.\n",
                                'int GetCommandable(object oTarget=OBJECT_SELF);'),
                 ScriptFunction('effect', 'EffectRegenerate',
                                [ScriptParam('int', 'nAmount', None), ScriptParam('float', 'fIntervalSeconds', None)],
                                '// 164: Create a Regenerate effect.\n// - nAmount: amount of damage to be regenerated per time interval\n// - fIntervalSeconds: length of interval in seconds\n',
                                'effect EffectRegenerate(int nAmount, float fIntervalSeconds);'),
                 ScriptFunction('effect', 'EffectMovementSpeedIncrease', [ScriptParam('int', 'nNewSpeedPercent', None)],
                                '// 165: Create a Movement Speed Increase effect.\n// - nNewSpeedPercent: This works in a dodgy way so please read this notes carefully.\n//   If you supply an integer under 100, 100 gets added to it to produce the final speed.\n//   e.g. if you supply 50, then the resulting speed is 150% of the original speed.\n//   If you supply 100 or above, then this is used directly as the resulting speed.\n//   e.g. if you specify 100, then the resulting speed is 100% of the original speed that is,\n//        it is unchanged.\n//        However if you specify 200, then the resulting speed is double the original speed.\n',
                                'effect EffectMovementSpeedIncrease(int nNewSpeedPercent);'),
                 ScriptFunction('int', 'GetHitDice', [ScriptParam('object', 'oCreature', None)],
                                '// 166: Get the number of hitdice for oCreature.\n// * Return value if oCreature is not a valid creature: 0\n',
                                'int GetHitDice(object oCreature);'), ScriptFunction('void', 'ActionForceFollowObject',
                                                                                     [ScriptParam('object', 'oFollow',
                                                                                                  None),
                                                                                      ScriptParam('float',
                                                                                                  'fFollowDistance',
                                                                                                  '0.0f')],
                                                                                     '// 167: The action subject will follow oFollow until a ClearAllActions() is called.\n// - oFollow: this is the object to be followed\n// - fFollowDistance: follow distance in metres\n// * No return value\n',
                                                                                     'void ActionForceFollowObject(object oFollow, float fFollowDistance=0.0f);'),
                 ScriptFunction('string', 'GetTag', [ScriptParam('object', 'oObject', None)],
                                '// 168: Get the Tag of oObject\n// * Return value if oObject is not a valid object: ""\n',
                                'string GetTag(object oObject);'), ScriptFunction('int', 'ResistForce', [
        ScriptParam('object', 'oSource', None), ScriptParam('object', 'oTarget', None)],
                                                                                  '// 169: Do a Force Resistance check between oSource and oTarget, returning TRUE if\n// the force was resisted.\n// * Return value if oSource or oTarget is an invalid object: FALSE\n',
                                                                                  'int ResistForce(object oSource, object oTarget);'),
                 ScriptFunction('int', 'GetEffectType', [ScriptParam('effect', 'eEffect', None)],
                                '// 170: Get the effect type (EFFECT_TYPE_*) of eEffect.\n// * Return value if eEffect is invalid: EFFECT_INVALIDEFFECT\n',
                                'int GetEffectType(effect eEffect);'), ScriptFunction('effect', 'EffectAreaOfEffect', [
        ScriptParam('int', 'nAreaEffectId', None), ScriptParam('string', 'sOnEnterScript', '""'),
        ScriptParam('string', 'sHeartbeatScript', '""'), ScriptParam('string', 'sOnExitScript', '""')],
                                                                                      '// 171: Create an Area Of Effect effect in the area of the creature it is applied to.\n// If the scripts are not specified, default ones will be used.\n',
                                                                                      'effect EffectAreaOfEffect(int nAreaEffectId, string sOnEnterScript="", string sHeartbeatScript="", string sOnExitScript="");'),
                 ScriptFunction('int', 'GetFactionEqual', [ScriptParam('object', 'oFirstObject', None),
                                                           ScriptParam('object', 'oSecondObject', 'OBJECT_SELF')],
                                '// 172: * Returns TRUE if the Faction Ids of the two objects are the same\n',
                                'int GetFactionEqual(object oFirstObject, object oSecondObject=OBJECT_SELF);'),
                 ScriptFunction('void', 'ChangeFaction', [ScriptParam('object', 'oObjectToChangeFaction', None),
                                                          ScriptParam('object', 'oMemberOfFactionToJoin', None)],
                                '// 173: Make oObjectToChangeFaction join the faction of oMemberOfFactionToJoin.\n// NB. ** This will only work for two NPCs **\n',
                                'void ChangeFaction(object oObjectToChangeFaction, object oMemberOfFactionToJoin);'),
                 ScriptFunction('int', 'GetIsListening', [ScriptParam('object', 'oObject', None)],
                                '// 174: * Returns TRUE if oObject is listening for something\n',
                                'int GetIsListening(object oObject);'), ScriptFunction('void', 'SetListening', [
        ScriptParam('object', 'oObject', None), ScriptParam('int', 'bValue', None)],
                                                                                       '// 175: Set whether oObject is listening.\n',
                                                                                       'void SetListening(object oObject, int bValue);'),
                 ScriptFunction('void', 'SetListenPattern',
                                [ScriptParam('object', 'oObject', None), ScriptParam('string', 'sPattern', None),
                                 ScriptParam('int', 'nNumber', '0')],
                                '// 176: Set the string for oObject to listen for.\n// Note: this does not set oObject to be listening.\n',
                                'void SetListenPattern(object oObject, string sPattern, int nNumber=0);'),
                 ScriptFunction('int', 'TestStringAgainstPattern',
                                [ScriptParam('string', 'sPattern', None), ScriptParam('string', 'sStringToTest', None)],
                                '// 177: * Returns TRUE if sStringToTest matches sPattern.\n',
                                'int TestStringAgainstPattern(string sPattern, string sStringToTest);'),
                 ScriptFunction('string', 'GetMatchedSubstring', [ScriptParam('int', 'nString', None)],
                                '// 178: Get the appropriate matched string (this should only be used in\n// OnConversation scripts).\n// * Returns the appropriate matched string, otherwise returns ""\n',
                                'string GetMatchedSubstring(int nString);'),
                 ScriptFunction('int', 'GetMatchedSubstringsCount', [],
                                '// 179: Get the number of string parameters available.\n// * Returns -1 if no string matched (this could be because of a dialogue event)\n',
                                'int GetMatchedSubstringsCount();'), ScriptFunction('effect', 'EffectVisualEffect', [
        ScriptParam('int', 'nVisualEffectId', None), ScriptParam('int', 'nMissEffect', 'FALSE')],
                                                                                    '// 180: * Create a Visual Effect that can be applied to an object.\n// - nVisualEffectId\n// - nMissEffect: if this is TRUE, a random vector near or past the target will\n//   be generated, on which to play the effect\n',
                                                                                    'effect EffectVisualEffect(int nVisualEffectId, int nMissEffect=FALSE);'),
                 ScriptFunction('object', 'GetFactionWeakestMember',
                                [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                 ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                "// 181: Get the weakest member of oFactionMember's faction.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                'object GetFactionWeakestMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                 ScriptFunction('object', 'GetFactionStrongestMember',
                                [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                 ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                "// 182: Get the strongest member of oFactionMember's faction.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                'object GetFactionStrongestMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                 ScriptFunction('object', 'GetFactionMostDamagedMember',
                                [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                 ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                "// 183: Get the member of oFactionMember's faction that has taken the most hit points\n// of damage.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                'object GetFactionMostDamagedMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                 ScriptFunction('object', 'GetFactionLeastDamagedMember',
                                [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                 ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                "// 184: Get the member of oFactionMember's faction that has taken the fewest hit\n// points of damage.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                'object GetFactionLeastDamagedMember(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                 ScriptFunction('int', 'GetFactionGold', [ScriptParam('object', 'oFactionMember', None)],
                                "// 185: Get the amount of gold held by oFactionMember's faction.\n// * Returns -1 if oFactionMember's faction is invalid.\n",
                                'int GetFactionGold(object oFactionMember);'),
                 ScriptFunction('int', 'GetFactionAverageReputation',
                                [ScriptParam('object', 'oSourceFactionMember', None),
                                 ScriptParam('object', 'oTarget', None)],
                                "// 186: Get an integer between 0 and 100 (inclusive) that represents how\n// oSourceFactionMember's faction feels about oTarget.\n// * Return value on error: -1\n",
                                'int GetFactionAverageReputation(object oSourceFactionMember, object oTarget);'),
                 ScriptFunction('int', 'GetFactionAverageGoodEvilAlignment',
                                [ScriptParam('object', 'oFactionMember', None)],
                                "// 187: Get an integer between 0 and 100 (inclusive) that represents the average\n// good/evil alignment of oFactionMember's faction.\n// * Return value on error: -1\n",
                                'int GetFactionAverageGoodEvilAlignment(object oFactionMember);'),
                 ScriptFunction('float', 'SoundObjectGetFixedVariance', [ScriptParam('object', 'oSound', None)],
                                '// 188. SoundObjectGetFixedVariance\n// Gets the constant variance at which to play the sound object\n',
                                'float SoundObjectGetFixedVariance(object oSound);'),
                 ScriptFunction('int', 'GetFactionAverageLevel', [ScriptParam('object', 'oFactionMember', None)],
                                '// 189: Get the average level of the members of the faction.\n// * Return value on error: -1\n',
                                'int GetFactionAverageLevel(object oFactionMember);'),
                 ScriptFunction('int', 'GetFactionAverageXP', [ScriptParam('object', 'oFactionMember', None)],
                                '// 190: Get the average XP of the members of the faction.\n// * Return value on error: -1\n',
                                'int GetFactionAverageXP(object oFactionMember);'),
                 ScriptFunction('int', 'GetFactionMostFrequentClass', [ScriptParam('object', 'oFactionMember', None)],
                                '// 191: Get the most frequent class in the faction - this can be compared with the\n// constants CLASS_TYPE_*.\n// * Return value on error: -1\n',
                                'int GetFactionMostFrequentClass(object oFactionMember);'),
                 ScriptFunction('object', 'GetFactionWorstAC', [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                                                ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                "// 192: Get the object faction member with the lowest armour class.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                'object GetFactionWorstAC(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                 ScriptFunction('object', 'GetFactionBestAC', [ScriptParam('object', 'oFactionMember', 'OBJECT_SELF'),
                                                               ScriptParam('int', 'bMustBeVisible', 'TRUE')],
                                "// 193: Get the object faction member with the highest armour class.\n// * Returns OBJECT_INVALID if oFactionMember's faction is invalid.\n",
                                'object GetFactionBestAC(object oFactionMember=OBJECT_SELF, int bMustBeVisible=TRUE);'),
                 ScriptFunction('string', 'GetGlobalString', [ScriptParam('string', 'sIdentifier', None)],
                                "// 194: Get a global string with the specified identifier\n//      This is an EXTREMELY restricted function.  Use only with explicit permission.\n//      This means if you are not Preston.  Then go see him if you're even thinking\n//      about using this.\n",
                                'string GetGlobalString( string sIdentifier );'),
                 ScriptFunction('int', 'GetListenPatternNumber', [],
                                '// 195: In an onConversation script this gets the number of the string pattern\n// matched (the one that triggered the script).\n// * Returns -1 if no string matched\n',
                                'int GetListenPatternNumber();'), ScriptFunction('void', 'ActionJumpToObject', [
        ScriptParam('object', 'oToJumpTo', None), ScriptParam('int', 'bWalkStraightLineToPoint', 'TRUE')],
                                                                                 '// 196: Jump to an object ID, or as near to it as possible.\n',
                                                                                 'void ActionJumpToObject(object oToJumpTo, int bWalkStraightLineToPoint=TRUE);'),
                 ScriptFunction('object', 'GetWaypointByTag', [ScriptParam('string', 'sWaypointTag', None)],
                                '// 197: Get the first waypoint with the specified tag.\n// * Returns OBJECT_INVALID if the waypoint cannot be found.\n',
                                'object GetWaypointByTag(string sWaypointTag);'),
                 ScriptFunction('object', 'GetTransitionTarget', [ScriptParam('object', 'oTransition', None)],
                                '// 198: Get the destination (a waypoint or a door) for a trigger or a door.\n// * Returns OBJECT_INVALID if oTransition is not a valid trigger or door.\n',
                                'object GetTransitionTarget(object oTransition);'),
                 ScriptFunction('effect', 'EffectLinkEffects', [ScriptParam('effect', 'eChildEffect', None),
                                                                ScriptParam('effect', 'eParentEffect', None)],
                                '// 199: Link the two supplied effects, returning eChildEffect as a child of\n// eParentEffect.\n// Note: When applying linked effects if the target is immune to all valid\n// effects all other effects will be removed as well. This means that if you\n// apply a visual effect and a silence effect (in a link) and the target is\n// immune to the silence effect that the visual effect will get removed as well.\n// Visual Effects are not considered "valid" effects for the purposes of\n// determining if an effect will be removed or not and as such should never be\n// packaged *only* with other visual effects in a link.\n',
                                'effect EffectLinkEffects(effect eChildEffect, effect eParentEffect );'),
                 ScriptFunction('object', 'GetObjectByTag',
                                [ScriptParam('string', 'sTag', None), ScriptParam('int', 'nNth', '0')],
                                '// 200: Get the nNth object with the specified tag.\n// - sTag\n// - nNth: the nth object with this tag may be requested\n// * Returns OBJECT_INVALID if the object cannot be found.\n',
                                'object GetObjectByTag(string sTag, int nNth=0);'),
                 ScriptFunction('void', 'AdjustAlignment',
                                [ScriptParam('object', 'oSubject', None), ScriptParam('int', 'nAlignment', None),
                                 ScriptParam('int', 'nShift', None), ScriptParam('int', 'bDontModifyNPCs', 'FALSE')],
                                "// 201: Adjust the alignment of oSubject.\n// - oSubject\n// - nAlignment:\n//   -> ALIGNMENT_LIGHT_SIDE/ALIGNMENT_DARK_SIDE: oSubject's\n//      alignment will be shifted in the direction specified\n//   -> ALIGNMENT_NEUTRAL: nShift is applied to oSubject's dark side/light side\n//      alignment value in the direction which is towards neutrality.\n//     e.g. If oSubject has an alignment value of 80 (i.e. light side)\n//          then if nShift is 15, the alignment value will become (80-15)=65\n//     Furthermore, the shift will at most take the alignment value to 50 and\n//     not beyond.\n//     e.g. If oSubject has an alignment value of 40 then if nShift is 15,\n//          the aligment value will become 50\n// - nShift: this is the desired shift in alignment\n// * No return value\n// - bDontModifyNPCs - Defaults to 'FALSE', if you pass in 'TRUE' then you can adjust\n//   the playercharacter's alignment without impacting the rest of the NPCs\n",
                                'void AdjustAlignment(object oSubject, int nAlignment, int nShift, int bDontModifyNPCs = FALSE);'),
                 ScriptFunction('void', 'ActionWait', [ScriptParam('float', 'fSeconds', None)],
                                '// 202: Do nothing for fSeconds seconds.\n', 'void ActionWait(float fSeconds);'),
                 ScriptFunction('void', 'SetAreaTransitionBMP', [ScriptParam('int', 'nPredefinedAreaTransition', None),
                                                                 ScriptParam('string', 'sCustomAreaTransitionBMP',
                                                                             '""')],
                                '// 203: Set the transition bitmap of a player; this should only be called in area\n// transition scripts. This action should be run by the person "clicking" the\n// area transition via AssignCommand.\n// - nPredefinedAreaTransition:\n//   -> To use a predefined area transition bitmap, use one of AREA_TRANSITION_*\n//   -> To use a custom, user-defined area transition bitmap, use\n//      AREA_TRANSITION_USER_DEFINED and specify the filename in the second\n//      parameter\n// - sCustomAreaTransitionBMP: this is the filename of a custom, user-defined\n//   area transition bitmap\n',
                                'void SetAreaTransitionBMP(int nPredefinedAreaTransition, string sCustomAreaTransitionBMP="");'),
                 ScriptFunction('void', 'ActionStartConversation', [ScriptParam('object', 'oObjectToConverse', None),
                                                                    ScriptParam('string', 'sDialogResRef', '""'),
                                                                    ScriptParam('int', 'bPrivateConversation', 'FALSE'),
                                                                    ScriptParam('int', 'nConversationType',
                                                                                'CONVERSATION_TYPE_CINEMATIC'),
                                                                    ScriptParam('int', 'bIgnoreStartRange', 'FALSE'),
                                                                    ScriptParam('string', 'sNameObjectToIgnore1', '""'),
                                                                    ScriptParam('string', 'sNameObjectToIgnore2', '""'),
                                                                    ScriptParam('string', 'sNameObjectToIgnore3', '""'),
                                                                    ScriptParam('string', 'sNameObjectToIgnore4', '""'),
                                                                    ScriptParam('string', 'sNameObjectToIgnore5', '""'),
                                                                    ScriptParam('string', 'sNameObjectToIgnore6', '""'),
                                                                    ScriptParam('int', 'bUseLeader', 'FALSE'),
                                                                    ScriptParam('int', 'nBarkX', '-1'),
                                                                    ScriptParam('int', 'nBarkY', '-1'),
                                                                    ScriptParam('int', 'bDontClearAllActions', '0')],
                                "// AMF: APRIL 28, 2003 - I HAVE CHANGED THIS FUNCTION AS PER DAN'S REQUEST\n// 204: Starts a conversation with oObjectToConverseWith - this will cause their\n// OnDialog event to fire.\n// - oObjectToConverseWith\n// - sDialogResRef: If this is blank, the creature's own dialogue file will be used\n// - bPrivateConversation: If this is blank, the default is FALSE.\n// - nConversationType - If this is blank the default will be Cinematic, ie. a normal conversation type\n//                                  other choices inclue: CONVERSATION_TYPE_COMPUTER\n//   UPDATE:  nConversationType actually has no meaning anymore.  This has been replaced by a flag in the dialog editor.  However\n//                for backwards compatability it has been left here.  So when using this command place CONVERSATION_TYPE_CINEMATIC in here. - DJF\n// - bIgnoreStartRange - If this is blank the default will be FALSE, ie. Start conversation ranges are in effect\n//                                                                      Setting this to TRUE will cause creatures to start a conversation without requiring to close\n//                                                                      the distance between the two object in dialog.\n// - sNameObjectToIgnore1-6 - Normally objects in the animation list of the dialog editor have to be available for animations on that node to work\n//                                        these 6 strings are to indicate 6 objects that don\x92t need to be available for things to proceed.  The string should be EXACTLY\n//                                        the same as the string that it represents in the dialog editor.\n// - nBarkX and nBarkY - These override the left, top corner position for the bark string if the conversation starting is a bark string.\n//                       They only happen on a conversation by conversation basis and don't stay in effect in subsequent conversations.\n",
                                'void ActionStartConversation(object oObjectToConverse, string sDialogResRef = "", int bPrivateConversation = FALSE, int nConversationType = CONVERSATION_TYPE_CINEMATIC, int bIgnoreStartRange = FALSE, string sNameObjectToIgnore1 = "", string sNameObjectToIgnore2 = "", string sNameObjectToIgnore3 = "", string sNameObjectToIgnore4 = "", string sNameObjectToIgnore5 = "", string sNameObjectToIgnore6 = "", int bUseLeader = FALSE, int nBarkX = -1, int nBarkY = -1, int bDontClearAllActions = 0);'),
                 ScriptFunction('void', 'ActionPauseConversation', [], '// 205: Pause the current conversation.\n',
                                'void ActionPauseConversation();'),
                 ScriptFunction('void', 'ActionResumeConversation', [],
                                '// 206: Resume a conversation after it has been paused.\n',
                                'void ActionResumeConversation();'), ScriptFunction('effect', 'EffectBeam', [
        ScriptParam('int', 'nBeamVisualEffect', None), ScriptParam('object', 'oEffector', None),
        ScriptParam('int', 'nBodyPart', None), ScriptParam('int', 'bMissEffect', 'FALSE')],
                                                                                    '// 207: Create a Beam effect.\n// - nBeamVisualEffect: VFX_BEAM_*\n// - oEffector: the beam is emitted from this creature\n// - nBodyPart: BODY_NODE_*\n// - bMissEffect: If this is TRUE, the beam will fire to a random vector near or\n//   past the target\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nBeamVisualEffect is\n//   not valid.\n',
                                                                                    'effect EffectBeam(int nBeamVisualEffect, object oEffector, int nBodyPart, int bMissEffect=FALSE);'),
                 ScriptFunction('int', 'GetReputation',
                                [ScriptParam('object', 'oSource', None), ScriptParam('object', 'oTarget', None)],
                                '// 208: Get an integer between 0 and 100 (inclusive) that represents how oSource\n// feels about oTarget.\n// -> 0-10 means oSource is hostile to oTarget\n// -> 11-89 means oSource is neutral to oTarget\n// -> 90-100 means oSource is friendly to oTarget\n// * Returns -1 if oSource or oTarget does not identify a valid object\n',
                                'int GetReputation(object oSource, object oTarget);'),
                 ScriptFunction('void', 'AdjustReputation', [ScriptParam('object', 'oTarget', None),
                                                             ScriptParam('object', 'oSourceFactionMember', None),
                                                             ScriptParam('int', 'nAdjustment', None)],
                                "// 209: Adjust how oSourceFactionMember's faction feels about oTarget by the\n// specified amount.\n// Note: This adjusts Faction Reputation, how the entire faction that\n// oSourceFactionMember is in, feels about oTarget.\n// * No return value\n",
                                'void AdjustReputation(object oTarget, object oSourceFactionMember, int nAdjustment);'),
                 ScriptFunction('string', 'GetModuleFileName', [],
                                '// 210: Gets the actual file name of the current module\n',
                                'string GetModuleFileName();'),
                 ScriptFunction('object', 'GetGoingToBeAttackedBy', [ScriptParam('object', 'oTarget', None)],
                                '// 211: Get the creature that is going to attack oTarget.\n// Note: This value is cleared out at the end of every combat round and should\n// not be used in any case except when getting a "going to be attacked" shout\n// from the master creature (and this creature is a henchman)\n// * Returns OBJECT_INVALID if oTarget is not a valid creature.\n',
                                'object GetGoingToBeAttackedBy(object oTarget);'),
                 ScriptFunction('effect', 'EffectForceResistanceIncrease', [ScriptParam('int', 'nValue', None)],
                                '// 212: Create a Force Resistance Increase effect.\n// - nValue: size of Force Resistance increase\n',
                                'effect EffectForceResistanceIncrease(int nValue);'),
                 ScriptFunction('location', 'GetLocation', [ScriptParam('object', 'oObject', None)],
                                '// 213: Get the location of oObject.\n', 'location GetLocation(object oObject);'),
                 ScriptFunction('void', 'ActionJumpToLocation', [ScriptParam('location', 'lLocation', None)],
                                '// 214: The subject will jump to lLocation instantly (even between areas).\n// If lLocation is invalid, nothing will happen.\n',
                                'void ActionJumpToLocation(location lLocation);'),
                 ScriptFunction('location', 'Location',
                                [ScriptParam('vector', 'vPosition', None), ScriptParam('float', 'fOrientation', None)],
                                '// 215: Create a location.\n',
                                'location Location(vector vPosition, float fOrientation);'),
                 ScriptFunction('void', 'ApplyEffectAtLocation',
                                [ScriptParam('int', 'nDurationType', None), ScriptParam('effect', 'eEffect', None),
                                 ScriptParam('location', 'lLocation', None), ScriptParam('float', 'fDuration', '0.0f')],
                                '// 216: Apply eEffect at lLocation.\n',
                                'void ApplyEffectAtLocation(int nDurationType, effect eEffect, location lLocation, float fDuration=0.0f);'),
                 ScriptFunction('int', 'GetIsPC', [ScriptParam('object', 'oCreature', None)],
                                '// 217: * Returns TRUE if oCreature is a Player Controlled character.\n',
                                'int GetIsPC(object oCreature);'),
                 ScriptFunction('float', 'FeetToMeters', [ScriptParam('float', 'fFeet', None)],
                                '// 218: Convert fFeet into a number of meters.\n', 'float FeetToMeters(float fFeet);'),
                 ScriptFunction('float', 'YardsToMeters', [ScriptParam('float', 'fYards', None)],
                                '// 219: Convert fYards into a number of meters.\n',
                                'float YardsToMeters(float fYards);'), ScriptFunction('void', 'ApplyEffectToObject', [
        ScriptParam('int', 'nDurationType', None), ScriptParam('effect', 'eEffect', None),
        ScriptParam('object', 'oTarget', None), ScriptParam('float', 'fDuration', '0.0f')],
                                                                                      '// 220: Apply eEffect to oTarget.\n',
                                                                                      'void ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f);'),
                 ScriptFunction('void', 'SpeakString', [ScriptParam('string', 'sStringToSpeak', None),
                                                        ScriptParam('int', 'nTalkVolume', 'TALKVOLUME_TALK')],
                                '// 221: The caller will immediately speak sStringToSpeak (this is different from\n// ActionSpeakString)\n// - sStringToSpeak\n// - nTalkVolume: TALKVOLUME_*\n',
                                'void SpeakString(string sStringToSpeak, int nTalkVolume=TALKVOLUME_TALK);'),
                 ScriptFunction('location', 'GetSpellTargetLocation', [],
                                "// 222: Get the location of the caller's last spell target.\n",
                                'location GetSpellTargetLocation();'),
                 ScriptFunction('vector', 'GetPositionFromLocation', [ScriptParam('location', 'lLocation', None)],
                                '// 223: Get the position vector from lLocation.\n',
                                'vector GetPositionFromLocation(location lLocation);'),
                 ScriptFunction('effect', 'EffectBodyFuel', [],
                                '// 224: the effect of body fule.. convers HP -> FP i think\n',
                                'effect EffectBodyFuel( );'),
                 ScriptFunction('float', 'GetFacingFromLocation', [ScriptParam('location', 'lLocation', None)],
                                '// 225: Get the orientation value from lLocation.\n',
                                'float GetFacingFromLocation(location lLocation);'),
                 ScriptFunction('object', 'GetNearestCreatureToLocation',
                                [ScriptParam('int', 'nFirstCriteriaType', None),
                                 ScriptParam('int', 'nFirstCriteriaValue', None),
                                 ScriptParam('location', 'lLocation', None), ScriptParam('int', 'nNth', '1'),
                                 ScriptParam('int', 'nSecondCriteriaType', '-1'),
                                 ScriptParam('int', 'nSecondCriteriaValue', '-1'),
                                 ScriptParam('int', 'nThirdCriteriaType', '-1'),
                                 ScriptParam('int', 'nThirdCriteriaValue', '-1')],
                                "// 226: Get the creature nearest to lLocation, subject to all the criteria specified.\n// - nFirstCriteriaType: CREATURE_TYPE_*\n// - nFirstCriteriaValue:\n//   -> CLASS_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_CLASS\n//   -> SPELL_* if nFirstCriteriaType was CREATURE_TYPE_DOES_NOT_HAVE_SPELL_EFFECT\n//      or CREATURE_TYPE_HAS_SPELL_EFFECT\n//   -> TRUE or FALSE if nFirstCriteriaType was CREATURE_TYPE_IS_ALIVE\n//   -> PERCEPTION_* if nFirstCriteriaType was CREATURE_TYPE_PERCEPTION\n//   -> PLAYER_CHAR_IS_PC or PLAYER_CHAR_NOT_PC if nFirstCriteriaType was\n//      CREATURE_TYPE_PLAYER_CHAR\n//   -> RACIAL_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_RACIAL_TYPE\n//   -> REPUTATION_TYPE_* if nFirstCriteriaType was CREATURE_TYPE_REPUTATION\n//   For example, to get the nearest PC, use\n//   (CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC)\n// - lLocation: We're trying to find the creature of the specified type that is\n//   nearest to lLocation\n// - nNth: We don't have to find the first nearest: we can find the Nth nearest....\n// - nSecondCriteriaType: This is used in the same way as nFirstCriteriaType to\n//   further specify the type of creature that we are looking for.\n// - nSecondCriteriaValue: This is used in the same way as nFirstCriteriaValue\n//   to further specify the type of creature that we are looking for.\n// - nThirdCriteriaType: This is used in the same way as nFirstCriteriaType to\n//   further specify the type of creature that we are looking for.\n// - nThirdCriteriaValue: This is used in the same way as nFirstCriteriaValue to\n//   further specify the type of creature that we are looking for.\n// * Return value on error: OBJECT_INVALID\n",
                                'object GetNearestCreatureToLocation(int nFirstCriteriaType, int nFirstCriteriaValue,  location lLocation, int nNth=1, int nSecondCriteriaType=-1, int nSecondCriteriaValue=-1, int nThirdCriteriaType=-1,  int nThirdCriteriaValue=-1 );'),
                 ScriptFunction('object', 'GetNearestObject', [ScriptParam('int', 'nObjectType', 'OBJECT_TYPE_ALL'),
                                                               ScriptParam('object', 'oTarget', 'OBJECT_SELF'),
                                                               ScriptParam('int', 'nNth', '1')],
                                '// 227: Get the Nth object nearest to oTarget that is of the specified type.\n// - nObjectType: OBJECT_TYPE_*\n// - oTarget\n// - nNth\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetNearestObject(int nObjectType=OBJECT_TYPE_ALL, object oTarget=OBJECT_SELF, int nNth=1);'),
                 ScriptFunction('object', 'GetNearestObjectToLocation',
                                [ScriptParam('int', 'nObjectType', None), ScriptParam('location', 'lLocation', None),
                                 ScriptParam('int', 'nNth', '1')],
                                '// 228: Get the nNth object nearest to lLocation that is of the specified type.\n// - nObjectType: OBJECT_TYPE_*\n// - lLocation\n// - nNth\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetNearestObjectToLocation(int nObjectType, location lLocation, int nNth=1);'),
                 ScriptFunction('object', 'GetNearestObjectByTag',
                                [ScriptParam('string', 'sTag', None), ScriptParam('object', 'oTarget', 'OBJECT_SELF'),
                                 ScriptParam('int', 'nNth', '1')],
                                '// 229: Get the nth Object nearest to oTarget that has sTag as its tag.\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetNearestObjectByTag(string sTag, object oTarget=OBJECT_SELF, int nNth=1);'),
                 ScriptFunction('float', 'IntToFloat', [ScriptParam('int', 'nInteger', None)],
                                '// 230: Convert nInteger into a floating point number.\n',
                                'float IntToFloat(int nInteger);'),
                 ScriptFunction('int', 'FloatToInt', [ScriptParam('float', 'fFloat', None)],
                                '// 231: Convert fFloat into the nearest integer.\n', 'int FloatToInt(float fFloat);'),
                 ScriptFunction('int', 'StringToInt', [ScriptParam('string', 'sNumber', None)],
                                '// 232: Convert sNumber into an integer.\n', 'int StringToInt(string sNumber);'),
                 ScriptFunction('float', 'StringToFloat', [ScriptParam('string', 'sNumber', None)],
                                '// 233: Convert sNumber into a floating point number.\n',
                                'float StringToFloat(string sNumber);'),
                 ScriptFunction('void', 'ActionCastSpellAtLocation',
                                [ScriptParam('int', 'nSpell', None), ScriptParam('location', 'lTargetLocation', None),
                                 ScriptParam('int', 'nMetaMagic', '0'), ScriptParam('int', 'bCheat', 'FALSE'),
                                 ScriptParam('int', 'nProjectilePathType', 'PROJECTILE_PATH_TYPE_DEFAULT'),
                                 ScriptParam('int', 'bInstantSpell', 'FALSE')],
                                "// 234: Cast spell nSpell at lTargetLocation.\n// - nSpell: SPELL_*\n// - lTargetLocation\n// - nMetaMagic: METAMAGIC_*\n// - bCheat: If this is TRUE, then the executor of the action doesn't have to be\n//   able to cast the spell.\n// - nProjectilePathType: PROJECTILE_PATH_TYPE_*\n// - bInstantSpell: If this is TRUE, the spell is cast immediately; this allows\n//   the end-user to simulate\n//   a high-level magic user having lots of advance warning of impending trouble.\n",
                                'void   ActionCastSpellAtLocation(int nSpell, location lTargetLocation, int nMetaMagic=0, int bCheat=FALSE, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=FALSE);'),
                 ScriptFunction('int', 'GetIsEnemy', [ScriptParam('object', 'oTarget', None),
                                                      ScriptParam('object', 'oSource', 'OBJECT_SELF')],
                                '// 235: * Returns TRUE if oSource considers oTarget as an enemy.\n',
                                'int GetIsEnemy(object oTarget, object oSource=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetIsFriend', [ScriptParam('object', 'oTarget', None),
                                                       ScriptParam('object', 'oSource', 'OBJECT_SELF')],
                                '// 236: * Returns TRUE if oSource considers oTarget as a friend.\n',
                                'int GetIsFriend(object oTarget, object oSource=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetIsNeutral', [ScriptParam('object', 'oTarget', None),
                                                        ScriptParam('object', 'oSource', 'OBJECT_SELF')],
                                '// 237: * Returns TRUE if oSource considers oTarget as neutral.\n',
                                'int GetIsNeutral(object oTarget, object oSource=OBJECT_SELF);'),
                 ScriptFunction('object', 'GetPCSpeaker', [],
                                '// 238: Get the PC that is involved in the conversation.\n// * Returns OBJECT_INVALID on error.\n',
                                'object GetPCSpeaker();'),
                 ScriptFunction('string', 'GetStringByStrRef', [ScriptParam('int', 'nStrRef', None)],
                                '// 239: Get a string from the talk table using nStrRef.\n',
                                'string GetStringByStrRef(int nStrRef);'),
                 ScriptFunction('void', 'ActionSpeakStringByStrRef', [ScriptParam('int', 'nStrRef', None),
                                                                      ScriptParam('int', 'nTalkVolume',
                                                                                  'TALKVOLUME_TALK')],
                                '// 240: Causes the creature to speak a translated string.\n// - nStrRef: Reference of the string in the talk table\n// - nTalkVolume: TALKVOLUME_*\n',
                                'void ActionSpeakStringByStrRef(int nStrRef, int nTalkVolume=TALKVOLUME_TALK);'),
                 ScriptFunction('void', 'DestroyObject',
                                [ScriptParam('object', 'oDestroy', None), ScriptParam('float', 'fDelay', '0.0f'),
                                 ScriptParam('int', 'bNoFade', 'FALSE'),
                                 ScriptParam('float', 'fDelayUntilFade', '0.0f'),
                                 ScriptParam('int', 'nHideFeedback', '0')],
                                '// 241: Destroy oObject (irrevocably).\n// This will not work on modules and areas.\n// The bNoFade and fDelayUntilFade are for creatures and placeables only\n',
                                'void DestroyObject(object oDestroy, float fDelay=0.0f, int bNoFade = FALSE, float fDelayUntilFade = 0.0f, int nHideFeedback = 0);'),
                 ScriptFunction('object', 'GetModule', [],
                                '// 242: Get the module.\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetModule();'), ScriptFunction('object', 'CreateObject',
                                                                       [ScriptParam('int', 'nObjectType', None),
                                                                        ScriptParam('string', 'sTemplate', None),
                                                                        ScriptParam('location', 'lLocation', None),
                                                                        ScriptParam('int', 'bUseAppearAnimation',
                                                                                    'FALSE')],
                                                                       '// 243: Create an object of the specified type at lLocation.\n// - nObjectType: OBJECT_TYPE_ITEM, OBJECT_TYPE_CREATURE, OBJECT_TYPE_PLACEABLE,\n//   OBJECT_TYPE_STORE\n// - sTemplate\n// - lLocation\n// - bUseAppearAnimation\n// Waypoints can now also be created using the CreateObject function.\n// nObjectType is: OBJECT_TYPE_WAYPOINT\n// sTemplate will be the tag of the waypoint\n// lLocation is where the waypoint will be placed\n// bUseAppearAnimation is ignored\n',
                                                                       'object CreateObject(int nObjectType, string sTemplate, location lLocation, int bUseAppearAnimation=FALSE);'),
                 ScriptFunction('event', 'EventSpellCastAt',
                                [ScriptParam('object', 'oCaster', None), ScriptParam('int', 'nSpell', None),
                                 ScriptParam('int', 'bHarmful', 'TRUE')],
                                '// 244: Create an event which triggers the "SpellCastAt" script\n',
                                'event EventSpellCastAt(object oCaster, int nSpell, int bHarmful=TRUE);'),
                 ScriptFunction('object', 'GetLastSpellCaster', [],
                                '// 245: This is for use in a "Spell Cast" script, it gets who cast the spell.\n// The spell could have been cast by a creature, placeable or door.\n// * Returns OBJECT_INVALID if the caller is not a creature, placeable or door.\n',
                                'object GetLastSpellCaster();'), ScriptFunction('int', 'GetLastSpell', [],
                                                                                '// 246: This is for use in a "Spell Cast" script, it gets the ID of the spell that\n// was cast.\n',
                                                                                'int GetLastSpell();'),
                 ScriptFunction('int', 'GetUserDefinedEventNumber', [],
                                '// 247: This is for use in a user-defined script, it gets the event number.\n',
                                'int GetUserDefinedEventNumber();'), ScriptFunction('int', 'GetSpellId', [],
                                                                                    '// 248: This is for use in a Spell script, it gets the ID of the spell that is being\n// cast (SPELL_*).\n',
                                                                                    'int GetSpellId();'),
                 ScriptFunction('string', 'RandomName', [], '// 249: Generate a random name.\n',
                                'string RandomName();'),
                 ScriptFunction('effect', 'EffectPoison', [ScriptParam('int', 'nPoisonType', None)],
                                '// 250: Create a Poison effect.\n// - nPoisonType: POISON_*\n',
                                'effect EffectPoison(int nPoisonType);'),
                 ScriptFunction('int', 'GetLoadFromSaveGame', [],
                                '// 251: Returns whether this script is being run\n//      while a load game is in progress\n',
                                'int GetLoadFromSaveGame();'),
                 ScriptFunction('effect', 'EffectAssuredDeflection', [ScriptParam('int', 'nReturn', '0')],
                                '// 252: Assured Deflection\n// This effect ensures that all projectiles shot at a jedi will be deflected\n// without doing an opposed roll.  It takes an optional parameter to say whether\n// the deflected projectile will return to the attacker and cause damage\n',
                                'effect EffectAssuredDeflection(int nReturn = 0);'),
                 ScriptFunction('string', 'GetName', [ScriptParam('object', 'oObject', None)],
                                '// 253: Get the name of oObject.\n', 'string GetName(object oObject);'),
                 ScriptFunction('object', 'GetLastSpeaker', [],
                                '// 254: Use this in a conversation script to get the person with whom you are conversing.\n// * Returns OBJECT_INVALID if the caller is not a valid creature.\n',
                                'object GetLastSpeaker();'), ScriptFunction('int', 'BeginConversation',
                                                                            [ScriptParam('string', 'sResRef', '""'),
                                                                             ScriptParam('object', 'oObjectToDialog',
                                                                                         'OBJECT_INVALID')],
                                                                            '// 255: Use this in an OnDialog script to start up the dialog tree.\n// - sResRef: if this is not specified, the default dialog file will be used\n// - oObjectToDialog: if this is not specified the person that triggered the\n//   event will be used\n',
                                                                            'int BeginConversation(string sResRef="", object oObjectToDialog=OBJECT_INVALID);'),
                 ScriptFunction('object', 'GetLastPerceived', [],
                                '// 256: Use this in an OnPerception script to get the object that was perceived.\n// * Returns OBJECT_INVALID if the caller is not a valid creature.\n',
                                'object GetLastPerceived();'), ScriptFunction('int', 'GetLastPerceptionHeard', [],
                                                                              '// 257: Use this in an OnPerception script to determine whether the object that was\n// perceived was heard.\n',
                                                                              'int GetLastPerceptionHeard();'),
                 ScriptFunction('int', 'GetLastPerceptionInaudible', [],
                                '// 258: Use this in an OnPerception script to determine whether the object that was\n// perceived has become inaudible.\n',
                                'int GetLastPerceptionInaudible();'), ScriptFunction('int', 'GetLastPerceptionSeen', [],
                                                                                     '// 259: Use this in an OnPerception script to determine whether the object that was\n// perceived was seen.\n',
                                                                                     'int GetLastPerceptionSeen();'),
                 ScriptFunction('object', 'GetLastClosedBy', [],
                                '// 260: Use this in an OnClosed script to get the object that closed the door or placeable.\n// * Returns OBJECT_INVALID if the caller is not a valid door or placeable.\n',
                                'object GetLastClosedBy();'), ScriptFunction('int', 'GetLastPerceptionVanished', [],
                                                                             '// 261: Use this in an OnPerception script to determine whether the object that was\n// perceived has vanished.\n',
                                                                             'int GetLastPerceptionVanished();'),
                 ScriptFunction('object', 'GetFirstInPersistentObject',
                                [ScriptParam('object', 'oPersistentObject', 'OBJECT_SELF'),
                                 ScriptParam('int', 'nResidentObjectType', 'OBJECT_TYPE_CREATURE'),
                                 ScriptParam('int', 'nPersistentZone', 'PERSISTENT_ZONE_ACTIVE')],
                                '// 262: Get the first object within oPersistentObject.\n// - oPersistentObject\n// - nResidentObjectType: OBJECT_TYPE_*\n// - nPersistentZone: PERSISTENT_ZONE_ACTIVE. [This could also take the value\n//   PERSISTENT_ZONE_FOLLOW, but this is no longer used.]\n// * Returns OBJECT_INVALID if no object is found.\n',
                                'object GetFirstInPersistentObject(object oPersistentObject=OBJECT_SELF, int nResidentObjectType=OBJECT_TYPE_CREATURE, int nPersistentZone=PERSISTENT_ZONE_ACTIVE);'),
                 ScriptFunction('object', 'GetNextInPersistentObject',
                                [ScriptParam('object', 'oPersistentObject', 'OBJECT_SELF'),
                                 ScriptParam('int', 'nResidentObjectType', 'OBJECT_TYPE_CREATURE'),
                                 ScriptParam('int', 'nPersistentZone', 'PERSISTENT_ZONE_ACTIVE')],
                                '// 263: Get the next object within oPersistentObject.\n// - oPersistentObject\n// - nResidentObjectType: OBJECT_TYPE_*\n// - nPersistentZone: PERSISTENT_ZONE_ACTIVE. [This could also take the value\n//   PERSISTENT_ZONE_FOLLOW, but this is no longer used.]\n// * Returns OBJECT_INVALID if no object is found.\n',
                                'object GetNextInPersistentObject(object oPersistentObject=OBJECT_SELF, int nResidentObjectType=OBJECT_TYPE_CREATURE, int nPersistentZone=PERSISTENT_ZONE_ACTIVE);'),
                 ScriptFunction('object', 'GetAreaOfEffectCreator',
                                [ScriptParam('object', 'oAreaOfEffectObject', 'OBJECT_SELF')],
                                '// 264: This returns the creator of oAreaOfEffectObject.\n// * Returns OBJECT_INVALID if oAreaOfEffectObject is not a valid Area of Effect object.\n',
                                'object GetAreaOfEffectCreator(object oAreaOfEffectObject=OBJECT_SELF);'),
                 ScriptFunction('int', 'ShowLevelUpGUI', [],
                                '// 265: Brings up the level up GUI for the player.  The GUI will only show up\n//      if the player has gained enough experience points to level up.\n// * Returns TRUE if the GUI was successfully brought up; FALSE if not.\n',
                                'int ShowLevelUpGUI();'), ScriptFunction('void', 'SetItemNonEquippable',
                                                                         [ScriptParam('object', 'oItem', None),
                                                                          ScriptParam('int', 'bNonEquippable', None)],
                                                                         '// 266: Flag the specified item as being non-equippable or not.  Set bNonEquippable\n//      to TRUE to prevent this item from being equipped, and FALSE to allow\n//      the normal equipping checks to determine if the item can be equipped.\n// NOTE: This will do nothing if the object passed in is not an item.  Items that\n//       are already equipped when this is called will not automatically be\n//       unequipped.  These items will just be prevented from being re-equipped\n//       should they be unequipped.\n',
                                                                         'void SetItemNonEquippable( object oItem, int bNonEquippable );'),
                 ScriptFunction('int', 'GetButtonMashCheck', [],
                                '// 267: GetButtonMashCheck\n// This function returns whether the button mash check, used for the combat tutorial, is on\n',
                                'int GetButtonMashCheck();'),
                 ScriptFunction('void', 'SetButtonMashCheck', [ScriptParam('int', 'nCheck', None)],
                                '// 268: SetButtonMashCheck\n// This function sets the button mash check variable, and is used for turning the check on and off\n',
                                'void SetButtonMashCheck(int nCheck);'),
                 ScriptFunction('effect', 'EffectForcePushTargeted', [ScriptParam('location', 'lCentre', None),
                                                                      ScriptParam('int', 'nIgnoreTestDirectLine', '0')],
                                '// 269: EffectForcePushTargeted\n// This effect is exactly the same as force push, except it takes a location parameter that specifies\n// where the location of the force push is to be done from.  All orientations are also based on this location.\n// AMF:  The new ignore test direct line variable should be used with extreme caution\n// It overrides geometry checks for force pushes, so that the object that the effect is applied to\n// is guaranteed to move that far, ignoring collisions.  It is best used for cutscenes.\n',
                                'effect EffectForcePushTargeted(location lCentre, int nIgnoreTestDirectLine = 0);'),
                 ScriptFunction('effect', 'EffectHaste', [], '// 270: Create a Haste effect.\n',
                                'effect EffectHaste();'), ScriptFunction('void', 'GiveItem',
                                                                         [ScriptParam('object', 'oItem', None),
                                                                          ScriptParam('object', 'oGiveTo', None)],
                                                                         '// 271: Give oItem to oGiveTo (instant; for similar Action use ActionGiveItem)\n// If oItem is not a valid item, or oGiveTo is not a valid object, nothing will\n// happen.\n',
                                                                         'void GiveItem(object oItem, object oGiveTo);'),
                 ScriptFunction('string', 'ObjectToString', [ScriptParam('object', 'oObject', None)],
                                '// 272: Convert oObject into a hexadecimal string.\n',
                                'string ObjectToString(object oObject);'),
                 ScriptFunction('effect', 'EffectImmunity', [ScriptParam('int', 'nImmunityType', None)],
                                '// 273: Create an Immunity effect.\n// - nImmunityType: IMMUNITY_TYPE_*\n',
                                'effect EffectImmunity(int nImmunityType);'), ScriptFunction('int', 'GetIsImmune', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nImmunityType', None),
        ScriptParam('object', 'oVersus', 'OBJECT_INVALID')],
                                                                                             '// 274: - oCreature\n// - nImmunityType: IMMUNITY_TYPE_*\n// - oVersus: if this is specified, then we also check for the race and\n//   alignment of oVersus\n// * Returns TRUE if oCreature has immunity of type nImmunity versus oVersus.\n',
                                                                                             'int GetIsImmune(object oCreature, int nImmunityType, object oVersus=OBJECT_INVALID);'),
                 ScriptFunction('effect', 'EffectDamageImmunityIncrease',
                                [ScriptParam('int', 'nDamageType', None), ScriptParam('int', 'nPercentImmunity', None)],
                                '// 275: Creates a Damage Immunity Increase effect.\n// - nDamageType: DAMAGE_TYPE_*\n// - nPercentImmunity\n',
                                'effect EffectDamageImmunityIncrease(int nDamageType, int nPercentImmunity);'),
                 ScriptFunction('int', 'GetEncounterActive', [ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                '// 276: Determine whether oEncounter is active.\n',
                                'int  GetEncounterActive(object oEncounter=OBJECT_SELF);'),
                 ScriptFunction('void', 'SetEncounterActive', [ScriptParam('int', 'nNewValue', None),
                                                               ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                "// 277: Set oEncounter's active state to nNewValue.\n// - nNewValue: TRUE/FALSE\n// - oEncounter\n",
                                'void SetEncounterActive(int nNewValue, object oEncounter=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetEncounterSpawnsMax', [ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                '// 278: Get the maximum number of times that oEncounter will spawn.\n',
                                'int GetEncounterSpawnsMax(object oEncounter=OBJECT_SELF);'),
                 ScriptFunction('void', 'SetEncounterSpawnsMax', [ScriptParam('int', 'nNewValue', None),
                                                                  ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                '// 279: Set the maximum number of times that oEncounter can spawn\n',
                                'void SetEncounterSpawnsMax(int nNewValue, object oEncounter=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetEncounterSpawnsCurrent',
                                [ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                '// 280: Get the number of times that oEncounter has spawned so far\n',
                                'int  GetEncounterSpawnsCurrent(object oEncounter=OBJECT_SELF);'),
                 ScriptFunction('void', 'SetEncounterSpawnsCurrent', [ScriptParam('int', 'nNewValue', None),
                                                                      ScriptParam('object', 'oEncounter',
                                                                                  'OBJECT_SELF')],
                                '// 281: Set the number of times that oEncounter has spawned so far\n',
                                'void SetEncounterSpawnsCurrent(int nNewValue, object oEncounter=OBJECT_SELF);'),
                 ScriptFunction('object', 'GetModuleItemAcquired', [],
                                '// 282: Use this in an OnItemAcquired script to get the item that was acquired.\n// * Returns OBJECT_INVALID if the module is not valid.\n',
                                'object GetModuleItemAcquired();'),
                 ScriptFunction('object', 'GetModuleItemAcquiredFrom', [],
                                '// 283: Use this in an OnItemAcquired script to get the creatre that previously\n// possessed the item.\n// * Returns OBJECT_INVALID if the item was picked up from the ground.\n',
                                'object GetModuleItemAcquiredFrom();'), ScriptFunction('void', 'SetCustomToken', [
        ScriptParam('int', 'nCustomTokenNumber', None), ScriptParam('string', 'sTokenValue', None)],
                                                                                       '// 284: Set the value for a custom token.\n',
                                                                                       'void SetCustomToken(int nCustomTokenNumber, string sTokenValue);'),
                 ScriptFunction('int', 'GetHasFeat',
                                [ScriptParam('int', 'nFeat', None), ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                "// 285: Determine whether oCreature has nFeat, and nFeat is useable.\n// PLEASE NOTE!!! - This function will return FALSE if the target\n// is not currently able to use the feat due to daily limits or\n// other restrictions. Use GetFeatAcquired() if you just want to\n// know if they've got it or not.\n// - nFeat: FEAT_*\n// - oCreature\n",
                                'int GetHasFeat(int nFeat, object oCreature=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetHasSkill',
                                [ScriptParam('int', 'nSkill', None), ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                '// 286: Determine whether oCreature has nSkill, and nSkill is useable.\n// - nSkill: SKILL_*\n// - oCreature\n',
                                'int GetHasSkill(int nSkill, object oCreature=OBJECT_SELF);'),
                 ScriptFunction('void', 'ActionUseFeat',
                                [ScriptParam('int', 'nFeat', None), ScriptParam('object', 'oTarget', None)],
                                '// 287: Use nFeat on oTarget.\n// - nFeat: FEAT_*\n// - oTarget\n',
                                'void ActionUseFeat(int nFeat, object oTarget);'),
                 ScriptFunction('void', 'ActionUseSkill',
                                [ScriptParam('int', 'nSkill', None), ScriptParam('object', 'oTarget', None),
                                 ScriptParam('int', 'nSubSkill', '0'),
                                 ScriptParam('object', 'oItemUsed', 'OBJECT_INVALID')],
                                '// 288: Runs the action "UseSkill" on the current creature\n// Use nSkill on oTarget.\n// - nSkill: SKILL_*\n// - oTarget\n// - nSubSkill: SUBSKILL_*\n// - oItemUsed: Item to use in conjunction with the skill\n',
                                'void ActionUseSkill(int nSkill, object oTarget, int nSubSkill=0, object oItemUsed=OBJECT_INVALID );'),
                 ScriptFunction('int', 'GetObjectSeen', [ScriptParam('object', 'oTarget', None),
                                                         ScriptParam('object', 'oSource', 'OBJECT_SELF')],
                                '// 289: Determine whether oSource sees oTarget.\n',
                                'int GetObjectSeen(object oTarget, object oSource=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetObjectHeard', [ScriptParam('object', 'oTarget', None),
                                                          ScriptParam('object', 'oSource', 'OBJECT_SELF')],
                                '// 290: Determine whether oSource hears oTarget.\n',
                                'int GetObjectHeard(object oTarget, object oSource=OBJECT_SELF);'),
                 ScriptFunction('object', 'GetLastPlayerDied', [],
                                '// 291: Use this in an OnPlayerDeath module script to get the last player that died.\n',
                                'object GetLastPlayerDied();'), ScriptFunction('object', 'GetModuleItemLost', [],
                                                                               '// 292: Use this in an OnItemLost script to get the item that was lost/dropped.\n// * Returns OBJECT_INVALID if the module is not valid.\n',
                                                                               'object GetModuleItemLost();'),
                 ScriptFunction('object', 'GetModuleItemLostBy', [],
                                '// 293: Use this in an OnItemLost script to get the creature that lost the item.\n// * Returns OBJECT_INVALID if the module is not valid.\n',
                                'object GetModuleItemLostBy();'),
                 ScriptFunction('void', 'ActionDoCommand', [ScriptParam('action', 'aActionToDo', None)],
                                '// 294: Do aActionToDo.\n', 'void ActionDoCommand(action aActionToDo);'),
                 ScriptFunction('event', 'EventConversation', [], '// 295: Conversation event.\n',
                                'event EventConversation();'), ScriptFunction('void', 'SetEncounterDifficulty', [
        ScriptParam('int', 'nEncounterDifficulty', None), ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                                                              '// 296: Set the difficulty level of oEncounter.\n// - nEncounterDifficulty: ENCOUNTER_DIFFICULTY_*\n// - oEncounter\n',
                                                                              'void SetEncounterDifficulty(int nEncounterDifficulty, object oEncounter=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetEncounterDifficulty', [ScriptParam('object', 'oEncounter', 'OBJECT_SELF')],
                                '// 297: Get the difficulty level of oEncounter.\n',
                                'int GetEncounterDifficulty(object oEncounter=OBJECT_SELF);'),
                 ScriptFunction('float', 'GetDistanceBetweenLocations', [ScriptParam('location', 'lLocationA', None),
                                                                         ScriptParam('location', 'lLocationB', None)],
                                '// 298: Get the distance between lLocationA and lLocationB.\n',
                                'float GetDistanceBetweenLocations(location lLocationA, location lLocationB);'),
                 ScriptFunction('int', 'GetReflexAdjustedDamage',
                                [ScriptParam('int', 'nDamage', None), ScriptParam('object', 'oTarget', None),
                                 ScriptParam('int', 'nDC', None),
                                 ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_NONE'),
                                 ScriptParam('object', 'oSaveVersus', 'OBJECT_SELF')],
                                "// 299: Use this in spell scripts to get nDamage adjusted by oTarget's reflex and\n// evasion saves.\n// - nDamage\n// - oTarget\n// - nDC: Difficulty check\n// - nSaveType: SAVING_THROW_TYPE_*\n// - oSaveVersus\n",
                                'int GetReflexAdjustedDamage(int nDamage, object oTarget, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF);'),
                 ScriptFunction('void', 'PlayAnimation',
                                [ScriptParam('int', 'nAnimation', None), ScriptParam('float', 'fSpeed', '1.0'),
                                 ScriptParam('float', 'fSeconds', '0.0')],
                                '// 300: Play nAnimation immediately.\n// - nAnimation: ANIMATION_*\n// - fSpeed\n// - fSeconds: Duration of the animation (this is not used for Fire and\n//   Forget animations) If a time of -1.0f is specified for a looping animation\n//   it will loop until the next animation is applied.\n',
                                'void PlayAnimation(int nAnimation, float fSpeed=1.0, float fSeconds=0.0);'),
                 ScriptFunction('talent', 'TalentSpell', [ScriptParam('int', 'nSpell', None)],
                                '// 301: Create a Spell Talent.\n// - nSpell: SPELL_*\n',
                                'talent TalentSpell(int nSpell);'),
                 ScriptFunction('talent', 'TalentFeat', [ScriptParam('int', 'nFeat', None)],
                                '// 302: Create a Feat Talent.\n// - nFeat: FEAT_*\n', 'talent TalentFeat(int nFeat);'),
                 ScriptFunction('talent', 'TalentSkill', [ScriptParam('int', 'nSkill', None)],
                                '// 303: Create a Skill Talent.\n// - nSkill: SKILL_*\n',
                                'talent TalentSkill(int nSkill);'), ScriptFunction('int', 'GetHasSpellEffect',
                                                                                   [ScriptParam('int', 'nSpell', None),
                                                                                    ScriptParam('object', 'oObject',
                                                                                                'OBJECT_SELF')],
                                                                                   '// 304: Determine if oObject has effects originating from nSpell.\n// - nSpell: SPELL_*\n// - oObject\n',
                                                                                   'int GetHasSpellEffect(int nSpell, object oObject=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetEffectSpellId', [ScriptParam('effect', 'eSpellEffect', None)],
                                '// 305: Get the spell (SPELL_*) that applied eSpellEffect.\n// * Returns -1 if eSpellEffect was applied outside a spell script.\n',
                                'int GetEffectSpellId(effect eSpellEffect);'),
                 ScriptFunction('int', 'GetCreatureHasTalent', [ScriptParam('talent', 'tTalent', None),
                                                                ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                '// 306: Determine whether oCreature has tTalent.\n',
                                'int GetCreatureHasTalent(talent tTalent, object oCreature=OBJECT_SELF);'),
                 ScriptFunction('talent', 'GetCreatureTalentRandom', [ScriptParam('int', 'nCategory', None),
                                                                      ScriptParam('object', 'oCreature', 'OBJECT_SELF'),
                                                                      ScriptParam('int', 'nInclusion', '0')],
                                '// 307: Get a random talent of oCreature, within nCategory.\n// - nCategory: TALENT_CATEGORY_*\n// - oCreature\n// - nInclusion: types of talent to include\n',
                                'talent GetCreatureTalentRandom(int nCategory, object oCreature=OBJECT_SELF, int nInclusion=0);'),
                 ScriptFunction('talent', 'GetCreatureTalentBest',
                                [ScriptParam('int', 'nCategory', None), ScriptParam('int', 'nCRMax', None),
                                 ScriptParam('object', 'oCreature', 'OBJECT_SELF'),
                                 ScriptParam('int', 'nInclusion', '0'), ScriptParam('int', 'nExcludeType', '-1'),
                                 ScriptParam('int', 'nExcludeId', '-1')],
                                '// 308: Get the best talent (i.e. closest to nCRMax without going over) of oCreature,\n// within nCategory.\n// - nCategory: TALENT_CATEGORY_*\n// - nCRMax: Challenge Rating of the talent\n// - oCreature\n// - nInclusion: types of talent to include\n// - nExcludeType: TALENT_TYPE_FEAT or TALENT_TYPE_FORCE, type of talent that we wish to ignore\n// - nExcludeId: Talent ID of the talent we wish to ignore.\n//   A value of TALENT_EXCLUDE_ALL_OF_TYPE for this parameter will mean that all talents of\n//   type nExcludeType are ignored.\n',
                                'talent GetCreatureTalentBest(int nCategory, int nCRMax, object oCreature=OBJECT_SELF, int nInclusion=0, int nExcludeType = -1, int nExcludeId = -1);'),
                 ScriptFunction('void', 'ActionUseTalentOnObject',
                                [ScriptParam('talent', 'tChosenTalent', None), ScriptParam('object', 'oTarget', None)],
                                '// 309: Use tChosenTalent on oTarget.\n',
                                'void ActionUseTalentOnObject(talent tChosenTalent, object oTarget);'),
                 ScriptFunction('void', 'ActionUseTalentAtLocation', [ScriptParam('talent', 'tChosenTalent', None),
                                                                      ScriptParam('location', 'lTargetLocation', None)],
                                '// 310: Use tChosenTalent at lTargetLocation.\n',
                                'void ActionUseTalentAtLocation(talent tChosenTalent, location lTargetLocation);'),
                 ScriptFunction('int', 'GetGoldPieceValue', [ScriptParam('object', 'oItem', None)],
                                '// 311: Get the gold piece value of oItem.\n// * Returns 0 if oItem is not a valid item.\n',
                                'int GetGoldPieceValue(object oItem);'),
                 ScriptFunction('int', 'GetIsPlayableRacialType', [ScriptParam('object', 'oCreature', None)],
                                '// 312: * Returns TRUE if oCreature is of a playable racial type.\n',
                                'int GetIsPlayableRacialType(object oCreature);'),
                 ScriptFunction('void', 'JumpToLocation', [ScriptParam('location', 'lDestination', None)],
                                '// 313: Jump to lDestination.  The action is added to the TOP of the action queue.\n',
                                'void JumpToLocation(location lDestination);'),
                 ScriptFunction('effect', 'EffectTemporaryHitpoints', [ScriptParam('int', 'nHitPoints', None)],
                                '// 314: Create a Temporary Hitpoints effect.\n// - nHitPoints: a positive integer\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nHitPoints < 0.\n',
                                'effect EffectTemporaryHitpoints(int nHitPoints);'),
                 ScriptFunction('int', 'GetSkillRank',
                                [ScriptParam('int', 'nSkill', None), ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                "// 315: Get the number of ranks that oTarget has in nSkill.\n// - nSkill: SKILL_*\n// - oTarget\n// * Returns -1 if oTarget doesn't have nSkill.\n// * Returns 0 if nSkill is untrained.\n",
                                'int GetSkillRank(int nSkill, object oTarget=OBJECT_SELF);'),
                 ScriptFunction('object', 'GetAttackTarget', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                '// 316: Get the attack target of oCreature.\n// This only works when oCreature is in combat.\n',
                                'object GetAttackTarget(object oCreature=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetLastAttackType', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                "// 317: Get the attack type (SPECIAL_ATTACK_*) of oCreature's last attack.\n// This only works when oCreature is in combat.\n",
                                'int GetLastAttackType(object oCreature=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetLastAttackMode', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                "// 318: Get the attack mode (COMBAT_MODE_*) of oCreature's last attack.\n// This only works when oCreature is in combat.\n",
                                'int GetLastAttackMode(object oCreature=OBJECT_SELF);'),
                 ScriptFunction('float', 'GetDistanceBetween2D',
                                [ScriptParam('object', 'oObjectA', None), ScriptParam('object', 'oObjectB', None)],
                                '// 319: Get the distance in metres between oObjectA and oObjectB in 2D.\n// * Return value if either object is invalid: 0.0f\n',
                                'float GetDistanceBetween2D(object oObjectA, object oObjectB);'),
                 ScriptFunction('int', 'GetIsInCombat', [ScriptParam('object', 'oCreature', 'OBJECT_SELF'),
                                                         ScriptParam('int', 'bOnlyCountReal', 'FALSE')],
                                "// 320: * Returns TRUE if oCreature is in combat.\n//RWT-OEI 09/30/04 - If you pass TRUE in as the second parameter then\n//this function will only return true if the character is in REAL combat.\n//If you don't know what that means, don't pass in TRUE.\n",
                                'int GetIsInCombat(object oCreature=OBJECT_SELF, int bOnlyCountReal = FALSE);'),
                 ScriptFunction('int', 'GetLastAssociateCommand', [ScriptParam('object', 'oAssociate', 'OBJECT_SELF')],
                                '// 321: Get the last command (ASSOCIATE_COMMAND_*) issued to oAssociate.\n',
                                'int GetLastAssociateCommand(object oAssociate=OBJECT_SELF);'),
                 ScriptFunction('void', 'GiveGoldToCreature',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nGP', None)],
                                '// 322: Give nGP gold to oCreature.\n',
                                'void GiveGoldToCreature(object oCreature, int nGP);'),
                 ScriptFunction('void', 'SetIsDestroyable',
                                [ScriptParam('int', 'bDestroyable', None), ScriptParam('int', 'bRaiseable', 'TRUE'),
                                 ScriptParam('int', 'bSelectableWhenDead', 'FALSE')],
                                '// 323: Set the destroyable status of the caller.\n// - bDestroyable: If this is FALSE, the caller does not fade out on death, but\n//   sticks around as a corpse.\n// - bRaiseable: If this is TRUE, the caller can be raised via resurrection.\n// - bSelectableWhenDead: If this is TRUE, the caller is selectable after death.\n',
                                'void SetIsDestroyable(int bDestroyable, int bRaiseable=TRUE, int bSelectableWhenDead=FALSE);'),
                 ScriptFunction('void', 'SetLocked',
                                [ScriptParam('object', 'oTarget', None), ScriptParam('int', 'bLocked', None)],
                                '// 324: Set the locked state of oTarget, which can be a door or a placeable object.\n',
                                'void SetLocked(object oTarget, int bLocked);'),
                 ScriptFunction('int', 'GetLocked', [ScriptParam('object', 'oTarget', None)],
                                '// 325: Get the locked state of oTarget, which can be a door or a placeable object.\n',
                                'int GetLocked(object oTarget);'), ScriptFunction('object', 'GetClickingObject', [],
                                                                                  "// 326: Use this in a trigger's OnClick event script to get the object that last\n// clicked on it.\n// This is identical to GetEnteringObject.\n",
                                                                                  'object GetClickingObject();'),
                 ScriptFunction('void', 'SetAssociateListenPatterns', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                '// 327: Initialise oTarget to listen for the standard Associates commands.\n',
                                'void SetAssociateListenPatterns(object oTarget=OBJECT_SELF);'),
                 ScriptFunction('object', 'GetLastWeaponUsed', [ScriptParam('object', 'oCreature', None)],
                                '// 328: Get the last weapon that oCreature used in an attack.\n// * Returns OBJECT_INVALID if oCreature did not attack, or has no weapon equipped.\n',
                                'object GetLastWeaponUsed(object oCreature);'),
                 ScriptFunction('void', 'ActionInteractObject', [ScriptParam('object', 'oPlaceable', None)],
                                '// 329: Use oPlaceable.\n', 'void ActionInteractObject(object oPlaceable);'),
                 ScriptFunction('object', 'GetLastUsedBy', [],
                                '// 330: Get the last object that used the placeable object that is calling this function.\n// * Returns OBJECT_INVALID if it is called by something other than a placeable or\n//   a door.\n',
                                'object GetLastUsedBy();'), ScriptFunction('int', 'GetAbilityModifier',
                                                                           [ScriptParam('int', 'nAbility', None),
                                                                            ScriptParam('object', 'oCreature',
                                                                                        'OBJECT_SELF')],
                                                                           "// 331: Returns the ability modifier for the specified ability\n// Get oCreature's ability modifier for nAbility.\n// - nAbility: ABILITY_*\n// - oCreature\n",
                                                                           'int GetAbilityModifier(int nAbility, object oCreature=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetIdentified', [ScriptParam('object', 'oItem', None)],
                                '// 332: Determined whether oItem has been identified.\n',
                                'int GetIdentified(object oItem);'), ScriptFunction('void', 'SetIdentified', [
        ScriptParam('object', 'oItem', None), ScriptParam('int', 'bIdentified', None)],
                                                                                    '// 333: Set whether oItem has been identified.\n',
                                                                                    'void SetIdentified(object oItem, int bIdentified);'),
                 ScriptFunction('float', 'GetDistanceBetweenLocations2D', [ScriptParam('location', 'lLocationA', None),
                                                                           ScriptParam('location', 'lLocationB', None)],
                                '// 334: Get the distance between lLocationA and lLocationB. in 2D\n',
                                'float GetDistanceBetweenLocations2D(location lLocationA, location lLocationB);'),
                 ScriptFunction('float', 'GetDistanceToObject2D', [ScriptParam('object', 'oObject', None)],
                                '// 335: Get the distance from the caller to oObject in metres.\n// * Return value on error: -1.0f\n',
                                'float GetDistanceToObject2D(object oObject);'),
                 ScriptFunction('object', 'GetBlockingDoor', [],
                                '// 336: Get the last blocking door encountered by the caller of this function.\n// * Returns OBJECT_INVALID if the caller is not a valid creature.\n',
                                'object GetBlockingDoor();'), ScriptFunction('int', 'GetIsDoorActionPossible', [
        ScriptParam('object', 'oTargetDoor', None), ScriptParam('int', 'nDoorAction', None)],
                                                                             '// 337: - oTargetDoor\n// - nDoorAction: DOOR_ACTION_*\n// * Returns TRUE if nDoorAction can be performed on oTargetDoor.\n',
                                                                             'int GetIsDoorActionPossible(object oTargetDoor, int nDoorAction);'),
                 ScriptFunction('void', 'DoDoorAction',
                                [ScriptParam('object', 'oTargetDoor', None), ScriptParam('int', 'nDoorAction', None)],
                                '// 338: Perform nDoorAction on oTargetDoor.\n',
                                'void DoDoorAction(object oTargetDoor, int nDoorAction);'),
                 ScriptFunction('object', 'GetFirstItemInInventory', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                "// 339: Get the first item in oTarget's inventory (start to cycle through oTarget's\n// inventory).\n// * Returns OBJECT_INVALID if the caller is not a creature, item, placeable or store,\n//   or if no item is found.\n",
                                'object GetFirstItemInInventory(object oTarget=OBJECT_SELF);'),
                 ScriptFunction('object', 'GetNextItemInInventory', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                "// 340: Get the next item in oTarget's inventory (continue to cycle through oTarget's\n// inventory).\n// * Returns OBJECT_INVALID if the caller is not a creature, item, placeable or store,\n//   or if no item is found.\n",
                                'object GetNextItemInInventory(object oTarget=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetClassByPosition', [ScriptParam('int', 'nClassPosition', None),
                                                              ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                "// 341: A creature can have up to three classes.  This function determines the\n// creature's class (CLASS_TYPE_*) based on nClassPosition.\n// - nClassPosition: 1, 2 or 3\n// - oCreature\n// * Returns CLASS_TYPE_INVALID if the oCreature does not have a class in\n//   nClassPosition (i.e. a single-class creature will only have a value in\n//   nClassLocation=1) or if oCreature is not a valid creature.\n",
                                'int GetClassByPosition(int nClassPosition, object oCreature=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetLevelByPosition', [ScriptParam('int', 'nClassPosition', None),
                                                              ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                "// 342: A creature can have up to three classes.  This function determines the\n// creature's class level based on nClass Position.\n// - nClassPosition: 1, 2 or 3\n// - oCreature\n// * Returns 0 if oCreature does not have a class in nClassPosition\n//   (i.e. a single-class creature will only have a value in nClassLocation=1)\n//   or if oCreature is not a valid creature.\n",
                                'int GetLevelByPosition(int nClassPosition, object oCreature=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetLevelByClass', [ScriptParam('int', 'nClassType', None),
                                                           ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                '// 343: Determine the levels that oCreature holds in nClassType.\n// - nClassType: CLASS_TYPE_*\n// - oCreature\n',
                                'int GetLevelByClass(int nClassType, object oCreature=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetDamageDealtByType', [ScriptParam('int', 'nDamageType', None)],
                                '// 344: Get the amount of damage of type nDamageType that has been dealt to the caller.\n// - nDamageType: DAMAGE_TYPE_*\n',
                                'int GetDamageDealtByType(int nDamageType);'),
                 ScriptFunction('int', 'GetTotalDamageDealt', [],
                                '// 345: Get the total amount of damage that has been dealt to the caller.\n',
                                'int GetTotalDamageDealt();'), ScriptFunction('object', 'GetLastDamager', [],
                                                                              '// 346: Get the last object that damaged the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid object.\n',
                                                                              'object GetLastDamager();'),
                 ScriptFunction('object', 'GetLastDisarmed', [],
                                '// 347: Get the last object that disarmed the trap on the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid placeable, trigger or\n//   door.\n',
                                'object GetLastDisarmed();'), ScriptFunction('object', 'GetLastDisturbed', [],
                                                                             '// 348: Get the last object that disturbed the inventory of the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid creature or placeable.\n',
                                                                             'object GetLastDisturbed();'),
                 ScriptFunction('object', 'GetLastLocked', [],
                                '// 349: Get the last object that locked the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid door or placeable.\n',
                                'object GetLastLocked();'), ScriptFunction('object', 'GetLastUnlocked', [],
                                                                           '// 350: Get the last object that unlocked the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid door or placeable.\n',
                                                                           'object GetLastUnlocked();'),
                 ScriptFunction('effect', 'EffectSkillIncrease',
                                [ScriptParam('int', 'nSkill', None), ScriptParam('int', 'nValue', None)],
                                '// 351: Create a Skill Increase effect.\n// - nSkill: SKILL_*\n// - nValue\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nSkill is invalid.\n',
                                'effect EffectSkillIncrease(int nSkill, int nValue);'),
                 ScriptFunction('int', 'GetInventoryDisturbType', [],
                                "// 352: Get the type of disturbance (INVENTORY_DISTURB_*) that caused the caller's\n// OnInventoryDisturbed script to fire.  This will only work for creatures and\n// placeables.\n",
                                'int GetInventoryDisturbType();'),
                 ScriptFunction('object', 'GetInventoryDisturbItem', [],
                                "// 353: get the item that caused the caller's OnInventoryDisturbed script to fire.\n// * Returns OBJECT_INVALID if the caller is not a valid object.\n",
                                'object GetInventoryDisturbItem();'), ScriptFunction('void', 'ShowUpgradeScreen', [
        ScriptParam('object', 'oItem', 'OBJECT_INVALID'), ScriptParam('object', 'oCharacter', 'OBJECT_INVALID'),
        ScriptParam('int', 'nDisableItemCreation', 'FALSE'), ScriptParam('int', 'nDisableUpgrade', 'FALSE'),
        ScriptParam('string', 'sOverride2DA', '""')],
                                                                                     "// 354: Displays the upgrade screen where the player can modify weapons and armor\n// If oItem is NOT invalid, then the player will be forced to upgrade oItem and only oItem.\n// If oCharacter is NOT invalid, then that character's various skills will be used... *NOT IMPLEMENTED*\n// If nDisableItemCreation = TRUE, then the player will not be able to access the item creation screen\n// If nDisableUpgrade = TRUE, then the player will be forced straight to item creation and not be able\n//      to access Item Upgrading.\n",
                                                                                     'void ShowUpgradeScreen(object oItem = OBJECT_INVALID, object oCharacter = OBJECT_INVALID, int nDisableItemCreation = FALSE, int nDisableUpgrade = FALSE, string sOverride2DA = "");'),
                 ScriptFunction('effect', 'VersusAlignmentEffect', [ScriptParam('effect', 'eEffect', None),
                                                                    ScriptParam('int', 'nLawChaos', 'ALIGNMENT_ALL'),
                                                                    ScriptParam('int', 'nGoodEvil', 'ALIGNMENT_ALL')],
                                '// 355: Set eEffect to be versus a specific alignment.\n// - eEffect\n// - nLawChaos: ALIGNMENT_LAWFUL/ALIGNMENT_CHAOTIC/ALIGNMENT_ALL\n// - nGoodEvil: ALIGNMENT_GOOD/ALIGNMENT_EVIL/ALIGNMENT_ALL\n',
                                'effect VersusAlignmentEffect(effect eEffect, int nLawChaos=ALIGNMENT_ALL, int nGoodEvil=ALIGNMENT_ALL);'),
                 ScriptFunction('effect', 'VersusRacialTypeEffect',
                                [ScriptParam('effect', 'eEffect', None), ScriptParam('int', 'nRacialType', None)],
                                '// 356: Set eEffect to be versus nRacialType.\n// - eEffect\n// - nRacialType: RACIAL_TYPE_*\n',
                                'effect VersusRacialTypeEffect(effect eEffect, int nRacialType);'),
                 ScriptFunction('effect', 'VersusTrapEffect', [ScriptParam('effect', 'eEffect', None)],
                                '// 357: Set eEffect to be versus traps.\n',
                                'effect VersusTrapEffect(effect eEffect);'),
                 ScriptFunction('int', 'GetGender', [ScriptParam('object', 'oCreature', None)],
                                '// 358: Get the gender of oCreature.\n', 'int GetGender(object oCreature);'),
                 ScriptFunction('int', 'GetIsTalentValid', [ScriptParam('talent', 'tTalent', None)],
                                '// 359: * Returns TRUE if tTalent is valid.\n',
                                'int GetIsTalentValid(talent tTalent);'),
                 ScriptFunction('void', 'ActionMoveAwayFromLocation',
                                [ScriptParam('location', 'lMoveAwayFrom', None), ScriptParam('int', 'bRun', 'FALSE'),
                                 ScriptParam('float', 'fMoveAwayRange', '40.0f')],
                                '// 360: Causes the action subject to move away from lMoveAwayFrom.\n',
                                'void ActionMoveAwayFromLocation(location lMoveAwayFrom, int bRun=FALSE, float fMoveAwayRange=40.0f);'),
                 ScriptFunction('object', 'GetAttemptedAttackTarget', [],
                                '// 361: Get the target that the caller attempted to attack - this should be used in\n// conjunction with GetAttackTarget(). This value is set every time an attack is\n// made, and is reset at the end of combat.\n// * Returns OBJECT_INVALID if the caller is not a valid creature.\n',
                                'object GetAttemptedAttackTarget();'),
                 ScriptFunction('int', 'GetTypeFromTalent', [ScriptParam('talent', 'tTalent', None)],
                                '// 362: Get the type (TALENT_TYPE_*) of tTalent.\n',
                                'int GetTypeFromTalent(talent tTalent);'),
                 ScriptFunction('int', 'GetIdFromTalent', [ScriptParam('talent', 'tTalent', None)],
                                '// 363: Get the ID of tTalent.  This could be a SPELL_*, FEAT_* or SKILL_*.\n',
                                'int GetIdFromTalent(talent tTalent);'), ScriptFunction('void', 'PlayPazaak', [
        ScriptParam('int', 'nOpponentPazaakDeck', None), ScriptParam('string', 'sEndScript', None),
        ScriptParam('int', 'nMaxWager', None), ScriptParam('int', 'bShowTutorial', 'FALSE'),
        ScriptParam('object', 'oOpponent', 'OBJECT_INVALID')],
                                                                                        "// 364: Starts a game of pazaak.\n// - nOpponentPazaakDeck: Index into PazaakDecks.2da; specifies which deck the opponent will use.\n// - sEndScript: Script to be run when game finishes.\n// - nMaxWager: Max player wager.  If <= 0, the player's credits won't be modified by the result of the game and the wager screen will not show up.\n// - bShowTutorial: Plays in tutorial mode (nMaxWager should be 0).\n",
                                                                                        'void PlayPazaak(int nOpponentPazaakDeck, string sEndScript, int nMaxWager, int bShowTutorial=FALSE, object oOpponent=OBJECT_INVALID);'),
                 ScriptFunction('int', 'GetLastPazaakResult', [],
                                '// 365: Returns result of last Pazaak game.  Should be used only in an EndScript sent to PlayPazaak.\n// * Returns 0 if player loses, 1 if player wins.\n',
                                'int GetLastPazaakResult();'), ScriptFunction('void', 'DisplayFeedBackText',
                                                                              [ScriptParam('object', 'oCreature', None),
                                                                               ScriptParam('int', 'nTextConstant',
                                                                                           None)],
                                                                              '// 366:  displays a feed back string for the object spicified and the constant\n// repersents the string to be displayed see:FeedBackText.2da\n',
                                                                              'void DisplayFeedBackText(object oCreature, int nTextConstant);'),
                 ScriptFunction('void', 'AddJournalQuestEntry',
                                [ScriptParam('string', 'szPlotID', None), ScriptParam('int', 'nState', None),
                                 ScriptParam('int', 'bAllowOverrideHigher', 'FALSE')],
                                "// 367: Add a journal quest entry to the player.\n// - szPlotID: the plot identifier used in the toolset's Journal Editor\n// - nState: the state of the plot as seen in the toolset's Journal Editor\n// - bAllowOverrideHigher: If this is TRUE, you can set the state to a lower\n//   number than the one it is currently on\n",
                                'void AddJournalQuestEntry(string szPlotID, int nState, int bAllowOverrideHigher=FALSE);'),
                 ScriptFunction('void', 'RemoveJournalQuestEntry', [ScriptParam('string', 'szPlotID', None)],
                                "// 368: Remove a journal quest entry from the player.\n// - szPlotID: the plot identifier used in the toolset's Journal Editor\n",
                                'void RemoveJournalQuestEntry(string szPlotID);'),
                 ScriptFunction('int', 'GetJournalEntry', [ScriptParam('string', 'szPlotID', None)],
                                "// 369: Gets the State value of a journal quest.  Returns 0 if no quest entry has been added for this szPlotID.\n// - szPlotID: the plot identifier used in the toolset's Journal Editor\n",
                                'int GetJournalEntry(string szPlotID);'),
                 ScriptFunction('int', 'PlayRumblePattern', [ScriptParam('int', 'nPattern', None)],
                                '// 370: PlayRumblePattern\n// Starts a defined rumble pattern playing\n',
                                'int PlayRumblePattern(int nPattern);'),
                 ScriptFunction('int', 'StopRumblePattern', [ScriptParam('int', 'nPattern', None)],
                                '// 371: StopRumblePattern\n// Stops a defined rumble pattern\n',
                                'int StopRumblePattern(int nPattern);'),
                 ScriptFunction('effect', 'EffectDamageForcePoints', [ScriptParam('int', 'nDamage', None)],
                                '// 372: Damages the creatures force points\n',
                                'effect EffectDamageForcePoints(int nDamage);'),
                 ScriptFunction('effect', 'EffectHealForcePoints', [ScriptParam('int', 'nHeal', None)],
                                '// 373: Heals the creatures force points\n',
                                'effect EffectHealForcePoints(int nHeal);'), ScriptFunction('void', 'SendMessageToPC', [
        ScriptParam('object', 'oPlayer', None), ScriptParam('string', 'szMessage', None)],
                                                                                            '// 374: Send a server message (szMessage) to the oPlayer.\n',
                                                                                            'void SendMessageToPC(object oPlayer, string szMessage);'),
                 ScriptFunction('object', 'GetAttemptedSpellTarget', [],
                                '// 375: Get the target at which the caller attempted to cast a spell.\n// This value is set every time a spell is cast and is reset at the end of\n// combat.\n// * Returns OBJECT_INVALID if the caller is not a valid creature.\n',
                                'object GetAttemptedSpellTarget();'), ScriptFunction('object', 'GetLastOpenedBy', [],
                                                                                     '// 376: Get the last creature that opened the caller.\n// * Returns OBJECT_INVALID if the caller is not a valid door or placeable.\n',
                                                                                     'object GetLastOpenedBy();'),
                 ScriptFunction('int', 'GetHasSpell',
                                [ScriptParam('int', 'nSpell', None), ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                "// 377: Determine whether oCreature has nSpell memorised.\n// PLEASE NOTE!!! - This function will return FALSE if the target\n// is not currently able to use the spell due to lack of sufficient\n// Force Points. Use GetSpellAcquired() if you just want to\n// know if they've got it or not.\n// - nSpell: SPELL_*\n// - oCreature\n",
                                'int GetHasSpell(int nSpell, object oCreature=OBJECT_SELF);'),
                 ScriptFunction('void', 'OpenStore',
                                [ScriptParam('object', 'oStore', None), ScriptParam('object', 'oPC', None),
                                 ScriptParam('int', 'nBonusMarkUp', '0'), ScriptParam('int', 'nBonusMarkDown', '0')],
                                '// 378: Open oStore for oPC.\n',
                                'void OpenStore(object oStore, object oPC, int nBonusMarkUp=0, int nBonusMarkDown=0);'),
                 ScriptFunction('void', 'ActionSurrenderToEnemies', [], '// 379:\n',
                                'void ActionSurrenderToEnemies();'), ScriptFunction('object', 'GetFirstFactionMember', [
        ScriptParam('object', 'oMemberOfFaction', None), ScriptParam('int', 'bPCOnly', 'TRUE')],
                                                                                    "// 380: Get the first member of oMemberOfFaction's faction (start to cycle through\n// oMemberOfFaction's faction).\n// * Returns OBJECT_INVALID if oMemberOfFaction's faction is invalid.\n",
                                                                                    'object GetFirstFactionMember(object oMemberOfFaction, int bPCOnly=TRUE);'),
                 ScriptFunction('object', 'GetNextFactionMember', [ScriptParam('object', 'oMemberOfFaction', None),
                                                                   ScriptParam('int', 'bPCOnly', 'TRUE')],
                                "// 381: Get the next member of oMemberOfFaction's faction (continue to cycle through\n// oMemberOfFaction's faction).\n// * Returns OBJECT_INVALID if oMemberOfFaction's faction is invalid.\n",
                                'object GetNextFactionMember(object oMemberOfFaction, int bPCOnly=TRUE);'),
                 ScriptFunction('void', 'ActionForceMoveToLocation',
                                [ScriptParam('location', 'lDestination', None), ScriptParam('int', 'bRun', 'FALSE'),
                                 ScriptParam('float', 'fTimeout', '30.0f')],
                                '// 382: Force the action subject to move to lDestination.\n',
                                'void ActionForceMoveToLocation(location lDestination, int bRun=FALSE, float fTimeout=30.0f);'),
                 ScriptFunction('void', 'ActionForceMoveToObject',
                                [ScriptParam('object', 'oMoveTo', None), ScriptParam('int', 'bRun', 'FALSE'),
                                 ScriptParam('float', 'fRange', '1.0f'), ScriptParam('float', 'fTimeout', '30.0f')],
                                '// 383: Force the action subject to move to oMoveTo.\n',
                                'void ActionForceMoveToObject(object oMoveTo, int bRun=FALSE, float fRange=1.0f, float fTimeout=30.0f);'),
                 ScriptFunction('int', 'GetJournalQuestExperience', [ScriptParam('string', 'szPlotID', None)],
                                '// 384: Get the experience assigned in the journal editor for szPlotID.\n',
                                'int GetJournalQuestExperience(string szPlotID);'),
                 ScriptFunction('void', 'JumpToObject', [ScriptParam('object', 'oToJumpTo', None),
                                                         ScriptParam('int', 'nWalkStraightLineToPoint', '1')],
                                '// 385: Jump to oToJumpTo (the action is added to the top of the action queue).\n',
                                'void JumpToObject(object oToJumpTo, int nWalkStraightLineToPoint=1);'),
                 ScriptFunction('void', 'SetMapPinEnabled',
                                [ScriptParam('object', 'oMapPin', None), ScriptParam('int', 'nEnabled', None)],
                                '// 386: Set whether oMapPin is enabled.\n// - oMapPin\n// - nEnabled: 0=Off, 1=On\n',
                                'void SetMapPinEnabled(object oMapPin, int nEnabled);'),
                 ScriptFunction('effect', 'EffectHitPointChangeWhenDying',
                                [ScriptParam('float', 'fHitPointChangePerRound', None)],
                                '// 387: Create a Hit Point Change When Dying effect.\n// - fHitPointChangePerRound: this can be positive or negative, but not zero.\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if fHitPointChangePerRound is 0.\n',
                                'effect EffectHitPointChangeWhenDying(float fHitPointChangePerRound);'),
                 ScriptFunction('void', 'PopUpGUIPanel',
                                [ScriptParam('object', 'oPC', None), ScriptParam('int', 'nGUIPanel', None)],
                                '// 388: Spawn a GUI panel for the client that controls oPC.\n// - oPC\n// - nGUIPanel: GUI_PANEL_*\n// * Nothing happens if oPC is not a player character or if an invalid value is\n//   used for nGUIPanel.\n',
                                'void PopUpGUIPanel(object oPC, int nGUIPanel);'),
                 ScriptFunction('void', 'AddMultiClass',
                                [ScriptParam('int', 'nClassType', None), ScriptParam('object', 'oSource', None)],
                                '// 389: This allows you to add a new class to any creature object\n',
                                'void AddMultiClass(int nClassType, object oSource);'),
                 ScriptFunction('int', 'GetIsLinkImmune',
                                [ScriptParam('object', 'oTarget', None), ScriptParam('effect', 'eEffect', None)],
                                '// 390: Tests a linked effect to see if the target is immune to it.\n// If the target is imune to any of the linked effect then he is immune to all of it\n',
                                'int GetIsLinkImmune(object oTarget, effect eEffect );'),
                 ScriptFunction('effect', 'EffectDroidStun', [], '// 391: Stunn the droid\n',
                                'effect EffectDroidStun( );'),
                 ScriptFunction('effect', 'EffectForcePushed', [], '// 392: Force push the creature...\n',
                                'effect EffectForcePushed();'), ScriptFunction('void', 'GiveXPToCreature', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nXpAmount', None)],
                                                                               '// 393: Gives nXpAmount to oCreature.\n',
                                                                               'void GiveXPToCreature(object oCreature, int nXpAmount);'),
                 ScriptFunction('void', 'SetXP',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nXpAmount', None)],
                                "// 394: Sets oCreature's experience to nXpAmount.\n",
                                'void SetXP(object oCreature, int nXpAmount);'),
                 ScriptFunction('int', 'GetXP', [ScriptParam('object', 'oCreature', None)],
                                "// 395: Get oCreature's experience.\n", 'int GetXP(object oCreature);'),
                 ScriptFunction('string', 'IntToHexString', [ScriptParam('int', 'nInteger', None)],
                                '// 396: Convert nInteger to hex, returning the hex value as a string.\n// * Return value has the format "0x????????" where each ? will be a hex digit\n//   (8 digits in total).\n',
                                'string IntToHexString(int nInteger);'),
                 ScriptFunction('int', 'GetBaseItemType', [ScriptParam('object', 'oItem', None)],
                                '// 397: Get the base item type (BASE_ITEM_*) of oItem.\n// * Returns BASE_ITEM_INVALID if oItem is an invalid item.\n',
                                'int GetBaseItemType(object oItem);'), ScriptFunction('int', 'GetItemHasItemProperty', [
        ScriptParam('object', 'oItem', None), ScriptParam('int', 'nProperty', None)],
                                                                                      '// 398: Determines whether oItem has nProperty.\n// - oItem\n// - nProperty: ITEM_PROPERTY_*\n// * Returns FALSE if oItem is not a valid item, or if oItem does not have\n//   nProperty.\n',
                                                                                      'int GetItemHasItemProperty(object oItem, int nProperty);'),
                 ScriptFunction('void', 'ActionEquipMostDamagingMelee',
                                [ScriptParam('object', 'oVersus', 'OBJECT_INVALID'),
                                 ScriptParam('int', 'bOffHand', 'FALSE')],
                                '// 399: The creature will equip the melee weapon in its possession that can do the\n// most damage. If no valid melee weapon is found, it will equip the most\n// damaging range weapon. This function should only ever be called in the\n// EndOfCombatRound scripts, because otherwise it would have to stop the combat\n// round to run simulation.\n// - oVersus: You can try to get the most damaging weapon against oVersus\n// - bOffHand\n',
                                'void ActionEquipMostDamagingMelee(object oVersus=OBJECT_INVALID, int bOffHand=FALSE);'),
                 ScriptFunction('void', 'ActionEquipMostDamagingRanged',
                                [ScriptParam('object', 'oVersus', 'OBJECT_INVALID')],
                                '// 400: The creature will equip the range weapon in its possession that can do the\n// most damage.\n// If no valid range weapon can be found, it will equip the most damaging melee\n// weapon.\n// - oVersus: You can try to get the most damaging weapon against oVersus\n',
                                'void ActionEquipMostDamagingRanged(object oVersus=OBJECT_INVALID);'),
                 ScriptFunction('int', 'GetItemACValue', [ScriptParam('object', 'oItem', None)],
                                '// 401: Get the Armour Class of oItem.\n// * Return 0 if the oItem is not a valid item, or if oItem has no armour value.\n',
                                'int GetItemACValue(object oItem);'),
                 ScriptFunction('effect', 'EffectForceResisted', [ScriptParam('object', 'oSource', None)],
                                '// 402:\n// Effect that will play an animation and display a visual effect to indicate the\n// target has resisted a force power.\n',
                                'effect EffectForceResisted( object oSource );'),
                 ScriptFunction('void', 'ExploreAreaForPlayer',
                                [ScriptParam('object', 'oArea', None), ScriptParam('object', 'oPlayer', None)],
                                '// 403: Expose the entire map of oArea to oPlayer.\n',
                                'void ExploreAreaForPlayer(object oArea, object oPlayer);'),
                 ScriptFunction('void', 'ActionEquipMostEffectiveArmor', [],
                                '// 404: The creature will equip the armour in its possession that has the highest\n// armour class.\n',
                                'void ActionEquipMostEffectiveArmor();'),
                 ScriptFunction('int', 'GetIsDay', [], '// 405: * Returns TRUE if it is currently day.\n',
                                'int GetIsDay();'),
                 ScriptFunction('int', 'GetIsNight', [], '// 406: * Returns TRUE if it is currently night.\n',
                                'int GetIsNight();'),
                 ScriptFunction('int', 'GetIsDawn', [], '// 407: * Returns TRUE if it is currently dawn.\n',
                                'int GetIsDawn();'),
                 ScriptFunction('int', 'GetIsDusk', [], '// 408: * Returns TRUE if it is currently dusk.\n',
                                'int GetIsDusk();'),
                 ScriptFunction('int', 'GetIsEncounterCreature', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                '// 409: * Returns TRUE if oCreature was spawned from an encounter.\n',
                                'int GetIsEncounterCreature(object oCreature=OBJECT_SELF);'),
                 ScriptFunction('object', 'GetLastPlayerDying', [],
                                '// 410: Use this in an OnPlayerDying module script to get the last player who is dying.\n',
                                'object GetLastPlayerDying();'), ScriptFunction('location', 'GetStartingLocation', [],
                                                                                '// 411: Get the starting location of the module.\n',
                                                                                'location GetStartingLocation();'),
                 ScriptFunction('void', 'ChangeToStandardFaction', [ScriptParam('object', 'oCreatureToChange', None),
                                                                    ScriptParam('int', 'nStandardFaction', None)],
                                '// 412: Make oCreatureToChange join one of the standard factions.\n// ** This will only work on an NPC **\n// - nStandardFaction: STANDARD_FACTION_*\n',
                                'void ChangeToStandardFaction(object oCreatureToChange, int nStandardFaction);'),
                 ScriptFunction('void', 'SoundObjectPlay', [ScriptParam('object', 'oSound', None)],
                                '// 413: Play oSound.\n', 'void SoundObjectPlay(object oSound);'),
                 ScriptFunction('void', 'SoundObjectStop', [ScriptParam('object', 'oSound', None)],
                                '// 414: Stop playing oSound.\n', 'void SoundObjectStop(object oSound);'),
                 ScriptFunction('void', 'SoundObjectSetVolume',
                                [ScriptParam('object', 'oSound', None), ScriptParam('int', 'nVolume', None)],
                                '// 415: Set the volume of oSound.\n// - oSound\n// - nVolume: 0-127\n',
                                'void SoundObjectSetVolume(object oSound, int nVolume);'),
                 ScriptFunction('void', 'SoundObjectSetPosition',
                                [ScriptParam('object', 'oSound', None), ScriptParam('vector', 'vPosition', None)],
                                '// 416: Set the position of oSound.\n',
                                'void SoundObjectSetPosition(object oSound, vector vPosition);'),
                 ScriptFunction('void', 'SpeakOneLinerConversation', [ScriptParam('string', 'sDialogResRef', '""'),
                                                                      ScriptParam('object', 'oTokenTarget',
                                                                                  'OBJECT_TYPE_INVALID')],
                                '// 417: Immediately speak a conversation one-liner.\n// - sDialogResRef\n// - oTokenTarget: This must be specified if there are creature-specific tokens\n//   in the string.\n',
                                'void SpeakOneLinerConversation(string sDialogResRef="", object oTokenTarget=OBJECT_TYPE_INVALID);'),
                 ScriptFunction('int', 'GetGold', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                '// 418: Get the amount of gold possessed by oTarget.\n',
                                'int GetGold(object oTarget=OBJECT_SELF);'),
                 ScriptFunction('object', 'GetLastRespawnButtonPresser', [],
                                '// 419: Use this in an OnRespawnButtonPressed module script to get the object id of\n// the player who last pressed the respawn button.\n',
                                'object GetLastRespawnButtonPresser();'),
                 ScriptFunction('effect', 'EffectForceFizzle', [],
                                "// 420:\n// Effect that will display a visual effect on the specified object's hand to\n// indicate a force power has fizzled out.\n",
                                'effect EffectForceFizzle();'), ScriptFunction('void', 'SetLightsaberPowered', [
        ScriptParam('object', 'oCreature', None), ScriptParam('int', 'bOverride', None),
        ScriptParam('int', 'bPowered', 'TRUE'), ScriptParam('int', 'bShowTransition', 'FALSE')],
                                                                               '// 421: SetLightsaberPowered\n// Allows a script to set the state of the lightsaber.  This will override any\n// game determined lightsaber powerstates.\n',
                                                                               'void SetLightsaberPowered( object oCreature, int bOverride, int bPowered = TRUE, int bShowTransition = FALSE);'),
                 ScriptFunction('int', 'GetIsWeaponEffective', [ScriptParam('object', 'oVersus', 'OBJECT_INVALID'),
                                                                ScriptParam('int', 'bOffHand', 'FALSE')],
                                '// 422: * Returns TRUE if the weapon equipped is capable of damaging oVersus.\n',
                                'int GetIsWeaponEffective(object oVersus=OBJECT_INVALID, int bOffHand=FALSE);'),
                 ScriptFunction('int', 'GetLastSpellHarmful', [],
                                '// 423: Use this in a SpellCast script to determine whether the spell was considered\n// harmful.\n// * Returns TRUE if the last spell cast was harmful.\n',
                                'int GetLastSpellHarmful();'), ScriptFunction('event', 'EventActivateItem',
                                                                              [ScriptParam('object', 'oItem', None),
                                                                               ScriptParam('location', 'lTarget', None),
                                                                               ScriptParam('object', 'oTarget',
                                                                                           'OBJECT_INVALID')],
                                                                              '// 424: Activate oItem.\n',
                                                                              'event EventActivateItem(object oItem, location lTarget, object oTarget=OBJECT_INVALID);'),
                 ScriptFunction('void', 'MusicBackgroundPlay', [ScriptParam('object', 'oArea', None)],
                                '// 425: Play the background music for oArea.\n',
                                'void MusicBackgroundPlay(object oArea);'),
                 ScriptFunction('void', 'MusicBackgroundStop', [ScriptParam('object', 'oArea', None)],
                                '// 426: Stop the background music for oArea.\n',
                                'void MusicBackgroundStop(object oArea);'),
                 ScriptFunction('void', 'MusicBackgroundSetDelay',
                                [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nDelay', None)],
                                '// 427: Set the delay for the background music for oArea.\n// - oArea\n// - nDelay: delay in milliseconds\n',
                                'void MusicBackgroundSetDelay(object oArea, int nDelay);'),
                 ScriptFunction('void', 'MusicBackgroundChangeDay',
                                [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nTrack', None),
                                 ScriptParam('int', 'nStreamingMusic', 'FALSE')],
                                '// 428: Change the background day track for oArea to nTrack.\n// - oArea\n// - nTrack\n',
                                'void MusicBackgroundChangeDay(object oArea, int nTrack, int nStreamingMusic = FALSE);'),
                 ScriptFunction('void', 'MusicBackgroundChangeNight',
                                [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nTrack', None),
                                 ScriptParam('int', 'nStreamingMusic', 'FALSE')],
                                '// 429: Change the background night track for oArea to nTrack.\n// - oArea\n// - nTrack\n',
                                'void MusicBackgroundChangeNight(object oArea, int nTrack, int nStreamingMusic = FALSE);'),
                 ScriptFunction('void', 'MusicBattlePlay', [ScriptParam('object', 'oArea', None)],
                                '// 430: Play the battle music for oArea.\n', 'void MusicBattlePlay(object oArea);'),
                 ScriptFunction('void', 'MusicBattleStop', [ScriptParam('object', 'oArea', None)],
                                '// 431: Stop the battle music for oArea.\n', 'void MusicBattleStop(object oArea);'),
                 ScriptFunction('void', 'MusicBattleChange',
                                [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nTrack', None)],
                                '// 432: Change the battle track for oArea.\n// - oArea\n// - nTrack\n',
                                'void MusicBattleChange(object oArea, int nTrack);'),
                 ScriptFunction('void', 'AmbientSoundPlay', [ScriptParam('object', 'oArea', None)],
                                '// 433: Play the ambient sound for oArea.\n', 'void AmbientSoundPlay(object oArea);'),
                 ScriptFunction('void', 'AmbientSoundStop', [ScriptParam('object', 'oArea', None)],
                                '// 434: Stop the ambient sound for oArea.\n', 'void AmbientSoundStop(object oArea);'),
                 ScriptFunction('void', 'AmbientSoundChangeDay',
                                [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nTrack', None)],
                                '// 435: Change the ambient day track for oArea to nTrack.\n// - oArea\n// - nTrack\n',
                                'void AmbientSoundChangeDay(object oArea, int nTrack);'),
                 ScriptFunction('void', 'AmbientSoundChangeNight',
                                [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nTrack', None)],
                                '// 436: Change the ambient night track for oArea to nTrack.\n// - oArea\n// - nTrack\n',
                                'void AmbientSoundChangeNight(object oArea, int nTrack);'),
                 ScriptFunction('object', 'GetLastKiller', [], '// 437: Get the object that killed the caller.\n',
                                'object GetLastKiller();'), ScriptFunction('object', 'GetSpellCastItem', [],
                                                                           '// 438: Use this in a spell script to get the item used to cast the spell.\n',
                                                                           'object GetSpellCastItem();'),
                 ScriptFunction('object', 'GetItemActivated', [],
                                '// 439: Use this in an OnItemActivated module script to get the item that was activated.\n',
                                'object GetItemActivated();'), ScriptFunction('object', 'GetItemActivator', [],
                                                                              '// 440: Use this in an OnItemActivated module script to get the creature that\n// activated the item.\n',
                                                                              'object GetItemActivator();'),
                 ScriptFunction('location', 'GetItemActivatedTargetLocation', [],
                                "// 441: Use this in an OnItemActivated module script to get the location of the item's\n// target.\n",
                                'location GetItemActivatedTargetLocation();'),
                 ScriptFunction('object', 'GetItemActivatedTarget', [],
                                "// 442: Use this in an OnItemActivated module script to get the item's target.\n",
                                'object GetItemActivatedTarget();'),
                 ScriptFunction('int', 'GetIsOpen', [ScriptParam('object', 'oObject', None)],
                                '// 443: * Returns TRUE if oObject (which is a placeable or a door) is currently open.\n',
                                'int GetIsOpen(object oObject);'), ScriptFunction('void', 'TakeGoldFromCreature',
                                                                                  [ScriptParam('int', 'nAmount', None),
                                                                                   ScriptParam('object',
                                                                                               'oCreatureToTakeFrom',
                                                                                               None),
                                                                                   ScriptParam('int', 'bDestroy',
                                                                                               'FALSE')],
                                                                                  '// 444: Take nAmount of gold from oCreatureToTakeFrom.\n// - nAmount\n// - oCreatureToTakeFrom: If this is not a valid creature, nothing will happen.\n// - bDestroy: If this is TRUE, the caller will not get the gold.  Instead, the\n//   gold will be destroyed and will vanish from the game.\n',
                                                                                  'void TakeGoldFromCreature(int nAmount, object oCreatureToTakeFrom, int bDestroy=FALSE);'),
                 ScriptFunction('int', 'GetIsInConversation', [ScriptParam('object', 'oObject', None)],
                                '// 445: Determine whether oObject is in conversation.\n',
                                'int GetIsInConversation(object oObject);'),
                 ScriptFunction('effect', 'EffectAbilityDecrease',
                                [ScriptParam('int', 'nAbility', None), ScriptParam('int', 'nModifyBy', None)],
                                '// 446: Create an Ability Decrease effect.\n// - nAbility: ABILITY_*\n// - nModifyBy: This is the amount by which to decrement the ability\n',
                                'effect EffectAbilityDecrease(int nAbility, int nModifyBy);'),
                 ScriptFunction('effect', 'EffectAttackDecrease', [ScriptParam('int', 'nPenalty', None),
                                                                   ScriptParam('int', 'nModifierType',
                                                                               'ATTACK_BONUS_MISC')],
                                '// 447: Create an Attack Decrease effect.\n// - nPenalty\n// - nModifierType: ATTACK_BONUS_*\n',
                                'effect EffectAttackDecrease(int nPenalty, int nModifierType=ATTACK_BONUS_MISC);'),
                 ScriptFunction('effect', 'EffectDamageDecrease', [ScriptParam('int', 'nPenalty', None),
                                                                   ScriptParam('int', 'nDamageType',
                                                                               'DAMAGE_TYPE_UNIVERSAL')],
                                '// 448: Create a Damage Decrease effect.\n// - nPenalty\n// - nDamageType: DAMAGE_TYPE_*\n',
                                'effect EffectDamageDecrease(int nPenalty, int nDamageType=DAMAGE_TYPE_UNIVERSAL);'),
                 ScriptFunction('effect', 'EffectDamageImmunityDecrease',
                                [ScriptParam('int', 'nDamageType', None), ScriptParam('int', 'nPercentImmunity', None)],
                                '// 449: Create a Damage Immunity Decrease effect.\n// - nDamageType: DAMAGE_TYPE_*\n// - nPercentImmunity\n',
                                'effect EffectDamageImmunityDecrease(int nDamageType, int nPercentImmunity);'),
                 ScriptFunction('effect', 'EffectACDecrease', [ScriptParam('int', 'nValue', None),
                                                               ScriptParam('int', 'nModifyType', 'AC_DODGE_BONUS'),
                                                               ScriptParam('int', 'nDamageType',
                                                                           'AC_VS_DAMAGE_TYPE_ALL')],
                                '// 450: Create an AC Decrease effect.\n// - nValue\n// - nModifyType: AC_*\n// - nDamageType: DAMAGE_TYPE_*\n//   * Default value for nDamageType should only ever be used in this function prototype.\n',
                                'effect EffectACDecrease(int nValue, int nModifyType=AC_DODGE_BONUS, int nDamageType=AC_VS_DAMAGE_TYPE_ALL);'),
                 ScriptFunction('effect', 'EffectMovementSpeedDecrease', [ScriptParam('int', 'nPercentChange', None)],
                                '// 451: Create a Movement Speed Decrease effect.\n// - nPercentChange: This is expected to be a positive integer between 1 and 99 inclusive.\n//   If a negative integer is supplied then a movement speed increase will result,\n//   and if a number >= 100 is supplied then the effect is deleted.\n',
                                'effect EffectMovementSpeedDecrease(int nPercentChange);'),
                 ScriptFunction('effect', 'EffectSavingThrowDecrease',
                                [ScriptParam('int', 'nSave', None), ScriptParam('int', 'nValue', None),
                                 ScriptParam('int', 'nSaveType', 'SAVING_THROW_TYPE_ALL')],
                                '// 452: Create a Saving Throw Decrease effect.\n// - nSave\n// - nValue\n// - nSaveType: SAVING_THROW_TYPE_*\n',
                                'effect EffectSavingThrowDecrease(int nSave, int nValue, int nSaveType=SAVING_THROW_TYPE_ALL);'),
                 ScriptFunction('effect', 'EffectSkillDecrease',
                                [ScriptParam('int', 'nSkill', None), ScriptParam('int', 'nValue', None)],
                                '// 453: Create a Skill Decrease effect.\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nSkill is invalid.\n',
                                'effect EffectSkillDecrease(int nSkill, int nValue);'),
                 ScriptFunction('effect', 'EffectForceResistanceDecrease', [ScriptParam('int', 'nValue', None)],
                                '// 454: Create a Force Resistance Decrease effect.\n',
                                'effect EffectForceResistanceDecrease(int nValue);'),
                 ScriptFunction('int', 'GetPlotFlag', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                '// 455: Determine whether oTarget is a plot object.\n',
                                'int GetPlotFlag(object oTarget=OBJECT_SELF);'), ScriptFunction('void', 'SetPlotFlag', [
        ScriptParam('object', 'oTarget', None), ScriptParam('int', 'nPlotFlag', None)],
                                                                                                "// 456: Set oTarget's plot object status.\n",
                                                                                                'void SetPlotFlag(object oTarget, int nPlotFlag);'),
                 ScriptFunction('effect', 'EffectInvisibility', [ScriptParam('int', 'nInvisibilityType', None)],
                                '// 457: Create an Invisibility effect.\n// - nInvisibilityType: INVISIBILITY_TYPE_*\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nInvisibilityType\n//   is invalid.\n',
                                'effect EffectInvisibility(int nInvisibilityType);'),
                 ScriptFunction('effect', 'EffectConcealment', [ScriptParam('int', 'nPercentage', None)],
                                '// 458: Create a Concealment effect.\n// - nPercentage: 1-100 inclusive\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nPercentage < 1 or\n//   nPercentage > 100.\n',
                                'effect EffectConcealment(int nPercentage);'),
                 ScriptFunction('effect', 'EffectForceShield', [ScriptParam('int', 'nShield', None)],
                                '// 459: Create a Force Shield that has parameters from the guven index into the forceshields.2da\n',
                                'effect EffectForceShield(int nShield);'),
                 ScriptFunction('effect', 'EffectDispelMagicAll', [ScriptParam('int', 'nCasterLevel', None)],
                                '// 460: Create a Dispel Magic All effect.\n',
                                'effect EffectDispelMagicAll(int nCasterLevel);'),
                 ScriptFunction('void', 'SetDialogPlaceableCamera', [ScriptParam('int', 'nCameraId', None)],
                                "// 461: Cut immediately to placeable camera 'nCameraId' during dialog.  nCameraId must be\n//      an existing Placeable Camera ID.  Function only works during Dialog.\n",
                                'void SetDialogPlaceableCamera( int nCameraId );'),
                 ScriptFunction('int', 'GetSoloMode', [],
                                "// 462:\n// Returns: TRUE if the player is in 'solo mode' (ie. the party is not supposed to follow the player).\n//          FALSE otherwise.\n",
                                'int GetSoloMode();'),
                 ScriptFunction('effect', 'EffectDisguise', [ScriptParam('int', 'nDisguiseAppearance', None)],
                                '// 463: Create a Disguise effect.\n// - * nDisguiseAppearance: DISGUISE_TYPE_*s\n',
                                'effect EffectDisguise(int nDisguiseAppearance);'),
                 ScriptFunction('int', 'GetMaxStealthXP', [],
                                '// 464:\n// Returns the maximum amount of stealth xp available in the area.\n',
                                'int GetMaxStealthXP();'),
                 ScriptFunction('effect', 'EffectTrueSeeing', [], '// 465: Create a True Seeing effect.\n',
                                'effect EffectTrueSeeing();'),
                 ScriptFunction('effect', 'EffectSeeInvisible', [], '// 466: Create a See Invisible effect.\n',
                                'effect EffectSeeInvisible();'),
                 ScriptFunction('effect', 'EffectTimeStop', [], '// 467: Create a Time Stop effect.\n',
                                'effect EffectTimeStop();'),
                 ScriptFunction('void', 'SetMaxStealthXP', [ScriptParam('int', 'nMax', None)],
                                '// 468:\n// Set the maximum amount of stealth xp available in the area.\n',
                                'void SetMaxStealthXP( int nMax );'),
                 ScriptFunction('effect', 'EffectBlasterDeflectionIncrease', [ScriptParam('int', 'nChange', None)],
                                '// 469: Increase the blaster deflection rate, i think...\n',
                                'effect EffectBlasterDeflectionIncrease(int nChange);'),
                 ScriptFunction('effect', 'EffectBlasterDeflectionDecrease', [ScriptParam('int', 'nChange', None)],
                                '// 470:decrease the blaster deflection rate\n',
                                'effect EffectBlasterDeflectionDecrease(int nChange);'),
                 ScriptFunction('effect', 'EffectHorrified', [], '// 471: Make the creature horified. BOO!\n',
                                'effect EffectHorrified( );'), ScriptFunction('effect', 'EffectSpellLevelAbsorption', [
        ScriptParam('int', 'nMaxSpellLevelAbsorbed', None), ScriptParam('int', 'nTotalSpellLevelsAbsorbed', '0'),
        ScriptParam('int', 'nSpellSchool', '0')],
                                                                              '// 472: Create a Spell Level Absorption effect.\n// - nMaxSpellLevelAbsorbed: maximum spell level that will be absorbed by the\n//   effect\n// - nTotalSpellLevelsAbsorbed: maximum number of spell levels that will be\n//   absorbed by the effect\n// - nSpellSchool: SPELL_SCHOOL_*\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if:\n//   nMaxSpellLevelAbsorbed is not between -1 and 9 inclusive, or nSpellSchool\n//   is invalid.\n',
                                                                              'effect EffectSpellLevelAbsorption(int nMaxSpellLevelAbsorbed, int nTotalSpellLevelsAbsorbed=0, int nSpellSchool=0 );'),
                 ScriptFunction('effect', 'EffectDispelMagicBest', [ScriptParam('int', 'nCasterLevel', None)],
                                '// 473: Create a Dispel Magic Best effect.\n',
                                'effect EffectDispelMagicBest(int nCasterLevel);'),
                 ScriptFunction('int', 'GetCurrentStealthXP', [],
                                '// 474:\n// Returns the current amount of stealth xp available in the area.\n',
                                'int GetCurrentStealthXP();'),
                 ScriptFunction('int', 'GetNumStackedItems', [ScriptParam('object', 'oItem', None)],
                                '// 475: Get the number of stacked items that oItem comprises.\n',
                                'int GetNumStackedItems(object oItem);'),
                 ScriptFunction('void', 'SurrenderToEnemies', [],
                                "// 476: Use this on an NPC to cause all creatures within a 10-metre radius to stop\n// what they are doing and sets the NPC's enemies within this range to be\n// neutral towards the NPC. If this command is run on a PC or an object that is\n// not a creature, nothing will happen.\n",
                                'void SurrenderToEnemies();'),
                 ScriptFunction('effect', 'EffectMissChance', [ScriptParam('int', 'nPercentage', None)],
                                '// 477: Create a Miss Chance effect.\n// - nPercentage: 1-100 inclusive\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nPercentage < 1 or\n//   nPercentage > 100.\n',
                                'effect EffectMissChance(int nPercentage);'),
                 ScriptFunction('void', 'SetCurrentStealthXP', [ScriptParam('int', 'nCurrent', None)],
                                '// 478:\n// Set the current amount of stealth xp available in the area.\n',
                                'void SetCurrentStealthXP( int nCurrent );'),
                 ScriptFunction('int', 'GetCreatureSize', [ScriptParam('object', 'oCreature', None)],
                                '// 479: Get the size (CREATURE_SIZE_*) of oCreature.\n',
                                'int GetCreatureSize(object oCreature);'),
                 ScriptFunction('void', 'AwardStealthXP', [ScriptParam('object', 'oTarget', None)],
                                '// 480:\n// Award the stealth xp to the given oTarget.  This will only work on creatures.\n',
                                'void AwardStealthXP( object oTarget );'),
                 ScriptFunction('int', 'GetStealthXPEnabled', [],
                                '// 481:\n// Returns whether or not the stealth xp bonus is enabled (ie. whether or not\n// AwardStealthXP() will actually award any available stealth xp).\n',
                                'int GetStealthXPEnabled();'),
                 ScriptFunction('void', 'SetStealthXPEnabled', [ScriptParam('int', 'bEnabled', None)],
                                '// 482:\n// Sets whether or not the stealth xp bonus is enabled (ie. whether or not\n// AwardStealthXP() will actually award any available stealth xp).\n',
                                'void SetStealthXPEnabled( int bEnabled );'),
                 ScriptFunction('void', 'ActionUnlockObject', [ScriptParam('object', 'oTarget', None)],
                                '// 483: The action subject will unlock oTarget, which can be a door or a placeable\n// object.\n',
                                'void ActionUnlockObject(object oTarget);'),
                 ScriptFunction('void', 'ActionLockObject', [ScriptParam('object', 'oTarget', None)],
                                '// 484: The action subject will lock oTarget, which can be a door or a placeable\n// object.\n',
                                'void ActionLockObject(object oTarget);'),
                 ScriptFunction('effect', 'EffectModifyAttacks', [ScriptParam('int', 'nAttacks', None)],
                                '// 485: Create a Modify Attacks effect to add attacks.\n// - nAttacks: maximum is 5, even with the effect stacked\n// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nAttacks > 5.\n',
                                'effect EffectModifyAttacks(int nAttacks);'),
                 ScriptFunction('object', 'GetLastTrapDetected', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                '// 486: Get the last trap detected by oTarget.\n// * Return value on error: OBJECT_INVALID\n',
                                'object GetLastTrapDetected(object oTarget=OBJECT_SELF);'),
                 ScriptFunction('effect', 'EffectDamageShield',
                                [ScriptParam('int', 'nDamageAmount', None), ScriptParam('int', 'nRandomAmount', None),
                                 ScriptParam('int', 'nDamageType', None)],
                                '// 487: Create a Damage Shield effect which does (nDamageAmount + nRandomAmount)\n// damage to any melee attacker on a successful attack of damage type nDamageType.\n// - nDamageAmount: an integer value\n// - nRandomAmount: DAMAGE_BONUS_*\n// - nDamageType: DAMAGE_TYPE_*\n',
                                'effect EffectDamageShield(int nDamageAmount, int nRandomAmount, int nDamageType);'),
                 ScriptFunction('object', 'GetNearestTrapToObject', [ScriptParam('object', 'oTarget', 'OBJECT_SELF'),
                                                                     ScriptParam('int', 'nTrapDetected', 'TRUE')],
                                '// 488: Get the trap nearest to oTarget.\n// Note : "trap objects" are actually any trigger, placeable or door that is\n// trapped in oTarget\'s area.\n// - oTarget\n// - nTrapDetected: if this is TRUE, the trap returned has to have been detected\n//   by oTarget.\n',
                                'object GetNearestTrapToObject(object oTarget=OBJECT_SELF, int nTrapDetected=TRUE);'),
                 ScriptFunction('object', 'GetAttemptedMovementTarget', [],
                                '// 489: the will get the last attmpted movment target\n',
                                'object GetAttemptedMovementTarget();'),
                 ScriptFunction('object', 'GetBlockingCreature', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                '// 490: this function returns the bloking creature for the k_def_CBTBlk01 script\n',
                                'object GetBlockingCreature(object oTarget=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetFortitudeSavingThrow', [ScriptParam('object', 'oTarget', None)],
                                "// 491: Get oTarget's base fortitude saving throw value (this will only work for\n// creatures, doors, and placeables).\n// * Returns 0 if oTarget is invalid.\n",
                                'int GetFortitudeSavingThrow(object oTarget);'),
                 ScriptFunction('int', 'GetWillSavingThrow', [ScriptParam('object', 'oTarget', None)],
                                "// 492: Get oTarget's base will saving throw value (this will only work for creatures,\n// doors, and placeables).\n// * Returns 0 if oTarget is invalid.\n",
                                'int GetWillSavingThrow(object oTarget);'),
                 ScriptFunction('int', 'GetReflexSavingThrow', [ScriptParam('object', 'oTarget', None)],
                                "// 493: Get oTarget's base reflex saving throw value (this will only work for\n// creatures, doors, and placeables).\n// * Returns 0 if oTarget is invalid.\n",
                                'int GetReflexSavingThrow(object oTarget);'),
                 ScriptFunction('float', 'GetChallengeRating', [ScriptParam('object', 'oCreature', None)],
                                "// 494: Get oCreature's challenge rating.\n// * Returns 0.0 if oCreature is invalid.\n",
                                'float GetChallengeRating(object oCreature);'),
                 ScriptFunction('object', 'GetFoundEnemyCreature', [ScriptParam('object', 'oTarget', 'OBJECT_SELF')],
                                '// 495: Returns the found enemy creature on a pathfind.\n',
                                'object GetFoundEnemyCreature(object oTarget=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetMovementRate', [ScriptParam('object', 'oCreature', None)],
                                "// 496: Get oCreature's movement rate.\n// * Returns 0 if oCreature is invalid.\n",
                                'int GetMovementRate(object oCreature);'),
                 ScriptFunction('int', 'GetSubRace', [ScriptParam('object', 'oCreature', None)],
                                '// 497: GetSubRace of oCreature\n// Returns SUBRACE_*\n',
                                'int GetSubRace(object oCreature);'), ScriptFunction('int', 'GetStealthXPDecrement', [],
                                                                                     '// 498:\n// Returns the amount the stealth xp bonus gets decreased each time the player is detected.\n',
                                                                                     'int GetStealthXPDecrement();'),
                 ScriptFunction('void', 'SetStealthXPDecrement', [ScriptParam('int', 'nDecrement', None)],
                                '// 499:\n// Sets the amount the stealth xp bonus gets decreased each time the player is detected.\n',
                                'void SetStealthXPDecrement( int nDecrement );'),
                 ScriptFunction('void', 'DuplicateHeadAppearance', [ScriptParam('object', 'oidCreatureToChange', None),
                                                                    ScriptParam('object', 'oidCreatureToMatch', None)],
                                '// 500:\n',
                                'void DuplicateHeadAppearance(object oidCreatureToChange, object oidCreatureToMatch);'),
                 ScriptFunction('void', 'ActionCastFakeSpellAtObject',
                                [ScriptParam('int', 'nSpell', None), ScriptParam('object', 'oTarget', None),
                                 ScriptParam('int', 'nProjectilePathType', 'PROJECTILE_PATH_TYPE_DEFAULT')],
                                '// 501: The action subject will fake casting a spell at oTarget; the conjure and cast\n// animations and visuals will occur, nothing else.\n// - nSpell\n// - oTarget\n// - nProjectilePathType: PROJECTILE_PATH_TYPE_*\n',
                                'void ActionCastFakeSpellAtObject(int nSpell, object oTarget, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT);'),
                 ScriptFunction('void', 'ActionCastFakeSpellAtLocation',
                                [ScriptParam('int', 'nSpell', None), ScriptParam('location', 'lTarget', None),
                                 ScriptParam('int', 'nProjectilePathType', 'PROJECTILE_PATH_TYPE_DEFAULT')],
                                '// 502: The action subject will fake casting a spell at lLocation; the conjure and\n// cast animations and visuals will occur, nothing else.\n// - nSpell\n// - lTarget\n// - nProjectilePathType: PROJECTILE_PATH_TYPE_*\n',
                                'void ActionCastFakeSpellAtLocation(int nSpell, location lTarget, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT);'),
                 ScriptFunction('void', 'CutsceneAttack',
                                [ScriptParam('object', 'oTarget', None), ScriptParam('int', 'nAnimation', None),
                                 ScriptParam('int', 'nAttackResult', None), ScriptParam('int', 'nDamage', None)],
                                "// 503: CutsceneAttack\n// This function allows the designer to specify exactly what's going to happen in a combat round\n// There are no guarentees made that the animation specified here will be correct - only that it will be played,\n// so it is up to the designer to ensure that they have selected the right animation\n// It relies upon constants specified above for the attack result\n",
                                'void CutsceneAttack(object oTarget, int nAnimation, int nAttackResult, int nDamage);'),
                 ScriptFunction('void', 'SetCameraMode',
                                [ScriptParam('object', 'oPlayer', None), ScriptParam('int', 'nCameraMode', None)],
                                '// 504: Set the camera mode for oPlayer.\n// - oPlayer\n// - nCameraMode: CAMERA_MODE_*\n// * If oPlayer is not player-controlled or nCameraMode is invalid, nothing\n//   happens.\n',
                                'void SetCameraMode(object oPlayer, int nCameraMode);'),
                 ScriptFunction('void', 'SetLockOrientationInDialog',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nValue', None)],
                                '// 505: SetLockOrientationInDialog\n// Allows the locking and unlocking of orientation changes for an object in dialog\n// - oObject - Object\n// - nValue - TRUE or FALSE\n',
                                'void SetLockOrientationInDialog(object oObject, int nValue);'),
                 ScriptFunction('void', 'SetLockHeadFollowInDialog',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nValue', None)],
                                '// 506: SetLockHeadFollowInDialog\n// Allows the locking and undlocking of head following for an object in dialog\n// - oObject - Object\n// - nValue - TRUE or FALSE\n',
                                'void SetLockHeadFollowInDialog(object oObject, int nValue);'),
                 ScriptFunction('void', 'CutsceneMove',
                                [ScriptParam('object', 'oObject', None), ScriptParam('vector', 'vPosition', None),
                                 ScriptParam('int', 'nRun', None)],
                                '// 507: CutsceneMoveToPoint\n// Used by the cutscene system to allow designers to script combat\n',
                                'void CutsceneMove(object oObject, vector vPosition, int nRun);'),
                 ScriptFunction('void', 'EnableVideoEffect', [ScriptParam('int', 'nEffectType', None)],
                                '// 508: EnableVideoEffect\n// Enables the video frame buffer effect specified by nEffectType, which is\n// an index into VideoEffects.2da. This video effect will apply indefinitely,\n// and so it should *always* be cleared by a call to DisableVideoEffect().\n',
                                'void EnableVideoEffect(int nEffectType);'), ScriptFunction('void', 'StartNewModule', [
        ScriptParam('string', 'sModuleName', None), ScriptParam('string', 'sWayPoint', '""'),
        ScriptParam('string', 'sMovie1', '""'), ScriptParam('string', 'sMovie2', '""'),
        ScriptParam('string', 'sMovie3', '""'), ScriptParam('string', 'sMovie4', '""'),
        ScriptParam('string', 'sMovie5', '""'), ScriptParam('string', 'sMovie6', '""')],
                                                                                            '// 509: Shut down the currently loaded module and start a new one (moving all\n// currently-connected players to the starting point.\n',
                                                                                            'void StartNewModule(string sModuleName, string sWayPoint="", string sMovie1="", string sMovie2="", string sMovie3="", string sMovie4="", string sMovie5="", string sMovie6="");'),
                 ScriptFunction('void', 'DisableVideoEffect', [],
                                '// 510: DisableVideoEffect\n// Disables any video frame buffer effect that may be running. See\n// EnableVideoEffect() to see how to use them.\n',
                                'void DisableVideoEffect();'),
                 ScriptFunction('int', 'GetWeaponRanged', [ScriptParam('object', 'oItem', None)],
                                '// 511: * Returns TRUE if oItem is a ranged weapon.\n',
                                'int GetWeaponRanged(object oItem);'),
                 ScriptFunction('void', 'DoSinglePlayerAutoSave', [],
                                '// 512: Only if we are in a single player game, AutoSave the game.\n',
                                'void DoSinglePlayerAutoSave();'), ScriptFunction('int', 'GetGameDifficulty', [],
                                                                                  '// 513: Get the game difficulty (GAME_DIFFICULTY_*).\n',
                                                                                  'int GetGameDifficulty();'),
                 ScriptFunction('int', 'GetUserActionsPending', [],
                                '// 514:\n// This will test the combat action queu to see if the user has placed any actions on the queue.\n// will only work during combat.\n',
                                'int GetUserActionsPending();'), ScriptFunction('void', 'RevealMap', [
        ScriptParam('vector', 'vPoint', '[0.0'), ScriptParam('0.0', '0.0]', None), ScriptParam('int', 'nRadius', '-1')],
                                                                                "// 515: RevealMap\n// Reveals the map at the given WORLD point 'vPoint' with a MAP Grid Radius 'nRadius'\n// If this function is called with no parameters it will reveal the entire map.\n// (NOTE: if this function is called with a valid point but a default radius, ie. 'nRadius' of -1\n//        then the entire map will be revealed)\n",
                                                                                'void RevealMap(vector vPoint=[0.0,0.0,0.0],int nRadius=-1);'),
                 ScriptFunction('void', 'SetTutorialWindowsEnabled', [ScriptParam('int', 'bEnabled', None)],
                                '// 516: SetTutorialWindowsEnabled\n// Sets whether or not the tutorial windows are enabled (ie. whether or not they will\n// appear when certain things happen for the first time).\n',
                                'void SetTutorialWindowsEnabled( int bEnabled );'),
                 ScriptFunction('void', 'ShowTutorialWindow', [ScriptParam('int', 'nWindow', None)],
                                '// 517: ShowTutorialWindow\n// nWindow - A row index from Tutorial.2DA specifying the message to display.\n// Pops up the specified tutorial window.  If the tutorial window has already popped\n// up once before, this will do nothing.\n',
                                'void ShowTutorialWindow( int nWindow );'),
                 ScriptFunction('void', 'StartCreditSequence', [ScriptParam('int', 'bTransparentBackground', None)],
                                '// 518: StartCreditSequence\n// Starts the credits sequence.  If bTransparentBackground is TRUE, the credits will be displayed\n// with a transparent background, allowing whatever is currently onscreen to show through.  If it\n// is set to FALSE, the credits will be displayed on a black background.\n',
                                'void StartCreditSequence( int bTransparentBackground );'),
                 ScriptFunction('int', 'IsCreditSequenceInProgress', [],
                                '// 519: IsCreditSequenceInProgress\n// Returns TRUE if the credits sequence is currently in progress, FALSE otherwise.\n',
                                'int IsCreditSequenceInProgress();'),
                 ScriptFunction('void', 'SWMG_SetLateralAccelerationPerSecond', [ScriptParam('float', 'fLAPS', None)],
                                '// 520: Sets the minigame lateral acceleration/sec value\n',
                                'void SWMG_SetLateralAccelerationPerSecond(float fLAPS);'),
                 ScriptFunction('float', 'SWMG_GetLateralAccelerationPerSecond', [],
                                '// 521: Returns the minigame lateral acceleration/sec value\n',
                                'float SWMG_GetLateralAccelerationPerSecond();'),
                 ScriptFunction('int', 'GetCurrentAction', [ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                '// 522: Get the current action (ACTION_*) that oObject is executing.\n',
                                'int GetCurrentAction(object oObject=OBJECT_SELF);'),
                 ScriptFunction('float', 'GetDifficultyModifier', [], '// 523:\n', 'float GetDifficultyModifier();'),
                 ScriptFunction('int', 'GetAppearanceType', [ScriptParam('object', 'oCreature', None)],
                                "// 524: Returns the appearance type of oCreature (0 if creature doesn't exist)\n// - oCreature\n",
                                'int GetAppearanceType(object oCreature);'),
                 ScriptFunction('void', 'FloatingTextStrRefOnCreature', [ScriptParam('int', 'nStrRefToDisplay', None),
                                                                         ScriptParam('object', 'oCreatureToFloatAbove',
                                                                                     None),
                                                                         ScriptParam('int', 'bBroadcastToFaction',
                                                                                     'TRUE')],
                                '// 525: Display floaty text above the specified creature.\n// The text will also appear in the chat buffer of each player that receives the\n// floaty text.\n// - nStrRefToDisplay: String ref (therefore text is translated)\n// - oCreatureToFloatAbove\n// - bBroadcastToFaction: If this is TRUE then only creatures in the same faction\n//   as oCreatureToFloatAbove\n//   will see the floaty text, and only if they are within range (30 metres).\n',
                                'void FloatingTextStrRefOnCreature(int nStrRefToDisplay, object oCreatureToFloatAbove, int bBroadcastToFaction=TRUE);'),
                 ScriptFunction('void', 'FloatingTextStringOnCreature',
                                [ScriptParam('string', 'sStringToDisplay', None),
                                 ScriptParam('object', 'oCreatureToFloatAbove', None),
                                 ScriptParam('int', 'bBroadcastToFaction', 'TRUE')],
                                '// 526: Display floaty text above the specified creature.\n// The text will also appear in the chat buffer of each player that receives the\n// floaty text.\n// - sStringToDisplay: String\n// - oCreatureToFloatAbove\n// - bBroadcastToFaction: If this is TRUE then only creatures in the same faction\n//   as oCreatureToFloatAbove\n//   will see the floaty text, and only if they are within range (30 metres).\n',
                                'void FloatingTextStringOnCreature(string sStringToDisplay, object oCreatureToFloatAbove, int bBroadcastToFaction=TRUE);'),
                 ScriptFunction('int', 'GetTrapDisarmable', [ScriptParam('object', 'oTrapObject', None)],
                                '// 527: - oTrapObject: a placeable, door or trigger\n// * Returns TRUE if oTrapObject is disarmable.\n',
                                'int GetTrapDisarmable(object oTrapObject);'),
                 ScriptFunction('int', 'GetTrapDetectable', [ScriptParam('object', 'oTrapObject', None)],
                                '// 528: - oTrapObject: a placeable, door or trigger\n// * Returns TRUE if oTrapObject is detectable.\n',
                                'int GetTrapDetectable(object oTrapObject);'),
                 ScriptFunction('int', 'GetTrapDetectedBy',
                                [ScriptParam('object', 'oTrapObject', None), ScriptParam('object', 'oCreature', None)],
                                '// 529: - oTrapObject: a placeable, door or trigger\n// - oCreature\n// * Returns TRUE if oCreature has detected oTrapObject\n',
                                'int GetTrapDetectedBy(object oTrapObject, object oCreature);'),
                 ScriptFunction('int', 'GetTrapFlagged', [ScriptParam('object', 'oTrapObject', None)],
                                '// 530: - oTrapObject: a placeable, door or trigger\n// * Returns TRUE if oTrapObject has been flagged as visible to all creatures.\n',
                                'int GetTrapFlagged(object oTrapObject);'),
                 ScriptFunction('int', 'GetTrapBaseType', [ScriptParam('object', 'oTrapObject', None)],
                                '// 531: Get the trap base type (TRAP_BASE_TYPE_*) of oTrapObject.\n// - oTrapObject: a placeable, door or trigger\n',
                                'int GetTrapBaseType(object oTrapObject);'),
                 ScriptFunction('int', 'GetTrapOneShot', [ScriptParam('object', 'oTrapObject', None)],
                                '// 532: - oTrapObject: a placeable, door or trigger\n// * Returns TRUE if oTrapObject is one-shot (i.e. it does not reset itself\n//   after firing.\n',
                                'int GetTrapOneShot(object oTrapObject);'),
                 ScriptFunction('object', 'GetTrapCreator', [ScriptParam('object', 'oTrapObject', None)],
                                '// 533: Get the creator of oTrapObject, the creature that set the trap.\n// - oTrapObject: a placeable, door or trigger\n// * Returns OBJECT_INVALID if oTrapObject was created in the toolset.\n',
                                'object GetTrapCreator(object oTrapObject);'),
                 ScriptFunction('string', 'GetTrapKeyTag', [ScriptParam('object', 'oTrapObject', None)],
                                '// 534: Get the tag of the key that will disarm oTrapObject.\n// - oTrapObject: a placeable, door or trigger\n',
                                'string GetTrapKeyTag(object oTrapObject);'),
                 ScriptFunction('int', 'GetTrapDisarmDC', [ScriptParam('object', 'oTrapObject', None)],
                                '// 535: Get the DC for disarming oTrapObject.\n// - oTrapObject: a placeable, door or trigger\n',
                                'int GetTrapDisarmDC(object oTrapObject);'),
                 ScriptFunction('int', 'GetTrapDetectDC', [ScriptParam('object', 'oTrapObject', None)],
                                '// 536: Get the DC for detecting oTrapObject.\n// - oTrapObject: a placeable, door or trigger\n',
                                'int GetTrapDetectDC(object oTrapObject);'),
                 ScriptFunction('int', 'GetLockKeyRequired', [ScriptParam('object', 'oObject', None)],
                                '// 537: * Returns TRUE if a specific key is required to open the lock on oObject.\n',
                                'int GetLockKeyRequired(object oObject);'),
                 ScriptFunction('int', 'GetLockKeyTag', [ScriptParam('object', 'oObject', None)],
                                '// 538: Get the tag of the key that will open the lock on oObject.\n',
                                'int GetLockKeyTag(object oObject);'),
                 ScriptFunction('int', 'GetLockLockable', [ScriptParam('object', 'oObject', None)],
                                '// 539: * Returns TRUE if the lock on oObject is lockable.\n',
                                'int GetLockLockable(object oObject);'),
                 ScriptFunction('int', 'GetLockUnlockDC', [ScriptParam('object', 'oObject', None)],
                                '// 540: Get the DC for unlocking oObject.\n', 'int GetLockUnlockDC(object oObject);'),
                 ScriptFunction('int', 'GetLockLockDC', [ScriptParam('object', 'oObject', None)],
                                '// 541: Get the DC for locking oObject.\n', 'int GetLockLockDC(object oObject);'),
                 ScriptFunction('object', 'GetPCLevellingUp', [], '// 542: Get the last PC that levelled up.\n',
                                'object GetPCLevellingUp();'), ScriptFunction('int', 'GetHasFeatEffect',
                                                                              [ScriptParam('int', 'nFeat', None),
                                                                               ScriptParam('object', 'oObject',
                                                                                           'OBJECT_SELF')],
                                                                              '// 543: - nFeat: FEAT_*\n// - oObject\n// * Returns TRUE if oObject has effects on it originating from nFeat.\n',
                                                                              'int GetHasFeatEffect(int nFeat, object oObject=OBJECT_SELF);'),
                 ScriptFunction('void', 'SetPlaceableIllumination', [ScriptParam('object', 'oPlaceable', 'OBJECT_SELF'),
                                                                     ScriptParam('int', 'bIlluminate', 'TRUE')],
                                "// 544: Set the status of the illumination for oPlaceable.\n// - oPlaceable\n// - bIlluminate: if this is TRUE, oPlaceable's illumination will be turned on.\n//   If this is FALSE, oPlaceable's illumination will be turned off.\n// Note: You must call RecomputeStaticLighting() after calling this function in\n// order for the changes to occur visually for the players.\n// SetPlaceableIllumination() buffers the illumination changes, which are then\n// sent out to the players once RecomputeStaticLighting() is called.  As such,\n// it is best to call SetPlaceableIllumination() for all the placeables you wish\n// to set the illumination on, and then call RecomputeStaticLighting() once after\n// all the placeable illumination has been set.\n// * If oPlaceable is not a placeable object, or oPlaceable is a placeable that\n//   doesn't have a light, nothing will happen.\n",
                                'void SetPlaceableIllumination(object oPlaceable=OBJECT_SELF, int bIlluminate=TRUE);'),
                 ScriptFunction('int', 'GetPlaceableIllumination', [ScriptParam('object', 'oPlaceable', 'OBJECT_SELF')],
                                '// 545: * Returns TRUE if the illumination for oPlaceable is on\n',
                                'int GetPlaceableIllumination(object oPlaceable=OBJECT_SELF);'),
                 ScriptFunction('int', 'GetIsPlaceableObjectActionPossible', [ScriptParam('object', 'oPlaceable', None),
                                                                              ScriptParam('int', 'nPlaceableAction',
                                                                                          None)],
                                '// 546: - oPlaceable\n// - nPlaceableAction: PLACEABLE_ACTION_*\n// * Returns TRUE if nPlacebleAction is valid for oPlaceable.\n',
                                'int GetIsPlaceableObjectActionPossible(object oPlaceable, int nPlaceableAction);'),
                 ScriptFunction('void', 'DoPlaceableObjectAction', [ScriptParam('object', 'oPlaceable', None),
                                                                    ScriptParam('int', 'nPlaceableAction', None)],
                                '// 547: The caller performs nPlaceableAction on oPlaceable.\n// - oPlaceable\n// - nPlaceableAction: PLACEABLE_ACTION_*\n',
                                'void DoPlaceableObjectAction(object oPlaceable, int nPlaceableAction);'),
                 ScriptFunction('object', 'GetFirstPC', [],
                                '// 548: Get the first PC in the player list.\n// This resets the position in the player list for GetNextPC().\n',
                                'object GetFirstPC();'), ScriptFunction('object', 'GetNextPC', [],
                                                                        '// 549: Get the next PC in the player list.\n// This picks up where the last GetFirstPC() or GetNextPC() left off.\n',
                                                                        'object GetNextPC();'),
                 ScriptFunction('int', 'SetTrapDetectedBy',
                                [ScriptParam('object', 'oTrap', None), ScriptParam('object', 'oDetector', None)],
                                '// 550: Set oDetector to have detected oTrap.\n',
                                'int SetTrapDetectedBy(object oTrap, object oDetector);'),
                 ScriptFunction('int', 'GetIsTrapped', [ScriptParam('object', 'oObject', None)],
                                '// 551: Note: Only placeables, doors and triggers can be trapped.\n// * Returns TRUE if oObject is trapped.\n',
                                'int GetIsTrapped(object oObject);'), ScriptFunction('effect', 'SetEffectIcon', [
        ScriptParam('effect', 'eEffect', None), ScriptParam('int', 'nIcon', None)],
                                                                                     '// 552: SetEffectIcon\n// This will link the specified effect icon to the specified effect.  The\n// effect returned will contain the link to the effect icon and applying this\n// effect will cause an effect icon to appear on the portrait/charsheet gui.\n// eEffect: The effect which should cause the effect icon to appear.\n// nIcon: Index into effecticon.2da of the effect icon to use.\n',
                                                                                     'effect SetEffectIcon( effect eEffect, int nIcon );'),
                 ScriptFunction('void', 'FaceObjectAwayFromObject', [ScriptParam('object', 'oFacer', None),
                                                                     ScriptParam('object', 'oObjectToFaceAwayFrom',
                                                                                 None)],
                                '// 553: FaceObjectAwayFromObject\n// This will cause the object oFacer to face away from oObjectToFaceAwayFrom.\n// The objects must be in the same area for this to work.\n',
                                'void FaceObjectAwayFromObject( object oFacer, object oObjectToFaceAwayFrom );'),
                 ScriptFunction('void', 'PopUpDeathGUIPanel', [ScriptParam('object', 'oPC', None),
                                                               ScriptParam('int', 'bRespawnButtonEnabled', 'TRUE'),
                                                               ScriptParam('int', 'bWaitForHelpButtonEnabled', 'TRUE'),
                                                               ScriptParam('int', 'nHelpStringReference', '0'),
                                                               ScriptParam('string', 'sHelpString', '""')],
                                '// 554: Spawn in the Death GUI.\n// The default (as defined by BioWare) can be spawned in by PopUpGUIPanel, but\n// if you want to turn off the "Respawn" or "Wait for Help" buttons, this is the\n// function to use.\n// - oPC\n// - bRespawnButtonEnabled: if this is TRUE, the "Respawn" button will be enabled\n//   on the Death GUI.\n// - bWaitForHelpButtonEnabled: if this is TRUE, the "Wait For Help" button will\n//   be enabled on the Death GUI.\n// - nHelpStringReference\n// - sHelpString\n',
                                'void PopUpDeathGUIPanel(object oPC, int bRespawnButtonEnabled=TRUE, int bWaitForHelpButtonEnabled=TRUE, int nHelpStringReference=0, string sHelpString="");'),
                 ScriptFunction('void', 'SetTrapDisabled', [ScriptParam('object', 'oTrap', None)],
                                '// 555: Disable oTrap.\n// - oTrap: a placeable, door or trigger.\n',
                                'void SetTrapDisabled(object oTrap);'),
                 ScriptFunction('object', 'GetLastHostileActor', [ScriptParam('object', 'oVictim', 'OBJECT_SELF')],
                                '// 556: Get the last object that was sent as a GetLastAttacker(), GetLastDamager(),\n// GetLastSpellCaster() (for a hostile spell), or GetLastDisturbed() (when a\n// creature is pickpocketed).\n// Note: Return values may only ever be:\n// 1) A Creature\n// 2) Plot Characters will never have this value set\n// 3) Area of Effect Objects will return the AOE creator if they are registered\n//    as this value, otherwise they will return INVALID_OBJECT_ID\n// 4) Traps will not return the creature that set the trap.\n// 5) This value will never be overwritten by another non-creature object.\n// 6) This value will never be a dead/destroyed creature\n',
                                'object GetLastHostileActor(object oVictim=OBJECT_SELF);'),
                 ScriptFunction('void', 'ExportAllCharacters', [],
                                '// 557: Force all the characters of the players who are currently in the game to\n// be exported to their respective directories i.e. LocalVault/ServerVault/ etc.\n',
                                'void ExportAllCharacters();'),
                 ScriptFunction('int', 'MusicBackgroundGetDayTrack', [ScriptParam('object', 'oArea', None)],
                                '// 558: Get the Day Track for oArea.\n',
                                'int MusicBackgroundGetDayTrack(object oArea);'),
                 ScriptFunction('int', 'MusicBackgroundGetNightTrack', [ScriptParam('object', 'oArea', None)],
                                '// 559: Get the Night Track for oArea.\n',
                                'int MusicBackgroundGetNightTrack(object oArea);'),
                 ScriptFunction('void', 'WriteTimestampedLogEntry', [ScriptParam('string', 'sLogEntry', None)],
                                '// 560: Write sLogEntry as a timestamped entry into the log file\n',
                                'void WriteTimestampedLogEntry(string sLogEntry);'),
                 ScriptFunction('string', 'GetModuleName', [],
                                "// 561: Get the module's name in the language of the server that's running it.\n// * If there is no entry for the language of the server, it will return an\n//   empty string\n",
                                'string GetModuleName();'),
                 ScriptFunction('object', 'GetFactionLeader', [ScriptParam('object', 'oMemberOfFaction', None)],
                                '// 562: Get the leader of the faction of which oMemberOfFaction is a member.\n// * Returns OBJECT_INVALID if oMemberOfFaction is not a valid creature.\n',
                                'object GetFactionLeader(object oMemberOfFaction);'),
                 ScriptFunction('void', 'SWMG_SetSpeedBlurEffect',
                                [ScriptParam('int', 'bEnabled', None), ScriptParam('float', 'fRatio', '0.75f')],
                                '// 563: Turns on or off the speed blur effect in rendered scenes.\n// bEnabled: Set TRUE to turn it on, FALSE to turn it off.\n// fRatio: Sets the frame accumulation ratio.\n',
                                'void SWMG_SetSpeedBlurEffect( int bEnabled, float fRatio=0.75f );'),
                 ScriptFunction('void', 'EndGame', [ScriptParam('int', 'nShowEndGameGui', 'TRUE')],
                                '// 564: Immediately ends the currently running game and returns to the start screen.\n// nShowEndGameGui: Set TRUE to display the death gui.\n',
                                'void EndGame( int nShowEndGameGui=TRUE );'),
                 ScriptFunction('int', 'GetRunScriptVar', [],
                                '// 565: Get a variable passed when calling console debug runscript\n',
                                'int GetRunScriptVar();'),
                 ScriptFunction('int', 'GetCreatureMovmentType', [ScriptParam('object', 'oidCreature', None)],
                                '// 566: This function returns a value that matches one of the MOVEMENT_SPEED_... constants\n//      if the OID passed in is not found or not a creature then it will return\n//  MOVEMENT_SPEED_IMMOBILE.\n',
                                'int GetCreatureMovmentType(object oidCreature);'),
                 ScriptFunction('void', 'AmbientSoundSetDayVolume',
                                [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nVolume', None)],
                                '// 567: Set the ambient day volume for oArea to nVolume.\n// - oArea\n// - nVolume: 0 - 100\n',
                                'void AmbientSoundSetDayVolume(object oArea, int nVolume);'),
                 ScriptFunction('void', 'AmbientSoundSetNightVolume',
                                [ScriptParam('object', 'oArea', None), ScriptParam('int', 'nVolume', None)],
                                '// 568: Set the ambient night volume for oArea to nVolume.\n// - oArea\n// - nVolume: 0 - 100\n',
                                'void AmbientSoundSetNightVolume(object oArea, int nVolume);'),
                 ScriptFunction('int', 'MusicBackgroundGetBattleTrack', [ScriptParam('object', 'oArea', None)],
                                '// 569: Get the Battle Track for oArea.\n',
                                'int MusicBackgroundGetBattleTrack(object oArea);'),
                 ScriptFunction('int', 'GetHasInventory', [ScriptParam('object', 'oObject', None)],
                                '// 570: Determine whether oObject has an inventory.\n// * Returns TRUE for creatures and stores, and checks to see if an item or placeable object is a container.\n// * Returns FALSE for all other object types.\n',
                                'int GetHasInventory(object oObject);'),
                 ScriptFunction('float', 'GetStrRefSoundDuration', [ScriptParam('int', 'nStrRef', None)],
                                '// 571: Get the duration (in seconds) of the sound attached to nStrRef\n// * Returns 0.0f if no duration is stored or if no sound is attached\n',
                                'float GetStrRefSoundDuration(int nStrRef);'), ScriptFunction('void', 'AddToParty', [
        ScriptParam('object', 'oPC', None), ScriptParam('object', 'oPartyLeader', None)],
                                                                                              "// 572: Add oPC to oPartyLeader's party.  This will only work on two PCs.\n// - oPC: player to add to a party\n// - oPartyLeader: player already in the party\n",
                                                                                              'void AddToParty(object oPC, object oPartyLeader);'),
                 ScriptFunction('void', 'RemoveFromParty', [ScriptParam('object', 'oPC', None)],
                                "// 573: Remove oPC from their current party. This will only work on a PC.\n// - oPC: removes this player from whatever party they're currently in.\n",
                                'void RemoveFromParty(object oPC);'), ScriptFunction('int', 'AddPartyMember',
                                                                                     [ScriptParam('int', 'nNPC', None),
                                                                                      ScriptParam('object', 'oCreature',
                                                                                                  None)],
                                                                                     '// 574: Adds a creature to the party\n// Returns whether the addition was successful\n// AddPartyMember\n',
                                                                                     'int AddPartyMember(int nNPC, object oCreature);'),
                 ScriptFunction('int', 'RemovePartyMember', [ScriptParam('int', 'nNPC', None)],
                                '// 575: Removes a creature from the party\n// Returns whether the removal was syccessful\n// RemovePartyMember\n',
                                'int RemovePartyMember(int nNPC);'),
                 ScriptFunction('int', 'IsObjectPartyMember', [ScriptParam('object', 'oCreature', None)],
                                '// 576: Returns whether a specified creature is a party member\n// IsObjectPartyMember\n',
                                'int IsObjectPartyMember(object oCreature);'),
                 ScriptFunction('object', 'GetPartyMemberByIndex', [ScriptParam('int', 'nIndex', None)],
                                '// 577: Returns the party member at a given index in the party.\n// The order of members in the party can vary based on\n// who the current leader is (member 0 is always the current\n// party leader).\n// GetPartyMemberByIndex\n',
                                'object GetPartyMemberByIndex(int nIndex);'),
                 ScriptFunction('int', 'GetGlobalBoolean', [ScriptParam('string', 'sIdentifier', None)],
                                '// 578: GetGlobalBoolean\n// This function returns the value of a global boolean (TRUE or FALSE) scripting variable.\n',
                                'int GetGlobalBoolean( string sIdentifier );'),
                 ScriptFunction('void', 'SetGlobalBoolean',
                                [ScriptParam('string', 'sIdentifier', None), ScriptParam('int', 'nValue', None)],
                                '// 579: SetGlobalBoolean\n// This function sets the value of a global boolean (TRUE or FALSE) scripting variable.\n',
                                'void SetGlobalBoolean( string sIdentifier, int nValue );'),
                 ScriptFunction('int', 'GetGlobalNumber', [ScriptParam('string', 'sIdentifier', None)],
                                '// 580: GetGlobalNumber\n// This function returns the value of a global number (-128 to +127) scripting variable.\n',
                                'int GetGlobalNumber( string sIdentifier );'), ScriptFunction('void', 'SetGlobalNumber',
                                                                                              [ScriptParam('string',
                                                                                                           'sIdentifier',
                                                                                                           None),
                                                                                               ScriptParam('int',
                                                                                                           'nValue',
                                                                                                           None)],
                                                                                              '// 581: SetGlobalNumber\n// This function sets the value of a global number (-128 to +127) scripting variable.\n',
                                                                                              'void SetGlobalNumber( string sIdentifier, int nValue );'),
                 ScriptFunction('void', 'AurPostString',
                                [ScriptParam('string', 'sString', None), ScriptParam('int', 'nX', None),
                                 ScriptParam('int', 'nY', None), ScriptParam('float', 'fLife', None)],
                                '// post a string to the screen at column nX and row nY for fLife seconds\n// 582. AurPostString\n',
                                'void AurPostString(string sString, int nX, int nY, float fLife);'),
                 ScriptFunction('string', 'SWMG_GetLastEvent', [],
                                '// 583: OnAnimKey\n// get the event and the name of the model on which the event happened\n// SWMG_GetLastEvent\n',
                                'string SWMG_GetLastEvent();'),
                 ScriptFunction('string', 'SWMG_GetLastEventModelName', [], '// 584: SWMG_GetLastEventModelName\n',
                                'string SWMG_GetLastEventModelName();'),
                 ScriptFunction('object', 'SWMG_GetObjectByName', [ScriptParam('string', 'sName', None)],
                                '// 585: gets an object by its name (duh!)\n// SWMG_GetObjectByName\n',
                                'object SWMG_GetObjectByName(string sName);'),
                 ScriptFunction('void', 'SWMG_PlayAnimation',
                                [ScriptParam('object', 'oObject', None), ScriptParam('string', 'sAnimName', None),
                                 ScriptParam('int', 'bLooping', '1'), ScriptParam('int', 'bQueue', '0'),
                                 ScriptParam('int', 'bOverlay', '0')],
                                '// 586: plays an animation on an object\n// SWMG_PlayAnimation\n',
                                'void SWMG_PlayAnimation(object oObject, string sAnimName, int bLooping=1, int bQueue=0, int bOverlay=0);'),
                 ScriptFunction('int', 'SWMG_GetLastBulletHitDamage', [],
                                '// 587: OnHitBullet\n// get the damage, the target type (see TARGETflags), and the shooter\n// SWMG_GetLastBulletHitDamage\n',
                                'int SWMG_GetLastBulletHitDamage();'),
                 ScriptFunction('int', 'SWMG_GetLastBulletHitTarget', [], '// 588: SWMG_GetLastBulletHitTarget\n',
                                'int SWMG_GetLastBulletHitTarget();'),
                 ScriptFunction('object', 'SWMG_GetLastBulletHitShooter', [], '// 589: SWMG_GetLastBulletHitShooter\n',
                                'object SWMG_GetLastBulletHitShooter();'),
                 ScriptFunction('int', 'SWMG_AdjustFollowerHitPoints',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nHP', None),
                                 ScriptParam('int', 'nAbsolute', '0')],
                                '// 590: adjusts a followers hit points, can specify the absolute value to set to\n// SWMG_AdjustFollowerHitPoints\n',
                                'int SWMG_AdjustFollowerHitPoints(object oFollower, int nHP, int nAbsolute=0);'),
                 ScriptFunction('void', 'SWMG_OnBulletHit', [],
                                '// 591: the default implementation of OnBulletHit\n// SWMG_OnBulletHit\n',
                                'void SWMG_OnBulletHit();'), ScriptFunction('void', 'SWMG_OnObstacleHit', [],
                                                                            '// 592: the default implementation of OnObstacleHit\n// SWMG_OnObstacleHit\n',
                                                                            'void SWMG_OnObstacleHit();'),
                 ScriptFunction('object', 'SWMG_GetLastFollowerHit', [],
                                '// 593: returns the last follower and obstacle hit\n// SWMG_GetLastFollowerHit\n',
                                'object SWMG_GetLastFollowerHit();'),
                 ScriptFunction('object', 'SWMG_GetLastObstacleHit', [], '// 594: SWMG_GetLastObstacleHit\n',
                                'object SWMG_GetLastObstacleHit();'),
                 ScriptFunction('int', 'SWMG_GetLastBulletFiredDamage', [],
                                '// 595: gets information about the last bullet fired\n// SWMG_GetLastBulletFiredDamage\n',
                                'int SWMG_GetLastBulletFiredDamage();'),
                 ScriptFunction('int', 'SWMG_GetLastBulletFiredTarget', [], '// 596: SWMG_GetLastBulletFiredTarget\n',
                                'int SWMG_GetLastBulletFiredTarget();'),
                 ScriptFunction('string', 'SWMG_GetObjectName', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                '// 597: gets an objects name\n// SWMG_GetObjectName\n',
                                'string SWMG_GetObjectName(object oid=OBJECT_SELF);'),
                 ScriptFunction('void', 'SWMG_OnDeath', [],
                                '// 598: the default implementation of OnDeath\n// SWMG_OnDeath\n',
                                'void SWMG_OnDeath();'),
                 ScriptFunction('int', 'SWMG_IsFollower', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                '// 599: a bunch of Is functions for your pleasure\n// SWMG_IsFollower\n',
                                'int SWMG_IsFollower(object oid=OBJECT_SELF);'),
                 ScriptFunction('int', 'SWMG_IsPlayer', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                '// 600: SWMG_IsPlayer\n', 'int SWMG_IsPlayer(object oid=OBJECT_SELF);'),
                 ScriptFunction('int', 'SWMG_IsEnemy', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                '// 601: SWMG_IsEnemy\n', 'int SWMG_IsEnemy(object oid=OBJECT_SELF);'),
                 ScriptFunction('int', 'SWMG_IsTrigger', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                '// 602: SWMG_IsTrigger\n', 'int SWMG_IsTrigger(object oid=OBJECT_SELF);'),
                 ScriptFunction('int', 'SWMG_IsObstacle', [ScriptParam('object', 'oid', 'OBJECT_SELF')],
                                '// 603: SWMG_IsObstacle\n', 'int SWMG_IsObstacle(object oid=OBJECT_SELF);'),
                 ScriptFunction('void', 'SWMG_SetFollowerHitPoints',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nHP', None)],
                                '// 604: SWMG_SetFollowerHitPoints\n',
                                'void SWMG_SetFollowerHitPoints(object oFollower, int nHP);'),
                 ScriptFunction('void', 'SWMG_OnDamage', [], '// 605: SWMG_OnDamage\n', 'void SWMG_OnDamage();'),
                 ScriptFunction('int', 'SWMG_GetLastHPChange', [], '// 606: SWMG_GetLastHPChange\n',
                                'int SWMG_GetLastHPChange();'), ScriptFunction('void', 'SWMG_RemoveAnimation',
                                                                               [ScriptParam('object', 'oObject', None),
                                                                                ScriptParam('string', 'sAnimName',
                                                                                            None)],
                                                                               '// 607: SWMG_RemoveAnimation\n',
                                                                               'void SWMG_RemoveAnimation(object oObject, string sAnimName);'),
                 ScriptFunction('float', 'SWMG_GetCameraNearClip', [], '// 608: SWMG_GetCameraNearClip\n',
                                'float SWMG_GetCameraNearClip();'),
                 ScriptFunction('float', 'SWMG_GetCameraFarClip', [], '// 609: SWMG_GetCameraFarClip\n',
                                'float SWMG_GetCameraFarClip();'), ScriptFunction('void', 'SWMG_SetCameraClip',
                                                                                  [ScriptParam('float', 'fNear', None),
                                                                                   ScriptParam('float', 'fFar', None)],
                                                                                  '// 610: SWMG_SetCameraClip\n',
                                                                                  'void SWMG_SetCameraClip(float fNear, float fFar);'),
                 ScriptFunction('object', 'SWMG_GetPlayer', [], '// 611: SWMG_GetPlayer\n', 'object SWMG_GetPlayer();'),
                 ScriptFunction('int', 'SWMG_GetEnemyCount', [], '// 612: SWMG_GetEnemyCount\n',
                                'int SWMG_GetEnemyCount();'),
                 ScriptFunction('object', 'SWMG_GetEnemy', [ScriptParam('int', 'nEntry', None)],
                                '// 613: SWMG_GetEnemy\n', 'object SWMG_GetEnemy(int nEntry);'),
                 ScriptFunction('int', 'SWMG_GetObstacleCount', [], '// 614: SWMG_GetObstacleCount\n',
                                'int SWMG_GetObstacleCount();'),
                 ScriptFunction('object', 'SWMG_GetObstacle', [ScriptParam('int', 'nEntry', None)],
                                '// 615: SWMG_GetObstacle\n', 'object SWMG_GetObstacle(int nEntry);'),
                 ScriptFunction('int', 'SWMG_GetHitPoints', [ScriptParam('object', 'oFollower', None)],
                                '// 616: SWMG_GetHitPoints\n', 'int SWMG_GetHitPoints(object oFollower);'),
                 ScriptFunction('int', 'SWMG_GetMaxHitPoints', [ScriptParam('object', 'oFollower', None)],
                                '// 617: SWMG_GetMaxHitPoints\n', 'int SWMG_GetMaxHitPoints(object oFollower);'),
                 ScriptFunction('void', 'SWMG_SetMaxHitPoints',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nMaxHP', None)],
                                '// 618: SWMG_SetMaxHitPoints\n',
                                'void SWMG_SetMaxHitPoints(object oFollower, int nMaxHP);'),
                 ScriptFunction('float', 'SWMG_GetSphereRadius', [ScriptParam('object', 'oFollower', None)],
                                '// 619: SWMG_GetSphereRadius\n', 'float SWMG_GetSphereRadius(object oFollower);'),
                 ScriptFunction('void', 'SWMG_SetSphereRadius',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('float', 'fRadius', None)],
                                '// 620: SWMG_SetSphereRadius\n',
                                'void SWMG_SetSphereRadius(object oFollower, float fRadius);'),
                 ScriptFunction('int', 'SWMG_GetNumLoops', [ScriptParam('object', 'oFollower', None)],
                                '// 621: SWMG_GetNumLoops\n', 'int SWMG_GetNumLoops(object oFollower);'),
                 ScriptFunction('void', 'SWMG_SetNumLoops',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nNumLoops', None)],
                                '// 622: SWMG_SetNumLoops\n',
                                'void SWMG_SetNumLoops(object oFollower, int nNumLoops);'),
                 ScriptFunction('vector', 'SWMG_GetPosition', [ScriptParam('object', 'oFollower', None)],
                                '// 623: SWMG_GetPosition\n', 'vector SWMG_GetPosition(object oFollower);'),
                 ScriptFunction('int', 'SWMG_GetGunBankCount', [ScriptParam('object', 'oFollower', None)],
                                '// 624: SWMG_GetGunBankCount\n', 'int SWMG_GetGunBankCount(object oFollower);'),
                 ScriptFunction('string', 'SWMG_GetGunBankBulletModel',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                '// 625: SWMG_GetGunBankBulletModel\n',
                                'string SWMG_GetGunBankBulletModel(object oFollower, int nGunBank);'),
                 ScriptFunction('string', 'SWMG_GetGunBankGunModel',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                '// 626: SWMG_GetGunBankGunModel\n',
                                'string SWMG_GetGunBankGunModel(object oFollower, int nGunBank);'),
                 ScriptFunction('int', 'SWMG_GetGunBankDamage',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                '// 627: SWMG_GetGunBankDamage\n',
                                'int SWMG_GetGunBankDamage(object oFollower, int nGunBank);'),
                 ScriptFunction('float', 'SWMG_GetGunBankTimeBetweenShots',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                '// 628: SWMG_GetGunBankTimeBetweenShots\n',
                                'float SWMG_GetGunBankTimeBetweenShots(object oFollower, int nGunBank);'),
                 ScriptFunction('float', 'SWMG_GetGunBankLifespan',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                '// 629: SWMG_GetGunBankLifespan\n',
                                'float SWMG_GetGunBankLifespan(object oFollower, int nGunBank);'),
                 ScriptFunction('float', 'SWMG_GetGunBankSpeed',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                '// 630: SWMG_GetGunBankSpeed\n',
                                'float SWMG_GetGunBankSpeed(object oFollower, int nGunBank);'),
                 ScriptFunction('int', 'SWMG_GetGunBankTarget',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                '// 631: SWMG_GetGunBankTarget\n',
                                'int SWMG_GetGunBankTarget(object oFollower, int nGunBank);'),
                 ScriptFunction('void', 'SWMG_SetGunBankBulletModel',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('string', 'sBulletModel', None)], '// 632: SWMG_SetGunBankBulletModel\n',
                                'void SWMG_SetGunBankBulletModel(object oFollower, int nGunBank, string sBulletModel);'),
                 ScriptFunction('void', 'SWMG_SetGunBankGunModel',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('string', 'sGunModel', None)], '// 633: SWMG_SetGunBankGunModel\n',
                                'void SWMG_SetGunBankGunModel(object oFollower, int nGunBank, string sGunModel);'),
                 ScriptFunction('void', 'SWMG_SetGunBankDamage',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('int', 'nDamage', None)], '// 634: SWMG_SetGunBankDamage\n',
                                'void SWMG_SetGunBankDamage(object oFollower, int nGunBank, int nDamage);'),
                 ScriptFunction('void', 'SWMG_SetGunBankTimeBetweenShots',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('float', 'fTBS', None)], '// 635: SWMG_SetGunBankTimeBetweenShots\n',
                                'void SWMG_SetGunBankTimeBetweenShots(object oFollower, int nGunBank, float fTBS);'),
                 ScriptFunction('void', 'SWMG_SetGunBankLifespan',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('float', 'fLifespan', None)], '// 636: SWMG_SetGunBankLifespan\n',
                                'void SWMG_SetGunBankLifespan(object oFollower, int nGunBank, float fLifespan);'),
                 ScriptFunction('void', 'SWMG_SetGunBankSpeed',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('float', 'fSpeed', None)], '// 637: SWMG_SetGunBankSpeed\n',
                                'void SWMG_SetGunBankSpeed(object oFollower, int nGunBank, float fSpeed);'),
                 ScriptFunction('void', 'SWMG_SetGunBankTarget',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('int', 'nTarget', None)], '// 638: SWMG_SetGunBankTarget\n',
                                'void SWMG_SetGunBankTarget(object oFollower, int nGunBank, int nTarget);'),
                 ScriptFunction('string', 'SWMG_GetLastBulletHitPart', [], '// 639: SWMG_GetLastBulletHitPart\n',
                                'string SWMG_GetLastBulletHitPart();'),
                 ScriptFunction('int', 'SWMG_IsGunBankTargetting',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nGunBank', None)],
                                '// 640: SWMG_IsGunBankTargetting\n',
                                'int SWMG_IsGunBankTargetting(object oFollower, int nGunBank);'),
                 ScriptFunction('vector', 'SWMG_GetPlayerOffset', [],
                                '// 641: SWMG_GetPlayerOffset\n// returns a vector with the player rotation for rotation minigames\n// returns a vector with the player translation for translation minigames\n',
                                'vector SWMG_GetPlayerOffset();'),
                 ScriptFunction('float', 'SWMG_GetPlayerInvincibility', [], '// 642: SWMG_GetPlayerInvincibility\n',
                                'float SWMG_GetPlayerInvincibility();'),
                 ScriptFunction('float', 'SWMG_GetPlayerSpeed', [], '// 643: SWMG_GetPlayerSpeed\n',
                                'float SWMG_GetPlayerSpeed();'),
                 ScriptFunction('float', 'SWMG_GetPlayerMinSpeed', [], '// 644: SWMG_GetPlayerMinSpeed\n',
                                'float SWMG_GetPlayerMinSpeed ();'),
                 ScriptFunction('float', 'SWMG_GetPlayerAccelerationPerSecond', [],
                                '// 645: SWMG_GetPlayerAccelerationPerSecond\n',
                                'float SWMG_GetPlayerAccelerationPerSecond();'),
                 ScriptFunction('vector', 'SWMG_GetPlayerTunnelPos', [], '// 646: SWMG_GetPlayerTunnelPos\n',
                                'vector SWMG_GetPlayerTunnelPos();'),
                 ScriptFunction('void', 'SWMG_SetPlayerOffset', [ScriptParam('vector', 'vOffset', None)],
                                '// 647: SWMG_SetPlayerOffset\n', 'void SWMG_SetPlayerOffset(vector vOffset);'),
                 ScriptFunction('void', 'SWMG_SetPlayerInvincibility', [ScriptParam('float', 'fInvincibility', None)],
                                '// 648: SWMG_SetPlayerInvincibility\n',
                                'void SWMG_SetPlayerInvincibility(float fInvincibility);'),
                 ScriptFunction('void', 'SWMG_SetPlayerSpeed', [ScriptParam('float', 'fSpeed', None)],
                                '// 649: SWMG_SetPlayerSpeed\n', 'void SWMG_SetPlayerSpeed(float fSpeed);'),
                 ScriptFunction('void', 'SWMG_SetPlayerMinSpeed', [ScriptParam('float', 'fMinSpeed', None)],
                                '// 650: SWMG_SetPlayerMinSpeed\n', 'void SWMG_SetPlayerMinSpeed(float fMinSpeed);'),
                 ScriptFunction('void', 'SWMG_SetPlayerAccelerationPerSecond', [ScriptParam('float', 'fAPS', None)],
                                '// 651: SWMG_SetPlayerAccelerationPerSecond\n',
                                'void SWMG_SetPlayerAccelerationPerSecond(float fAPS);'),
                 ScriptFunction('void', 'SWMG_SetPlayerTunnelPos', [ScriptParam('vector', 'vTunnel', None)],
                                '// 652: SWMG_SetPlayerTunnelPos\n', 'void SWMG_SetPlayerTunnelPos(vector vTunnel);'),
                 ScriptFunction('vector', 'SWMG_GetPlayerTunnelNeg', [], '// 653: SWMG_GetPlayerTunnelNeg\n',
                                'vector SWMG_GetPlayerTunnelNeg();'),
                 ScriptFunction('void', 'SWMG_SetPlayerTunnelNeg', [ScriptParam('vector', 'vTunnel', None)],
                                '// 654: SWMG_SetPlayerTunnelNeg\n', 'void SWMG_SetPlayerTunnelNeg(vector vTunnel);'),
                 ScriptFunction('vector', 'SWMG_GetPlayerOrigin', [], '// 655: SWMG_GetPlayerOrigin\n',
                                'vector SWMG_GetPlayerOrigin();'),
                 ScriptFunction('void', 'SWMG_SetPlayerOrigin', [ScriptParam('vector', 'vOrigin', None)],
                                '// 656: SWMG_SetPlayerOrigin\n', 'void SWMG_SetPlayerOrigin(vector vOrigin);'),
                 ScriptFunction('float', 'SWMG_GetGunBankHorizontalSpread',
                                [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None)],
                                '// 657: SWMG_GetGunBankHorizontalSpread\n',
                                'float SWMG_GetGunBankHorizontalSpread(object oEnemy, int nGunBank);'),
                 ScriptFunction('float', 'SWMG_GetGunBankVerticalSpread',
                                [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None)],
                                '// 658: SWMG_GetGunBankVerticalSpread\n',
                                'float SWMG_GetGunBankVerticalSpread(object oEnemy, int nGunBank);'),
                 ScriptFunction('float', 'SWMG_GetGunBankSensingRadius',
                                [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None)],
                                '// 659: SWMG_GetGunBankSensingRadius\n',
                                'float SWMG_GetGunBankSensingRadius(object oEnemy, int nGunBank);'),
                 ScriptFunction('float', 'SWMG_GetGunBankInaccuracy',
                                [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None)],
                                '// 660: SWMG_GetGunBankInaccuracy\n',
                                'float SWMG_GetGunBankInaccuracy(object oEnemy, int nGunBank);'),
                 ScriptFunction('void', 'SWMG_SetGunBankHorizontalSpread',
                                [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('float', 'fHorizontalSpread', None)],
                                '// 661: SWMG_SetGunBankHorizontalSpread\n',
                                'void SWMG_SetGunBankHorizontalSpread(object oEnemy, int nGunBank, float fHorizontalSpread);'),
                 ScriptFunction('void', 'SWMG_SetGunBankVerticalSpread',
                                [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('float', 'fVerticalSpread', None)],
                                '// 662: SWMG_SetGunBankVerticalSpread\n',
                                'void SWMG_SetGunBankVerticalSpread(object oEnemy, int nGunBank, float fVerticalSpread);'),
                 ScriptFunction('void', 'SWMG_SetGunBankSensingRadius',
                                [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('float', 'fSensingRadius', None)],
                                '// 663: SWMG_SetGunBankSensingRadius\n',
                                'void SWMG_SetGunBankSensingRadius(object oEnemy, int nGunBank, float fSensingRadius);'),
                 ScriptFunction('void', 'SWMG_SetGunBankInaccuracy',
                                [ScriptParam('object', 'oEnemy', None), ScriptParam('int', 'nGunBank', None),
                                 ScriptParam('float', 'fInaccuracy', None)], '// 664: SWMG_SetGunBankInaccuracy\n',
                                'void SWMG_SetGunBankInaccuracy(object oEnemy, int nGunBank, float fInaccuracy);'),
                 ScriptFunction('int', 'SWMG_GetIsInvulnerable', [ScriptParam('object', 'oFollower', None)],
                                '// 665: GetIsInvulnerable\n// This returns whether the follower object is currently invulnerable to damage\n',
                                'int SWMG_GetIsInvulnerable( object oFollower );'),
                 ScriptFunction('void', 'SWMG_StartInvulnerability', [ScriptParam('object', 'oFollower', None)],
                                '// 666: StartInvulnerability\n// This will begin a period of invulnerability (as defined by Invincibility)\n',
                                'void SWMG_StartInvulnerability( object oFollower );'),
                 ScriptFunction('float', 'SWMG_GetPlayerMaxSpeed', [],
                                "// 667: GetPlayerMaxSpeed\n// This returns the player character's max speed\n",
                                'float SWMG_GetPlayerMaxSpeed();'),
                 ScriptFunction('void', 'SWMG_SetPlayerMaxSpeed', [ScriptParam('float', 'fMaxSpeed', None)],
                                "// 668: SetPlayerMaxSpeed\n// This sets the player character's max speed\n",
                                'void SWMG_SetPlayerMaxSpeed( float fMaxSpeed );'),
                 ScriptFunction('void', 'AddJournalWorldEntry',
                                [ScriptParam('int', 'nIndex', None), ScriptParam('string', 'szEntry', None),
                                 ScriptParam('string', 'szTitle', '"World Entry"')],
                                '// 669: AddJournalWorldEntry\n// Adds a user entered entry to the world notices\n',
                                'void AddJournalWorldEntry( int nIndex, string szEntry, string szTitle = "World Entry" );'),
                 ScriptFunction('void', 'AddJournalWorldEntryStrref',
                                [ScriptParam('int', 'strref', None), ScriptParam('int', 'strrefTitle', None)],
                                '// 670: AddJournalWorldEntryStrref\n// Adds an entry to the world notices using stringrefs\n',
                                'void AddJournalWorldEntryStrref ( int strref, int strrefTitle );'),
                 ScriptFunction('void', 'BarkString',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'strRef', None),
                                 ScriptParam('int', 'nBarkX', '-1'), ScriptParam('int', 'nBarkY', '-1')],
                                '// 671: BarkString\n// this will cause a creature to bark the strRef from the talk table\n// If creature is specefied as OBJECT_INVALID a general bark is made.\n',
                                'void BarkString(object oCreature,int strRef, int nBarkX = -1, int nBarkY = -1);'),
                 ScriptFunction('void', 'DeleteJournalWorldAllEntries', [],
                                "// 672: DeleteJournalWorldAllEntries\n// Nuke's 'em all, user entered or otherwise.\n",
                                'void DeleteJournalWorldAllEntries();'),
                 ScriptFunction('void', 'DeleteJournalWorldEntry', [ScriptParam('int', 'nIndex', None)],
                                '// 673: DeleteJournalWorldEntry\n// Deletes a user entered world notice\n',
                                'void DeleteJournalWorldEntry( int nIndex );'),
                 ScriptFunction('void', 'DeleteJournalWorldEntryStrref', [ScriptParam('int', 'strref', None)],
                                '// 674: DeleteJournalWorldEntryStrref\n// Deletes the world notice pertaining to the string ref\n',
                                'void DeleteJournalWorldEntryStrref( int strref );'),
                 ScriptFunction('effect', 'EffectForceDrain', [ScriptParam('int', 'nDamage', None)],
                                '// 675: EffectForceDrain\n// This command will reduce the force points of a creature.\n',
                                'effect EffectForceDrain( int nDamage );'),
                 ScriptFunction('effect', 'EffectPsychicStatic', [], '// 676: EffectTemporaryForcePoints\n//\n',
                                'effect EffectPsychicStatic();'), ScriptFunction('void', 'PlayVisualAreaEffect',
                                                                                 [ScriptParam('int', 'nEffectID', None),
                                                                                  ScriptParam('location', 'lTarget',
                                                                                              None)],
                                                                                 '// 677: PlayVisualAreaEffect\n',
                                                                                 'void PlayVisualAreaEffect(int nEffectID, location lTarget);'),
                 ScriptFunction('void', 'SetJournalQuestEntryPicture',
                                [ScriptParam('string', 'szPlotID', None), ScriptParam('object', 'oObject', None),
                                 ScriptParam('int', 'nPictureIndex', None),
                                 ScriptParam('int', 'bAllPartyMemebers', 'TRUE'),
                                 ScriptParam('int', 'bAllPlayers', 'FALSE')],
                                '// 678: SetJournalQuestEntryPicture\n// Sets the picture for the quest entry on this object (creature)\n',
                                'void SetJournalQuestEntryPicture(string szPlotID, object oObject, int nPictureIndex, int bAllPartyMemebers=TRUE, int bAllPlayers=FALSE);'),
                 ScriptFunction('int', 'GetLocalBoolean',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nIndex', None)],
                                '// 679. GetLocalBoolean\n// This gets a boolean flag on an object\n// currently the index is a range between 20 and 63\n',
                                'int GetLocalBoolean( object oObject, int nIndex );'),
                 ScriptFunction('void', 'SetLocalBoolean',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nIndex', None),
                                 ScriptParam('int', 'nValue', None)],
                                '// 680. SetLocalBoolean\n// This sets a boolean flag on an object\n// currently the index is a range between 20 and 63\n',
                                'void SetLocalBoolean( object oObject, int nIndex, int nValue );'),
                 ScriptFunction('int', 'GetLocalNumber',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nIndex', None)],
                                '// 681. GetLocalNumber\n// This gets a number on an object\n// currently the index is a range between 12 and 28\n',
                                'int GetLocalNumber( object oObject, int nIndex );'),
                 ScriptFunction('void', 'SetLocalNumber',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nIndex', None),
                                 ScriptParam('int', 'nValue', None)],
                                '// 682. SetLocalNumber\n// This sets a number on an object\n// currently the index is a range between 12 and 28\n// the value range is 0 to 255\n',
                                'void SetLocalNumber( object oObject, int nIndex, int nValue );'),
                 ScriptFunction('int', 'SWMG_GetSoundFrequency',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None)],
                                '// 683. SWMG_GetSoundFrequency\n// Gets the frequency of a trackfollower sound\n',
                                'int SWMG_GetSoundFrequency( object oFollower, int nSound );'),
                 ScriptFunction('void', 'SWMG_SetSoundFrequency',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None),
                                 ScriptParam('int', 'nFrequency', None)],
                                '// 684. SWMG_SetSoundFrequency\n// Sets the frequency of a trackfollower sound\n',
                                'void SWMG_SetSoundFrequency( object oFollower, int nSound, int nFrequency );'),
                 ScriptFunction('int', 'SWMG_GetSoundFrequencyIsRandom',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None)],
                                '// 685. SWMG_GetSoundFrequencyIsRandom\n// Gets whether the frequency of a trackfollower sound is using the random model\n',
                                'int SWMG_GetSoundFrequencyIsRandom( object oFollower, int nSound );'),
                 ScriptFunction('void', 'SWMG_SetSoundFrequencyIsRandom',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None),
                                 ScriptParam('int', 'bIsRandom', None)],
                                '// 686. SWMG_SetSoundFrequencyIsRandom\n// Sets whether the frequency of a trackfollower sound is using the random model\n',
                                'void SWMG_SetSoundFrequencyIsRandom( object oFollower, int nSound, int bIsRandom );'),
                 ScriptFunction('int', 'SWMG_GetSoundVolume',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None)],
                                '// 687. SWMG_GetSoundVolume\n// Gets the volume of a trackfollower sound\n',
                                'int SWMG_GetSoundVolume( object oFollower, int nSound );'),
                 ScriptFunction('void', 'SWMG_SetSoundVolume',
                                [ScriptParam('object', 'oFollower', None), ScriptParam('int', 'nSound', None),
                                 ScriptParam('int', 'nVolume', None)],
                                '// 688. SWMG_SetSoundVolume\n// Sets the volume of a trackfollower sound\n',
                                'void SWMG_SetSoundVolume( object oFollower, int nSound, int nVolume );'),
                 ScriptFunction('float', 'SoundObjectGetPitchVariance', [ScriptParam('object', 'oSound', None)],
                                '// 689. SoundObjectGetPitchVariance\n// Gets the pitch variance of a placeable sound object\n',
                                'float SoundObjectGetPitchVariance( object oSound );'),
                 ScriptFunction('void', 'SoundObjectSetPitchVariance',
                                [ScriptParam('object', 'oSound', None), ScriptParam('float', 'fVariance', None)],
                                '// 690. SoundObjectSetPitchVariance\n// Sets the pitch variance of a placeable sound object\n',
                                'void SoundObjectSetPitchVariance( object oSound, float fVariance );'),
                 ScriptFunction('int', 'SoundObjectGetVolume', [ScriptParam('object', 'oSound', None)],
                                '// 691. SoundObjectGetVolume\n// Gets the volume of a placeable sound object\n',
                                'int SoundObjectGetVolume( object oSound );'),
                 ScriptFunction('location', 'GetGlobalLocation', [ScriptParam('string', 'sIdentifier', None)],
                                '// 692: GetGlobalLocation\n// This function returns the a global location scripting variable.\n',
                                'location GetGlobalLocation( string sIdentifier );'),
                 ScriptFunction('void', 'SetGlobalLocation',
                                [ScriptParam('string', 'sIdentifier', None), ScriptParam('location', 'lValue', None)],
                                '// 693: SetGlobalLocation\n// This function sets the a global location scripting variable.\n',
                                'void SetGlobalLocation( string sIdentifier, location lValue );'),
                 ScriptFunction('int', 'AddAvailableNPCByObject',
                                [ScriptParam('int', 'nNPC', None), ScriptParam('object', 'oCreature', None)],
                                '// 694. AddAvailableNPCByObject\n// This adds a NPC to the list of available party members using\n// a game object as the template\n// Returns if true if successful, false if the NPC had already\n// been added or the object specified is invalid\n',
                                'int AddAvailableNPCByObject( int nNPC, object oCreature );'),
                 ScriptFunction('int', 'RemoveAvailableNPC', [ScriptParam('int', 'nNPC', None)],
                                '// 695. RemoveAvailableNPC\n// This removes a NPC from the list of available party members\n// Returns whether it was successful or not\n',
                                'int RemoveAvailableNPC( int nNPC );'),
                 ScriptFunction('int', 'IsAvailableCreature', [ScriptParam('int', 'nNPC', None)],
                                '// 696. IsAvailableNPC\n// This returns whether a NPC is in the list of available party members\n',
                                'int IsAvailableCreature( int nNPC );'),
                 ScriptFunction('int', 'AddAvailableNPCByTemplate',
                                [ScriptParam('int', 'nNPC', None), ScriptParam('string', 'sTemplate', None)],
                                '// 697. AddAvailableNPCByTemplate\n// This adds a NPC to the list of available party members using\n// a template\n// Returns if true if successful, false if the NPC had already\n// been added or the template specified is invalid\n',
                                'int AddAvailableNPCByTemplate( int nNPC, string sTemplate );'),
                 ScriptFunction('object', 'SpawnAvailableNPC',
                                [ScriptParam('int', 'nNPC', None), ScriptParam('location', 'lPosition', None)],
                                '// 698. SpawnAvailableNPC\n// This spawns a NPC from the list of available creatures\n// Returns a pointer to the creature object\n',
                                'object SpawnAvailableNPC( int nNPC, location lPosition );'),
                 ScriptFunction('int', 'IsNPCPartyMember', [ScriptParam('int', 'nNPC', None)],
                                '// 699. IsNPCPartyMember\n// Returns if a given NPC constant is in the party currently\n',
                                'int IsNPCPartyMember( int nNPC );'),
                 ScriptFunction('void', 'ActionBarkString', [ScriptParam('int', 'strRef', None)],
                                '// 700. ActionBarkString\n// this will cause a creature to bark the strRef from the talk table.\n',
                                'void ActionBarkString(int strRef);'),
                 ScriptFunction('int', 'GetIsConversationActive', [],
                                '// 701. GetIsConversationActive\n// Checks to see if any conversations are currently taking place\n',
                                'int GetIsConversationActive();'), ScriptFunction('effect', 'EffectLightsaberThrow', [
        ScriptParam('object', 'oTarget1', None), ScriptParam('object', 'oTarget2', 'OBJECT_INVALID'),
        ScriptParam('object', 'oTarget3', 'OBJECT_INVALID'), ScriptParam('int', 'nAdvancedDamage', '0')],
                                                                                  '// 702. EffectLightsaberThrow\n// This function throws a lightsaber at a target\n// If multiple targets are specified, then the lightsaber travels to them\n// sequentially, returning to the first object specified\n// This effect is applied to an object, so an effector is not needed\n',
                                                                                  'effect EffectLightsaberThrow(object oTarget1, object oTarget2 = OBJECT_INVALID, object oTarget3 = OBJECT_INVALID, int nAdvancedDamage = 0);'),
                 ScriptFunction('effect', 'EffectWhirlWind', [], '// 703.\n// creates the effect of a whirl wind.\n',
                                'effect EffectWhirlWind();'),
                 ScriptFunction('int', 'GetPartyAIStyle', [], '// 704.\n// Returns the party ai style\n',
                                'int GetPartyAIStyle();'),
                 ScriptFunction('int', 'GetNPCAIStyle', [ScriptParam('object', 'oCreature', None)],
                                '// 705.\n// Returns the party members ai style\n',
                                'int GetNPCAIStyle(object oCreature);'),
                 ScriptFunction('void', 'SetPartyAIStyle', [ScriptParam('int', 'nStyle', None)],
                                '// 706.\n// Sets the party ai style\n', 'void SetPartyAIStyle(int nStyle);'),
                 ScriptFunction('void', 'SetNPCAIStyle',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nStyle', None)],
                                '// 707.\n// Sets the party members ai style\n',
                                'void SetNPCAIStyle(object oCreature, int nStyle);'),
                 ScriptFunction('void', 'SetNPCSelectability',
                                [ScriptParam('int', 'nNPC', None), ScriptParam('int', 'nSelectability', None)],
                                '// 708: SetNPCSelectability\n',
                                'void SetNPCSelectability(int nNPC, int nSelectability);'),
                 ScriptFunction('int', 'GetNPCSelectability', [ScriptParam('int', 'nNPC', None)],
                                '// 709: GetNPCSelectability\n// nNPC - NPC_\n// returns 1 if in current party, 0 if selectable as a party member\n// -1 if not in party at all\n',
                                'int GetNPCSelectability(int nNPC);'), ScriptFunction('void', 'ClearAllEffects', [],
                                                                                      '// 710: Clear all the effects of the caller.\n// * No return value, but if an error occurs, the log file will contain\n//   "ClearAllEffects failed.".\n',
                                                                                      'void ClearAllEffects();'),
                 ScriptFunction('string', 'GetLastConversation', [],
                                '// 711: GetLastConversation\n// Gets the last conversation string.\n',
                                'string GetLastConversation();'), ScriptFunction('void', 'ShowPartySelectionGUI', [
        ScriptParam('string', 'sExitScript', '""'), ScriptParam('int', 'nForceNPC1', '-1'),
        ScriptParam('int', 'nForceNPC2', '-1'), ScriptParam('int', 'nAllowCancel', 'FALSE')],
                                                                                 "//\n// 712: ShowPartySelectionGUI\n// Brings up the party selection GUI for the player to\n// select the members of the party from\n// if exit script is specified, will be executed when\n// the GUI is exited\n// RWT-OEI 08/23/04 - New parameter = nAllowCancel. Passing in TRUE\n//  to this parameter makes it possible for the player to cancel out\n//  of the party selection GUI, so be careful that you are okay with\n//  them cancelling out of it before you pass TRUE.\n//  Also, in the sExitScript that gets called after the Party Select\n//  GUI exits, you can use GetRunScriptVar to find out if they\n//  cancelled. If it returns TRUE, they didn't cancel. If it returns\n//  FALSE, they cancelled.  See me if there's questions.\n",
                                                                                 'void ShowPartySelectionGUI(string sExitScript = "", int nForceNPC1 = -1, int nForceNPC2 = -1, int nAllowCancel = FALSE);'),
                 ScriptFunction('int', 'GetStandardFaction', [ScriptParam('object', 'oObject', None)],
                                '// 713: GetStandardFaction\n// Find out which standard faction oObject belongs to.\n// * Returns INVALID_STANDARD_FACTION if oObject does not belong to\n//   a Standard Faction, or an error has occurred.\n',
                                'int GetStandardFaction(object oObject);'), ScriptFunction('void', 'GivePlotXP', [
        ScriptParam('string', 'sPlotName', None), ScriptParam('int', 'nPercentage', None)],
                                                                                           '// 714: GivePlotXP\n// Give nPercentage% of the experience associated with plot sPlotName\n// to the party\n// - sPlotName\n// - nPercentage\n',
                                                                                           'void GivePlotXP(string sPlotName, int nPercentage);'),
                 ScriptFunction('int', 'GetMinOneHP', [ScriptParam('object', 'oObject', None)],
                                '// 715. GetMinOneHP\n// Checks to see if oObject has the MinOneHP Flag set on them.\n',
                                'int GetMinOneHP(object oObject);'), ScriptFunction('void', 'SetMinOneHP', [
        ScriptParam('object', 'oObject', None), ScriptParam('int', 'nMinOneHP', None)],
                                                                                    '// 716. SetMinOneHP\n// Sets/Removes the MinOneHP Flag on oObject.\n',
                                                                                    'void SetMinOneHP(object oObject,int nMinOneHP);'),
                 ScriptFunction('vector', 'SWMG_GetPlayerTunnelInfinite', [],
                                '// 717. SWMG_GetPlayerTunnelInfinite\n// Gets whether each of the dimensions is infinite\n',
                                'vector SWMG_GetPlayerTunnelInfinite();'),
                 ScriptFunction('void', 'SWMG_SetPlayerTunnelInfinite', [ScriptParam('vector', 'vInfinite', None)],
                                '// 718. SWMG_SetPlayerTunnelInfinite\n// Sets whether each of the dimensions is infinite\n',
                                'void SWMG_SetPlayerTunnelInfinite(vector vInfinite);'),
                 ScriptFunction('void', 'SetGlobalFadeIn',
                                [ScriptParam('float', 'fWait', '0.0f'), ScriptParam('float', 'fLength', '0.0f'),
                                 ScriptParam('float', 'fR', '0.0f'), ScriptParam('float', 'fG', '0.0f'),
                                 ScriptParam('float', 'fB', '0.0f')],
                                '// 719. SetGlobalFadeIn\n// Sets a Fade In that starts after fWait seconds and fades for fLength Seconds.\n// The Fade will be from a color specified by the RGB values fR, fG, and fB.\n// Note that fR, fG, and fB are normalized values.\n// The default values are an immediate cut in from black.\n',
                                'void SetGlobalFadeIn(float fWait = 0.0f, float fLength = 0.0f, float fR=0.0f, float fG=0.0f, float fB=0.0f);'),
                 ScriptFunction('void', 'SetGlobalFadeOut',
                                [ScriptParam('float', 'fWait', '0.0f'), ScriptParam('float', 'fLength', '0.0f'),
                                 ScriptParam('float', 'fR', '0.0f'), ScriptParam('float', 'fG', '0.0f'),
                                 ScriptParam('float', 'fB', '0.0f')],
                                '// 720. SetGlobalFadeOut\n// Sets a Fade Out that starts after fWait seconds and fades for fLength Seconds.\n// The Fade will be to a color specified by the RGB values fR, fG, and fB.\n// Note that fR, fG, and fB are normalized values.\n// The default values are an immediate cut to from black.\n',
                                'void SetGlobalFadeOut(float fWait = 0.0f, float fLength = 0.0f, float fR=0.0f, float fG=0.0f, float fB=0.0f);'),
                 ScriptFunction('object', 'GetLastHostileTarget', [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                '// 721. GetLastAttackTarget\n// Returns the last attack target for a given object\n',
                                'object GetLastHostileTarget(object oAttacker = OBJECT_SELF);'),
                 ScriptFunction('int', 'GetLastAttackAction', [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                '// 722. GetLastAttackAction\n// Returns the last attack action for a given object\n',
                                'int GetLastAttackAction(object oAttacker = OBJECT_SELF);'),
                 ScriptFunction('int', 'GetLastForcePowerUsed', [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                '// 723. GetLastForcePowerUsed\n// Returns the last force power used (as a spell number that indexes the Spells.2da) by the given object\n',
                                'int GetLastForcePowerUsed(object oAttacker = OBJECT_SELF);'),
                 ScriptFunction('int', 'GetLastCombatFeatUsed', [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                '// 724. GetLastCombatFeatUsed\n// Returns the last feat used (as a feat number that indexes the Feats.2da) by the given object\n',
                                'int GetLastCombatFeatUsed(object oAttacker = OBJECT_SELF);'),
                 ScriptFunction('int', 'GetLastAttackResult', [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                '// 725. GetLastAttackResult\n// Returns the result of the last attack\n',
                                'int GetLastAttackResult(object oAttacker = OBJECT_SELF);'),
                 ScriptFunction('int', 'GetWasForcePowerSuccessful',
                                [ScriptParam('object', 'oAttacker', 'OBJECT_SELF')],
                                '// 726. GetWasForcePowerSuccessful\n// Returns whether the last force power used was successful or not\n',
                                'int GetWasForcePowerSuccessful(object oAttacker = OBJECT_SELF);'),
                 ScriptFunction('object', 'GetFirstAttacker', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                '// 727. GetFirstAttacker\n// Returns the first object in the area that is attacking oCreature\n',
                                'object GetFirstAttacker(object oCreature = OBJECT_SELF);'),
                 ScriptFunction('object', 'GetNextAttacker', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                '// 728. GetNextAttacker\n// Returns the next object in the area that is attacking oCreature\n',
                                'object GetNextAttacker(object oCreature = OBJECT_SELF);'),
                 ScriptFunction('void', 'SetFormation',
                                [ScriptParam('object', 'oAnchor', None), ScriptParam('object', 'oCreature', None),
                                 ScriptParam('int', 'nFormationPattern', None), ScriptParam('int', 'nPosition', None)],
                                '// 729. SetFormation\n// Put oCreature into the nFormationPattern about oAnchor at position nPosition\n// - oAnchor: The formation is set relative to this object\n// - oCreature: This is the creature that you wish to join the formation\n// - nFormationPattern: FORMATION_*\n// - nPosition: Integer from 1 to 10 to specify which position in the formation\n//   oCreature is supposed to take.\n',
                                'void SetFormation(object oAnchor, object oCreature, int nFormationPattern, int nPosition);'),
                 ScriptFunction('void', 'ActionFollowLeader', [],
                                '// 730. ActionFollowLeader\n// this action has a party member follow the leader.\n// DO NOT USE ON A CREATURE THAT IS NOT IN THE PARTY!!\n',
                                'void ActionFollowLeader();'), ScriptFunction('void', 'SetForcePowerUnsuccessful',
                                                                              [ScriptParam('int', 'nResult', None),
                                                                               ScriptParam('object', 'oCreature',
                                                                                           'OBJECT_SELF')],
                                                                              '// 731. SetForcePowerUnsuccessful\n// Sets the reason (through a constant) for why a force power failed\n',
                                                                              'void SetForcePowerUnsuccessful(int nResult, object oCreature = OBJECT_SELF);'),
                 ScriptFunction('int', 'GetIsDebilitated', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                '// 732. GetIsDebilitated\n// Returns whether the given object is debilitated or not\n',
                                'int GetIsDebilitated(object oCreature = OBJECT_SELF);'),
                 ScriptFunction('void', 'PlayMovie',
                                [ScriptParam('string', 'sMovie', None), ScriptParam('int', 'nStreamingMusic', 'FALSE')],
                                '// 733. PlayMovie\n// Playes a Movie.\n',
                                'void PlayMovie( string sMovie, int nStreamingMusic = FALSE );'),
                 ScriptFunction('void', 'SaveNPCState', [ScriptParam('int', 'nNPC', None)],
                                '// 734. SaveNPCState\n// Tells the party table to save the state of a party member NPC\n',
                                'void SaveNPCState( int nNPC );'),
                 ScriptFunction('int', 'GetCategoryFromTalent', [ScriptParam('talent', 'tTalent', None)],
                                '// 735: Get the Category of tTalent.\n', 'int GetCategoryFromTalent(talent tTalent);'),
                 ScriptFunction('void', 'SurrenderByFaction',
                                [ScriptParam('int', 'nFactionFrom', None), ScriptParam('int', 'nFactionTo', None)],
                                '// 736: This affects all creatures in the area that are in faction nFactionFrom...\n// - Makes them join nFactionTo\n// - Clears all actions\n// - Disables combat mode\n',
                                'void SurrenderByFaction(int nFactionFrom, int nFactionTo);'),
                 ScriptFunction('void', 'ChangeFactionByFaction',
                                [ScriptParam('int', 'nFactionFrom', None), ScriptParam('int', 'nFactionTo', None)],
                                '// 737: This affects all creatures in the area that are in faction nFactionFrom.\n// making them change to nFactionTo\n',
                                'void ChangeFactionByFaction(int nFactionFrom, int nFactionTo);'),
                 ScriptFunction('void', 'PlayRoomAnimation',
                                [ScriptParam('string', 'sRoom', None), ScriptParam('int', 'nAnimation', None)],
                                '// 738: PlayRoomAnimation\n// Plays a looping animation on a room\n',
                                'void PlayRoomAnimation(string sRoom, int nAnimation);'),
                 ScriptFunction('void', 'ShowGalaxyMap', [ScriptParam('int', 'nPlanet', None)],
                                "// 739: ShowGalaxyMap\n// Brings up the Galaxy Map Gui, with 'nPlanet' selected.  'nPlanet' can only be a planet\n// that has already been set available and selectable.\n",
                                'void ShowGalaxyMap(int nPlanet);'), ScriptFunction('void', 'SetPlanetSelectable', [
        ScriptParam('int', 'nPlanet', None), ScriptParam('int', 'bSelectable', None)],
                                                                                    "// 740: SetPlanetSelectable\n// Sets 'nPlanet' selectable on the Galaxy Map Gui.\n",
                                                                                    'void SetPlanetSelectable(int nPlanet, int bSelectable);'),
                 ScriptFunction('int', 'GetPlanetSelectable', [ScriptParam('int', 'nPlanet', None)],
                                "// 741: GetPlanetSelectable\n// Returns wheter or not 'nPlanet' is selectable.\n",
                                'int GetPlanetSelectable(int nPlanet);'), ScriptFunction('void', 'SetPlanetAvailable', [
        ScriptParam('int', 'nPlanet', None), ScriptParam('int', 'bAvailable', None)],
                                                                                         "// 742: SetPlanetAvailable\n// Sets 'nPlanet' available on the Galaxy Map Gui.\n",
                                                                                         'void SetPlanetAvailable(int nPlanet, int bAvailable);'),
                 ScriptFunction('int', 'GetPlanetAvailable', [ScriptParam('int', 'nPlanet', None)],
                                "// 743: GetPlanetAvailable\n// Returns wheter or not 'nPlanet' is available.\n",
                                'int GetPlanetAvailable(int nPlanet);'), ScriptFunction('int', 'GetSelectedPlanet', [],
                                                                                        '// 744: GetSelectedPlanet\n// Returns the ID of the currently selected planet.  Check Planetary.2da\n// for which planet the return value corresponds to. If the return is -1\n// no planet is selected.\n',
                                                                                        'int GetSelectedPlanet();'),
                 ScriptFunction('void', 'SoundObjectFadeAndStop',
                                [ScriptParam('object', 'oSound', None), ScriptParam('float', 'fSeconds', None)],
                                "// 745: SoundObjectFadeAndStop\n// Fades a sound object for 'fSeconds' and then stops it.\n",
                                'void SoundObjectFadeAndStop(object oSound,float fSeconds);'),
                 ScriptFunction('void', 'SetAreaFogColor',
                                [ScriptParam('object', 'oArea', None), ScriptParam('float', 'fRed', None),
                                 ScriptParam('float', 'fGreen', None), ScriptParam('float', 'fBlue', None)],
                                '// 746: SetAreaFogColor\n// Set the fog color for the area oArea.\n',
                                'void SetAreaFogColor( object oArea, float fRed, float fGreen, float fBlue );'),
                 ScriptFunction('void', 'ChangeItemCost',
                                [ScriptParam('string', 'sItem', None), ScriptParam('float', 'fCostMultiplier', None)],
                                '// 747: ChangeItemCost\n// Change the cost of an item\n',
                                'void ChangeItemCost( string sItem, float fCostMultiplier );'),
                 ScriptFunction('int', 'GetIsLiveContentAvailable', [ScriptParam('int', 'nPkg', None)],
                                '// 748: GetIsLiveContentAvailable\n// Determines whether a given live content package is available\n// nPkg = LIVE_CONTENT_PKG1, LIVE_CONTENT_PKG2, ..., LIVE_CONTENT_PKG6\n',
                                'int GetIsLiveContentAvailable(int nPkg);'),
                 ScriptFunction('void', 'ResetDialogState', [],
                                '// 749: ResetDialogState\n// Resets the GlobalDialogState for the engine.\n// NOTE: NEVER USE THIS UNLESS YOU KNOW WHAT ITS FOR!\n//       only to be used for a failing OnDialog script\n',
                                'void ResetDialogState();'), ScriptFunction('void', 'SetGoodEvilValue',
                                                                            [ScriptParam('object', 'oCreature', None),
                                                                             ScriptParam('int', 'nAlignment', None)],
                                                                            "// 750: SetAlignmentGoodEvil\n// Set oCreature's alignment value\n",
                                                                            'void SetGoodEvilValue( object oCreature, int nAlignment );'),
                 ScriptFunction('int', 'GetIsPoisoned', [ScriptParam('object', 'oObject', None)],
                                '// 751: GetIsPoisoned\n// Returns TRUE if the object specified is poisoned.\n',
                                'int GetIsPoisoned( object oObject );'),
                 ScriptFunction('object', 'GetSpellTarget', [ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                '// 752: GetSpellTarget\n// Returns the object id of the spell target\n',
                                'object GetSpellTarget(object oCreature=OBJECT_SELF);'),
                 ScriptFunction('void', 'SetSoloMode', [ScriptParam('int', 'bActivate', None)],
                                "// 753: SetSoloMode\n// Activates/Deactivates solo mode for the player's party.\n",
                                'void SetSoloMode( int bActivate );'),
                 ScriptFunction('effect', 'EffectCutSceneHorrified', [],
                                '// 754: EffectCutSceneHorrified\n// Get a horrified effect for cutscene purposes (ie. this effect will ignore immunities).\n',
                                'effect EffectCutSceneHorrified();'),
                 ScriptFunction('effect', 'EffectCutSceneParalyze', [],
                                '// 755: EffectCutSceneParalyze\n// Get a paralyze effect for cutscene purposes (ie. this effect will ignore immunities).\n',
                                'effect EffectCutSceneParalyze();'),
                 ScriptFunction('effect', 'EffectCutSceneStunned', [],
                                '// 756: EffectCutSceneStunned\n// Get a stun effect for cutscene purposes (ie. this effect will ignore immunities).\n',
                                'effect EffectCutSceneStunned();'),
                 ScriptFunction('void', 'CancelPostDialogCharacterSwitch', [],
                                '// 757: CancelPostDialogCharacterSwitch()\n// If a dialog has been started by an NPC on a Non PartyMemeberCanInteract object\n// calling this function will cancel the Post Dialog switching back to the NPC\n// that did the initiating.\n',
                                'void CancelPostDialogCharacterSwitch();'), ScriptFunction('void', 'SetMaxHitPoints', [
        ScriptParam('object', 'oObject', None), ScriptParam('int', 'nMaxHP', None)],
                                                                                           '// 758: SetMaxHitPoints\n// Set the maximum hitpoints of oObject\n// The objects maximum AND current hitpoints will be nMaxHP after the function is called\n',
                                                                                           'void SetMaxHitPoints(object oObject, int nMaxHP);'),
                 ScriptFunction('void', 'NoClicksFor', [ScriptParam('float', 'fDuration', None)],
                                "// 759: NoClicksFor()\n// This command will not allow clicking on anything for 'fDuration' seconds\n",
                                'void NoClicksFor(float fDuration);'),
                 ScriptFunction('void', 'HoldWorldFadeInForDialog', [],
                                '// 760: HoldWorldFadeInForDialog()\n// This will hold the fade in at the begining of a module until a dialog starts\n',
                                'void HoldWorldFadeInForDialog();'), ScriptFunction('int', 'ShipBuild', [],
                                                                                    '// 761: ShipBuild()\n// This will return if this is a shipping build. this should be used to disable all debug output.\n',
                                                                                    'int ShipBuild();'),
                 ScriptFunction('void', 'SurrenderRetainBuffs', [],
                                '// 762: SurrenderRetainBuffs()\n// This will do the same as SurrenderToEnemies, except that affected creatures will not\n// lose effects which they have put on themselves\n',
                                'void SurrenderRetainBuffs();'),
                 ScriptFunction('void', 'SuppressStatusSummaryEntry', [ScriptParam('int', 'nNumEntries', '1')],
                                '// 763. SuppressStatusSummaryEntry\n// This will prevent the next n entries that should have shown up in the status summary\n// from being added\n// This will not add on to any existing summary suppressions, but rather replace it.  So\n// to clear the supression system pass 0 as the entry value\n',
                                'void SuppressStatusSummaryEntry(int nNumEntries = 1);'),
                 ScriptFunction('int', 'GetCheatCode', [ScriptParam('int', 'nCode', None)],
                                '// 764. GetCheatCode\n// Returns true if cheat code has been enabled\n',
                                'int GetCheatCode(int nCode);'),
                 ScriptFunction('void', 'SetMusicVolume', [ScriptParam('float', 'fVolume', '1.0f')],
                                '// 765. SetMusicVolume\n// NEVER USE THIS!\n',
                                'void SetMusicVolume(float fVolume = 1.0f);'),
                 ScriptFunction('object', 'CreateItemOnFloor',
                                [ScriptParam('string', 'sTemplate', None), ScriptParam('location', 'lLocation', None),
                                 ScriptParam('int', 'bUseAppearAnimation', 'FALSE')],
                                '// 766. CreateItemOnFloor\n// Should only be used for items that have been created on the ground, and will\n// be destroyed without ever being picked up or equipped.  Returns true if successful\n',
                                'object CreateItemOnFloor(string sTemplate, location lLocation, int bUseAppearAnimation=FALSE);'),
                 ScriptFunction('void', 'SetAvailableNPCId',
                                [ScriptParam('INT', 'nNPC', None), ScriptParam('OBJECT_ID', 'oidNPC', None)],
                                '// 767. SetAvailableNPCId\n// This will set the object id that should be used for a specific available NPC\n',
                                'void SetAvailableNPCId(INT nNPC, OBJECT_ID oidNPC);'),
                 ScriptFunction('int', 'GetScriptParameter', [ScriptParam('int', 'nIndex', None)],
                                '// DJS-OEI\n// 768. GetScriptParameter\n// This function will take the index of a script parameter\n// and return the value associated with it. The index\n// of the first parameter is 1.\n',
                                'int GetScriptParameter( int nIndex );'),
                 ScriptFunction('void', 'SetFadeUntilScript', [],
                                "//RWT-OEI 12/10/03\n// 769. SetFadeUntilScript\n// This script function will make it so that the fade cannot be lifted under any circumstances\n// other than a call to the SetGlobalFadeIn() script.\n// This function should be called AFTER the fade has already been called. For example, you would\n// do a SetGlobalFadeOut() first, THEN do SetFadeUntilScript()\n// The exception to this if it's used in an OnModuleLoad() script, where instead of starting a new\n// fade you are just extending the LevelLoad fade indefinitely. You can just call SetFadeUntilScript\n// in such cases and the game will stay faded until a GlobalSetFadeIn() is called.\n",
                                'void SetFadeUntilScript();'),
                 ScriptFunction('effect', 'EffectForceBody', [ScriptParam('int', 'nLevel', None)],
                                '// DJS-OEI 12/15/2003\n// 770: Create a Force Body effect\n// - nLevel: The level of the Force Body effect.\n//    0 = Force Body\n//    1 = Improved Force Body\n//    2 = Master Force Body\n',
                                'effect EffectForceBody(int nLevel);'), ScriptFunction('int', 'GetItemComponent', [],
                                                                                       '// FAK-OEI 12/15/2003\n// 771: Get the number of components for an item\n',
                                                                                       'int GetItemComponent( );'),
                 ScriptFunction('int', 'GetItemComponentPieceValue', [],
                                '// FAK-OEI 12/15/2003\n// 771: Get the number of components for an item in pieces\n',
                                'int GetItemComponentPieceValue( );'),
                 ScriptFunction('void', 'ShowChemicalUpgradeScreen', [ScriptParam('object', 'oCharacter', None)],
                                '// FAK-OEI 12/15/2003\n// 773: Start the GUI for Chemical Workshop\n',
                                'void ShowChemicalUpgradeScreen(object oCharacter );'),
                 ScriptFunction('int', 'GetChemicals', [],
                                '// FAK-OEI 12/15/2003\n// 774: Get the number of chemicals for an item\n',
                                'int GetChemicals( );'), ScriptFunction('int', 'GetChemicalPieceValue', [],
                                                                        '// FAK-OEI 12/15/2003\n// 775: Get the number of chemicals for an item in pieces\n',
                                                                        'int GetChemicalPieceValue( );'),
                 ScriptFunction('int', 'GetSpellForcePointCost', [],
                                '// DJS-OEI 12/30/2003\n// 776: Get the number of Force Points that were required to\n// cast this spell. This includes modifiers such as Room Force\n// Ratings and the Force Body power.\n// * Return value on error: 0\n',
                                'int GetSpellForcePointCost( );'),
                 ScriptFunction('effect', 'EffectFury', [], '// DJS-OEI 1/2/2004\n// 777: Create a Fury effect.\n',
                                'effect EffectFury();'),
                 ScriptFunction('effect', 'EffectBlind', [], '// DJS-OEI 1/3/2004\n// 778: Create a Blind effect.\n',
                                'effect EffectBlind();'),
                 ScriptFunction('effect', 'EffectFPRegenModifier', [ScriptParam('int', 'nPercent', None)],
                                '// DJS-OEI 1/4/2004\n// 779: Create an FP regeneration modifier effect.\n',
                                'effect EffectFPRegenModifier( int nPercent );'),
                 ScriptFunction('effect', 'EffectVPRegenModifier', [ScriptParam('int', 'nPercent', None)],
                                '// DJS-OEI 1/4/2004\n// 780: Create a VP regeneration modifier effect.\n',
                                'effect EffectVPRegenModifier( int nPercent );'),
                 ScriptFunction('effect', 'EffectCrush', [],
                                '// DJS-OEI 1/9/2004\n// 781: Create a Force Crush effect.\n', 'effect EffectCrush();'),
                 ScriptFunction('int', 'SWMG_GetSwoopUpgrade', [ScriptParam('int', 'nSlot', None)],
                                '// FAK - OEI 1/12/04\n// 782: Minigame grabs a swoop bike upgrade\n',
                                'int SWMG_GetSwoopUpgrade( int nSlot );'), ScriptFunction('int', 'GetFeatAcquired', [
        ScriptParam('int', 'nFeat', None), ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                                                                          "// DJS-OEI 1/12/2004\n// 783: Returns whether or not the target has access to a feat,\n// even if they can't use it right now due to daily limits or\n// other restrictions.\n",
                                                                                          'int GetFeatAcquired( int nFeat, object oCreature=OBJECT_SELF );'),
                 ScriptFunction('int', 'GetSpellAcquired',
                                [ScriptParam('int', 'nSpell', None), ScriptParam('object', 'oCreature', 'OBJECT_SELF')],
                                "// DJS-OEI 1/12/2004\n// 784: Returns whether or not the target has access to a spell,\n// even if they can't use it right now due to lack of Force Points.\n",
                                'int GetSpellAcquired( int nSpell, object oCreature=OBJECT_SELF );'),
                 ScriptFunction('void', 'ShowSwoopUpgradeScreen', [],
                                '// FAK-OEI 1/12/2004\n// 785: Displays the Swoop Bike upgrade screen.\n',
                                'void ShowSwoopUpgradeScreen( );'), ScriptFunction('void', 'GrantFeat',
                                                                                   [ScriptParam('int', 'nFeat', None),
                                                                                    ScriptParam('object', 'oCreature',
                                                                                                None)],
                                                                                   '// DJS-OEI 1/13/2004\n// 786: Grants the target a feat without regard for prerequisites.\n',
                                                                                   'void GrantFeat( int nFeat, object oCreature );'),
                 ScriptFunction('void', 'GrantSpell',
                                [ScriptParam('int', 'nSpell', None), ScriptParam('object', 'oCreature', None)],
                                '// DJS-OEI 1/13/2004\n// 787: Grants the target a spell without regard for prerequisites.\n',
                                'void GrantSpell( int nSpell, object oCreature );'), ScriptFunction('void', 'SpawnMine',
                                                                                                    [ScriptParam('int',
                                                                                                                 'nMineType',
                                                                                                                 None),
                                                                                                     ScriptParam(
                                                                                                         'location',
                                                                                                         'lPoint',
                                                                                                         None),
                                                                                                     ScriptParam('int',
                                                                                                                 'nDetectDCBase',
                                                                                                                 None),
                                                                                                     ScriptParam('int',
                                                                                                                 'nDisarmDCBase',
                                                                                                                 None),
                                                                                                     ScriptParam(
                                                                                                         'object',
                                                                                                         'oCreator',
                                                                                                         None)],
                                                                                                    '// DJS-OEI 1/13/2004\n// 788: Places an active mine on the map.\n// nMineType - Mine Type from Traps.2DA\n// lPoint - The location in the world to place the mine.\n// nDetectDCBase - This value, plus the "DetectDCMod" column in Traps.2DA\n// results in the final DC for creatures to detect this mine.\n// nDisarmDCBase - This value, plus the "DisarmDCMod" column in Traps.2DA\n// results in the final DC for creatures to disarm this mine.\n// oCreator - The object that should be considered the owner of the mine.\n// If oCreator is set to OBJECT_INVALID, the faction of the mine will be\n// considered Hostile1, meaning the party will be vulnerable to it.\n',
                                                                                                    'void SpawnMine( int nMineType, location lPoint, int nDetectDCBase, int nDisarmDCBase, object oCreator );'),
                 ScriptFunction('vector', 'SWMG_GetTrackPosition', [ScriptParam('object', 'oFollower', None)],
                                "// FAK - OEI 1/15/04\n// 789: Yet another minigame function. Returns the object's track's position.\n",
                                'vector SWMG_GetTrackPosition(object oFollower);'),
                 ScriptFunction('vector', 'SWMG_SetFollowerPosition', [ScriptParam('vector', 'vPos', None)],
                                '// FAK - OEI 1/15/04\n// 790: minigame function that lets you psuedo-set the position of a follower object\n',
                                'vector SWMG_SetFollowerPosition(vector vPos);'),
                 ScriptFunction('void', 'SetFakeCombatState',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nEnable', None)],
                                '//RWT-OEI 01/16/04\n// 791: A function to put the character into a true combat state but the reason set to\n//      not real combat. This should help us control animations in cutscenes with a bit\n//      more precision. -- Not totally sure this is doing anything just yet. Seems\n//      the combat condition gets cleared shortly after anyway.\n//      If nEnable is 1, it enables fake combat mode. If 0, it disables it.\n//      WARNING: Whenever using this function to enable fake combat mode, you should\n//               have a matching call to it to disable it. (pass 0 for nEnable).\n',
                                'void SetFakeCombatState( object oObject, int nEnable );'),
                 ScriptFunction('void', 'SWMG_DestroyMiniGameObject', [ScriptParam('object', 'oObject', None)],
                                '// FAK - OEI 1/23/04\n// 792: minigame function that deletes a minigame object\n',
                                'void SWMG_DestroyMiniGameObject(object oObject);'),
                 ScriptFunction('int', 'GetOwnerDemolitionsSkill', [ScriptParam('object', 'oObject', None)],
                                '// DJS-OEI 1/26/2004\n// 793: Returns the Demolitions skill of the creature that\n// placed this mine. This will often be 0. This function accepts\n// the object that the mine is attached to (Door, Placeable, or Trigger)\n// and will determine which one it actually is at runtime.\n',
                                'int GetOwnerDemolitionsSkill( object oObject );'),
                 ScriptFunction('void', 'SetOrientOnClick', [ScriptParam('object', 'oCreature', 'OBJECT_SELF'),
                                                             ScriptParam('int', 'nState', 'TRUE')],
                                '// RWT-OEI 01/29/04\n// 794: Disables or Enables the Orient On Click behavior in creatures. If\n//      disabled, they will not orient to face the player when clicked on\n//      for dialogue. The default behavior is TRUE.\n',
                                'void SetOrientOnClick( object oCreature = OBJECT_SELF, int nState = TRUE );'),
                 ScriptFunction('int', 'GetInfluence', [ScriptParam('int', 'nNPC', None)],
                                "// DJS-OEI 1/29/2004\n// 795: Gets the PC's influence on the alignment of a CNPC.\n// Parameters:\n// nNPC - NPC_* constant identifying the CNPC we're interested in.\n// If this character is not an available party member, the return\n// value with be 0. If the character is in the party, but has an\n// attitude of Ambivalent, this will be -1.\n",
                                'int GetInfluence( int nNPC );'), ScriptFunction('void', 'SetInfluence',
                                                                                 [ScriptParam('int', 'nNPC', None),
                                                                                  ScriptParam('int', 'nInfluence',
                                                                                              None)],
                                                                                 "// DJS-OEI 1/29/2004\n// 796: Sets the PC's influence on the alignment of a CNPC.\n// Parameters:\n// nNPC - NPC_* constant identifying the CNPC we're interested in.\n// If this character is not an available party member, nothing\n// will happen.\n// nInfluence - The new value for the influence on this CNPC.\n",
                                                                                 'void SetInfluence( int nNPC, int nInfluence );'),
                 ScriptFunction('void', 'ModifyInfluence',
                                [ScriptParam('int', 'nNPC', None), ScriptParam('int', 'nModifier', None)],
                                "// DJS-OEI 1/29/2004\n// 797: Modifies the PC's influence on the alignment of a CNPC.\n// Parameters:\n// nNPC - NPC_* constant identifying the CNPC we're interested in.\n// If this character is not an available party member, nothing\n// will happen.\n// nModifier - The modifier to the current influence on this CNPC.\n// This may be a negative value to reduce the influence.\n",
                                'void ModifyInfluence( int nNPC, int nModifier );'),
                 ScriptFunction('int', 'GetRacialSubType', [ScriptParam('object', 'oTarget', None)],
                                '// FAK - OEI 2/3/04\n// 798: returns the racial sub-type of the oTarget object\n',
                                'int GetRacialSubType(object oTarget);'),
                 ScriptFunction('void', 'IncrementGlobalNumber',
                                [ScriptParam('string', 'sIdentifier', None), ScriptParam('int', 'nAmount', None)],
                                '// DJS-OEI 2/3/2004\n// 799: Increases the value of the given global number by the given amount.\n// This function only works with Number type globals, not booleans. It\n// will fail with a warning if the final amount is greater than the max\n// of 127.\n',
                                'void IncrementGlobalNumber( string sIdentifier, int nAmount );'),
                 ScriptFunction('void', 'DecrementGlobalNumber',
                                [ScriptParam('string', 'sIdentifier', None), ScriptParam('int', 'nAmount', None)],
                                '// DJS-OEI 2/3/2004\n// 800: Decreases the value of the given global number by the given amount.\n// This function only works with Number type globals, not booleans. It\n// will fail with a warning if the final amount is less than the minimum\n// of -128.\n',
                                'void DecrementGlobalNumber( string sIdentifier, int nAmount );'),
                 ScriptFunction('void', 'SetBonusForcePoints',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nBonusFP', None)],
                                "// RWT-OEI 02/06/04\n// 801: SetBonusForcePoints - This sets the number of bonus force points\n//      that will always be added to that character's total calculated\n//      force points.\n",
                                'void SetBonusForcePoints( object oCreature, int nBonusFP );'),
                 ScriptFunction('void', 'AddBonusForcePoints',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nBonusFP', None)],
                                "// RWT-OEI 02/06/04\n// 802: AddBonusForcePoints - This adds nBonusFP to the current total\n//      bonus that the player has. The Bonus Force Points are a pool\n//      of force points that will always be added after the player's\n//      total force points are calculated (based on level, force dice,\n//      etc.)\n",
                                'void AddBonusForcePoints( object oCreature, int nBonusFP );'),
                 ScriptFunction('void', 'GetBonusForcePoints', [ScriptParam('object', 'oCreature', None)],
                                "// RWT-OEI 02/06/04\n// 803: GetBonusForcePoints - This returns the total number of bonus\n//      force points a player has. Bonus Force Points are a pool of\n//      points that are always added to a player's Max Force Points.\n",
                                'void GetBonusForcePoints( object oCreature );'),
                 ScriptFunction('void', 'SWMG_SetJumpSpeed', [ScriptParam('float', 'fSpeed', None)],
                                "// FAK - OEI 2/11/04\n// 804: SWMG_SetJumpSpeed -- the sets the 'jump speed' for the swoop\n//      bike races. Gravity will act upon this velocity.\n",
                                'void SWMG_SetJumpSpeed(float fSpeed);'), ScriptFunction('int', 'IsMoviePlaying', [],
                                                                                         '// PC CODE MERGER\n// 805. IsMoviePlaying--dummy func so we can compile\n',
                                                                                         'int IsMoviePlaying();'),
                 ScriptFunction('void', 'QueueMovie',
                                [ScriptParam('string', 'sMovie', None), ScriptParam('int', 'nSkippable', 'TRUE')],
                                '// 806 QueueMovie\n', 'void QueueMovie(string sMovie, int nSkippable = TRUE);'),
                 ScriptFunction('void', 'PlayMovieQueue', [ScriptParam('int', 'nAllowSkips', 'TRUE')], '// 807\n',
                                'void PlayMovieQueue(int nAllowSkips = TRUE);'),
                 ScriptFunction('void', 'YavinHackDoorClose', [ScriptParam('object', 'oCreature', None)], '// 808\n',
                                'void YavinHackDoorClose(object oCreature);'),
                 ScriptFunction('effect', 'EffectDroidConfused', [],
                                '// 809\n// new function for droid confusion so inherint mind immunity can be\n// avoided.\n',
                                'effect EffectDroidConfused();'),
                 ScriptFunction('int', 'IsStealthed', [ScriptParam('object', 'oCreature', None)],
                                '// END PC CODE MERGER\n// 810\n// DJS-OEI 3/8/2004\n// Determines if the given creature is in Stealth mode or not.\n// 0 = Creature is not stealthed.\n// 1 = Creature is stealthed.\n// This function will return 0 for any non-creature.\n',
                                'int IsStealthed( object oCreature );'),
                 ScriptFunction('int', 'IsMeditating', [ScriptParam('object', 'oCreature', None)],
                                '// 811\n// DJS-OEI 3/12/2004\n// Determines if the given creature is using any Meditation Tree\n// Force Power.\n// 0 = Creature is not meditating.\n// 1 = Creature is meditating.\n// This function will return 0 for any non-creature.\n',
                                'int IsMeditating( object oCreature );'),
                 ScriptFunction('int', 'IsInTotalDefense', [ScriptParam('object', 'oCreature', None)],
                                '// 812\n// DJS-OEI 3/16/2004\n// Determines if the given creature is using the Total Defense\n// Stance.\n// 0 = Creature is not in Total Defense.\n// 1 = Creature is in Total Defense.\n// This function will return 0 for any non-creature.\n',
                                'int IsInTotalDefense( object oCreature );'), ScriptFunction('void', 'SetHealTarget', [
        ScriptParam('object', 'oidHealer', None), ScriptParam('object', 'oidTarget', None)],
                                                                                             '// 813\n// RWT-OEI 03/19/04\n// Stores a Heal Target for the Healer AI script. Should probably\n// not be used outside of the Healer AI script.\n',
                                                                                             'void SetHealTarget( object oidHealer, object oidTarget );'),
                 ScriptFunction('object', 'GetHealTarget', [ScriptParam('object', 'oidHealer', None)],
                                '// 814\n// RWT-OEI 03/19/04\n// Retrieves the Heal Target for the Healer AI script. Should probably\n// not be used outside of the Healer AI script.\n',
                                'object GetHealTarget( object oidHealer );'),
                 ScriptFunction('vector', 'GetRandomDestination',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'rangeLimit', None)],
                                "// 815\n// RWT-OEI 03/23/04\n// Returns a vector containing a random destination that the\n// given creature can walk to that's within the range of the\n// passed parameter.\n",
                                'vector GetRandomDestination( object oCreature, int rangeLimit );'),
                 ScriptFunction('int', 'IsFormActive',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('int', 'nFormID', None)],
                                '// 816\n// DJS-OEI 3/25/2004\n// Returns whether the given creature is currently in the\n// requested Lightsaber/Consular Form and can make use of\n// its benefits. This function will perform trumping checks\n// and lightsaber-wielding checks for those Forms that require\n// them.\n',
                                'int IsFormActive( object oCreature, int nFormID );'),
                 ScriptFunction('int', 'GetSpellFormMask', [ScriptParam('int', 'nSpellID', None)],
                                '// 817\n// DJS-OEI 3/28/2004\n// Returns the Form Mask of the requested spell. This is used\n// to determine if a spell is affected by various Forms, usually\n// Consular forms that modify duration/range.\n',
                                'int GetSpellFormMask( int nSpellID );'),
                 ScriptFunction('int', 'GetSpellBaseForcePointCost', [ScriptParam('int', 'nSpellID', None)],
                                '// 818\n// DJS-OEI 3/29/2004\n// Return the base number of Force Points required to cast\n// the given spell. This does not take into account modifiers\n// of any kind.\n',
                                'int GetSpellBaseForcePointCost( int nSpellID );'),
                 ScriptFunction('void', 'SetKeepStealthInDialog', [ScriptParam('int', 'nStealthState', None)],
                                "// 819\n// RWT-OEI 04/05/04\n// Setting this to TRUE makes it so that the Stealth status is\n// left on characters even when entering cutscenes. By default,\n// stealth is removed from anyone taking part in a cutscene.\n// ALWAYS set this back to FALSE on every End Dialog node in\n// the cutscene you wanted to stay stealthed in. This isn't a\n// flag that should be left on indefinitely. In fact, it isn't\n// saved, so needs to be set/unset on a case by case basis.\n",
                                'void SetKeepStealthInDialog( int nStealthState );'),
                 ScriptFunction('int', 'HasLineOfSight',
                                [ScriptParam('vector', 'vSource', None), ScriptParam('vector', 'vTarget', None),
                                 ScriptParam('object', 'oSource', 'OBJECT_INVALID'),
                                 ScriptParam('object', 'oTarget', 'OBJECT_INVALID')],
                                '// 820\n// RWT-OEI 04/06/04\n// This returns TRUE or FALSE if there is a clear line of sight from\n// the source vector to the target vector. This is used in the AI to\n// help the creatures using ranged weapons find better places to shoot\n// when the player moves out of sight.\n',
                                'int HasLineOfSight( vector vSource, vector vTarget, object oSource = OBJECT_INVALID, object oTarget = OBJECT_INVALID );'),
                 ScriptFunction('int', 'ShowDemoScreen',
                                [ScriptParam('string', 'sTexture', None), ScriptParam('int', 'nTimeout', None),
                                 ScriptParam('int', 'nDisplayString', None), ScriptParam('int', 'nDisplayX', None),
                                 ScriptParam('int', 'nDisplayY', None)],
                                '// 821\n// FAK - OEI 5/3/04\n// ShowDemoScreen, displays a texture, timeout, string and xy for string\n',
                                'int ShowDemoScreen(string sTexture, int nTimeout, int nDisplayString, int nDisplayX, int nDisplayY );'),
                 ScriptFunction('void', 'ForceHeartbeat', [ScriptParam('object', 'oCreature', None)],
                                '// 822\n// DJS-OEI 5/4/2004\n// Forces a Heartbeat on the given creature. THIS ONLY WORKS FOR CREATURES\n// AT THE MOMENT. This heartbeat should force perception updates to occur.\n',
                                'void ForceHeartbeat( object oCreature );'),
                 ScriptFunction('effect', 'EffectForceSight', [],
                                '// 823\n// DJS-OEI 5/5/2004\n// Creates a Force Sight effect.\n',
                                'effect EffectForceSight();'),
                 ScriptFunction('int', 'IsRunning', [ScriptParam('object', 'oCreature', None)],
                                '// 824\n// FAK - OEI 5/7/04\n// gets the walk state of the creature: 0 walk or standing, 1 is running\n',
                                'int IsRunning( object oCreature );'),
                 ScriptFunction('void', 'SWMG_PlayerApplyForce', [ScriptParam('vector', 'vForce', None)],
                                '// 825\n// FAK - OEI 5/24/04\n// applies a velocity to the player object\n',
                                'void SWMG_PlayerApplyForce(vector vForce);'),
                 ScriptFunction('void', 'SetForfeitConditions', [ScriptParam('int', 'nForfeitFlags', None)],
                                "// 826\n// DJS-OEI 6/12/2004\n// This function allows a script to set the conditions which constitute\n// a combat forfeit by a member of the player's party. This is typically\n// used to handle Battle Circle behavior or other challenge-based combats.\n// nForfeitFlags: This is an OR'ed together series of FORFEIT_* defines.\n",
                                'void SetForfeitConditions( int nForfeitFlags );'),
                 ScriptFunction('int', 'GetLastForfeitViolation', [],
                                '// 827\n// DJS-OEI 6/12/2004\n// This function returns the last FORFEIT_* condition that the player\n// has violated.\n',
                                'int GetLastForfeitViolation();'), ScriptFunction('void', 'ModifyReflexSavingThrowBase',
                                                                                  [ScriptParam('object', 'aObject',
                                                                                               None),
                                                                                   ScriptParam('int', 'aModValue',
                                                                                               None)],
                                                                                  '// 828\n// AWD-OEI 6/21/2004\n// This function does not return a value.\n// This function modifies the BASE value of the REFLEX saving throw for aObject\n',
                                                                                  'void ModifyReflexSavingThrowBase(object aObject, int aModValue);'),
                 ScriptFunction('void', 'ModifyFortitudeSavingThrowBase',
                                [ScriptParam('object', 'aObject', None), ScriptParam('int', 'aModValue', None)],
                                '// 829\n// AWD-OEI 6/21/2004\n// This function does not return a value.\n// This function modifies the BASE value of the FORTITUDE saving throw for aObject\n',
                                'void ModifyFortitudeSavingThrowBase(object aObject, int aModValue);'),
                 ScriptFunction('void', 'ModifyWillSavingThrowBase',
                                [ScriptParam('object', 'aObject', None), ScriptParam('int', 'aModValue', None)],
                                '// 830\n// AWD-OEI 6/21/2004\n// This function does not return a value.\n// This function modifies the BASE value of the WILL saving throw for aObject\n',
                                'void ModifyWillSavingThrowBase(object aObject, int aModValue);'),
                 ScriptFunction('string', 'GetScriptStringParameter', [],
                                '// DJS-OEI 6/21/2004\n// 831\n// This function will return the one CExoString parameter\n// allowed for the currently running script.\n',
                                'string GetScriptStringParameter();'),
                 ScriptFunction('float', 'GetObjectPersonalSpace', [ScriptParam('object', 'aObject', None)],
                                '// 832\n// AWD-OEI 6/29/2004\n// This function returns the personal space value of an object\n',
                                'float GetObjectPersonalSpace(object aObject);'),
                 ScriptFunction('void', 'AdjustCreatureAttributes',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nAttribute', None),
                                 ScriptParam('int', 'nAmount', None)],
                                "// 833\n// AWD-OEI 7/06/2004\n// This function adjusts a creatures stats.\n// oObject is the creature that will have it's attribute adjusted\n// The following constants are acceptable for the nAttribute parameter:\n// ABILITY_STRENGTH\n// ABILITY_DEXTERITY\n// ABILITY_CONSTITUTION\n// ABILITY_INTELLIGENCE\n// ABILITY_WISDOM\n// ABILITY_CHARISMA\n// nAmount is the integer vlaue to adjust the stat by (negative values will work).\n",
                                'void AdjustCreatureAttributes(object oObject, int nAttribute, int nAmount);'),
                 ScriptFunction('void', 'SetCreatureAILevel',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nPriority', None)],
                                "// 834\n// AWD-OEI 7/08/2004\n// This function raises a creature's priority level.\n",
                                'void SetCreatureAILevel(object oObject, int nPriority);'),
                 ScriptFunction('void', 'ResetCreatureAILevel', [ScriptParam('object', 'oObject', None)],
                                "// 835\n// AWD-OEI 7/08/2004\n// This function raises a creature's priority level.\n",
                                'void ResetCreatureAILevel(object oObject);'),
                 ScriptFunction('int', 'AddAvailablePUPByTemplate',
                                [ScriptParam('int', 'nPUP', None), ScriptParam('string', 'sTemplate', None)],
                                '// 836\n// RWT-OEI 07/17/04\n// This function adds a Puppet to the Puppet Table by\n// template.\n// Returns 1 if successful, 0 if there was an error\n// This does not spawn the puppet or anything. It just\n// adds it to the party table and makes it available for\n// use down the line. Exactly like AddAvailableNPCByTemplate\n',
                                'int AddAvailablePUPByTemplate( int nPUP, string sTemplate );'),
                 ScriptFunction('int', 'AddAvailablePUPByObject',
                                [ScriptParam('int', 'nPUP', None), ScriptParam('object', 'oPuppet', None)],
                                '// 837\n// RWT-OEI 07/17/04\n// This function adds a Puppet to the Puppet Table by\n// creature ID\n// Returns 1 if successful, 0 if there was an error\n// This does not spawn the puppet or anything. It just\n// adds it to the party table and makes it available for\n// use down the line. Exactly like AddAvailableNPCByTemplate\n',
                                'int AddAvailablePUPByObject( int nPUP, object oPuppet );'),
                 ScriptFunction('int', 'AssignPUP',
                                [ScriptParam('int', 'nPUP', None), ScriptParam('int', 'nNPC', None)],
                                '// 838\n// RWT-OEI 07/17/04\n// This function assigns a PUPPET constant to a\n// Party NPC.  The party NPC -MUST- be in the game\n// before calling this.\n// Both the PUP and the NPC have\n// to be available in their respective tables\n// Returns 1 if successful, 0 if there was an error\n',
                                'int AssignPUP( int nPUP, int nNPC );'), ScriptFunction('object', 'SpawnAvailablePUP', [
        ScriptParam('int', 'nPUP', None), ScriptParam('location', 'lLocation', None)],
                                                                                        "// 839\n// RWT-OEI 07/17/04\n// This function spawns a Party PUPPET.\n// This must be used whenever you want a copy\n// of the puppet around to manipulate in the game\n// since the puppet is stored in the party table\n// just like NPCs are.  Once a puppet is assigned\n// to a party NPC (see AssignPUP), it will spawn\n// or disappear whenever its owner joins or leaves\n// the party.\n// This does not add it to the party automatically,\n// just like SpawnNPC doesn't. You must call AddPuppet()\n// to actually add it to the party\n",
                                                                                        'object SpawnAvailablePUP( int nPUP, location lLocation );'),
                 ScriptFunction('int', 'AddPartyPuppet',
                                [ScriptParam('int', 'nPUP', None), ScriptParam('object', 'oidCreature', None)],
                                '// 840\n// RWT-OEI 07/18/04\n// This adds an existing puppet object to the party. The\n// puppet object must already exist via SpawnAvailablePUP\n// and must already be available via AddAvailablePUP*\n// functions.\n',
                                'int AddPartyPuppet(int nPUP, object oidCreature);'),
                 ScriptFunction('object', 'GetPUPOwner', [ScriptParam('object', 'oPUP', 'OBJECT_SELF')],
                                "// 841\n// RWT-OEI 07/19/04\n// This returns the object ID of the puppet's owner.\n// The Puppet's owner must exist and must be in the party\n// in order to be found.\n// Returns invalid object Id if the owner cannot be found.\n",
                                'object GetPUPOwner(object oPUP = OBJECT_SELF);'),
                 ScriptFunction('int', 'GetIsPuppet', [ScriptParam('object', 'oPUP', 'OBJECT_SELF')],
                                "// 842\n// RWT-OEI 07/19/04\n// Returns 1 if the creature is a Puppet in the party.\n// Otherwise returns 0. It is possible for a 'party puppet'\n// to exist without actually being in the party table.\n// such as when SpawnAvailablePUP is used without subsequently\n// using AddPartyPuppet to add the newly spawned puppet to\n// the party table. A puppet in that in-between state would\n// return 0 from this function\n",
                                'int GetIsPuppet(object oPUP = OBJECT_SELF );'),
                 ScriptFunction('void', 'ActionFollowOwner', [ScriptParam('float', 'fRange', '2.5')],
                                '// 843\n// RWT-OEI 07/20/04\n// Similiar to ActionFollowLeader() except the creature\n// follows its owner\n//nRange is how close it should follow. Note that once this\n//action is queued, it will be the only thing this creature\n//does until a ClearAllActions() is used.\n',
                                'void ActionFollowOwner(float fRange = 2.5);'),
                 ScriptFunction('int', 'GetIsPartyLeader', [ScriptParam('object', 'oCharacter', 'OBJECT_SELF')],
                                '// 844\n// RWT-OEI 07/21/04\n// Returns TRUE if the object ID passed is the character\n// that the player is actively controlling at that point.\n// Note that this function is *NOT* able to return correct\n// information during Area Loading since the player is not\n// actively controlling anyone at that point.\n',
                                'int GetIsPartyLeader(object oCharacter = OBJECT_SELF);'),
                 ScriptFunction('object', 'GetPartyLeader', [],
                                "// 845\n// RWT-OEI 07/21/04\n// Returns the object ID of the character that the player\n// is actively controlling. This is the 'Party Leader'.\n// Returns object Invalid on error\n// Note that this function is *NOT* able to return correct\n// information during Area Loading since the player is not\n// actively controlling anyone at that point.\n",
                                'object GetPartyLeader();'),
                 ScriptFunction('int', 'RemoveNPCFromPartyToBase', [ScriptParam('int', 'nNPC', None)],
                                '// 846\n// JAB-OEI 07/22/04\n// Will remove the CNPC from the 3 person party, and remove\n// him/her from the area, effectively sending the CNPC back\n// to the base. The CNPC data is still stored in the\n// party table, and calling this function will not destroy\n// the CNPC in any way.\n// Returns TRUE for success.\n',
                                'int RemoveNPCFromPartyToBase(int nNPC);'),
                 ScriptFunction('void', 'CreatureFlourishWeapon', [ScriptParam('object', 'oObject', None)],
                                "// 847\n// AWD-OEI 7/22/2004\n// This causes a creature to flourish with it's currently equipped weapon.\n",
                                'void CreatureFlourishWeapon(object oObject);'),
                 ScriptFunction('effect', 'EffectMindTrick', [], '// 848\n// Create a Mind Trick effect\n',
                                'effect EffectMindTrick();'),
                 ScriptFunction('effect', 'EffectFactionModifier', [ScriptParam('int', 'nNewFaction', None)],
                                '// 849\n// Create a Faction Modifier effect.\n',
                                'effect EffectFactionModifier( int nNewFaction );'),
                 ScriptFunction('void', 'ChangeObjectAppearance', [ScriptParam('object', 'oObjectToChange', None),
                                                                   ScriptParam('int', 'nAppearance', None)],
                                '// 850\n// ChangeObjectAppearance\n// oObjectToChange = Object to change appearance of\n// nAppearance = appearance to change to (from appearance.2da)\n',
                                'void ChangeObjectAppearance( object oObjectToChange, int nAppearance );'),
                 ScriptFunction('int', 'GetIsXBox', [],
                                '// 851\n// GetIsXBox\n// Returns TRUE if this script is being executed on the X-Box. Returns FALSE\n// if this is the PC build.\n',
                                'int GetIsXBox();'),
                 ScriptFunction('effect', 'EffectDroidScramble', [], '// 852\n// Create a Droid Scramble effect\n',
                                'effect EffectDroidScramble();'), ScriptFunction('void', 'ActionSwitchWeapons', [],
                                                                                 '// 853\n// ActionSwitchWeapons\n// Forces the creature to switch between Config 1 and Config 2\n// of their equipment. Does not work in dialogs. Works with\n// AssignCommand()\n',
                                                                                 'void ActionSwitchWeapons();'),
                 ScriptFunction('void', 'PlayOverlayAnimation',
                                [ScriptParam('object', 'oTarget', None), ScriptParam('int', 'nAnimation', None)],
                                '// 854\n// DJS-OEI 8/29/2004\n// PlayOverlayAnimation\n// This function will play an overlay animation on a character\n// even if the character is moving. This does not cause an action\n// to be placed on the queue. The animation passed in must be\n// designated as an overlay in Animations.2DA.\n',
                                'void PlayOverlayAnimation( object oTarget, int nAnimation );'),
                 ScriptFunction('void', 'UnlockAllSongs', [],
                                '// 855\n// RWT-OEI 08/30/04\n// UnlockAllSongs\n// Calling this will set all songs as having been unlocked.\n// It is INTENDED to be used in the end-game scripts to unlock\n// any end-game songs as well as the KotOR1 sound track.\n',
                                'void UnlockAllSongs();'),
                 ScriptFunction('void', 'DisableMap', [ScriptParam('int', 'nFlag', 'FALSE')],
                                "// 856\n// RWT-OEI 08/31/04\n// Passing TRUE into this function turns off the player's maps.\n// Passing FALSE into this function re-enables them. This change\n// is permanent once called, so it is important that there *is*\n// a matching call to DisableMap(FALSE) somewhere or else the\n// player is stuck without a map indefinitely.\n",
                                'void DisableMap(int nFlag = FALSE);'),
                 ScriptFunction('void', 'DetonateMine', [ScriptParam('object', 'oMine', None)],
                                '// 857\n// RWT-OEI 08/31/04\n// This function schedules a mine to play its DETONATION\n// animation once it is destroyed. Note that this detonates\n// the mine immediately but has nothing to do with causing\n// the mine to do any damage to anything around it. To\n// get the mine to damage things around it when it detonates\n// do:\n// AssignCommand(<mine>,ExecuteScript( "k_trp_generic",<mine>));\n// right before you call DetonateMine(). By my experience so far\n// you don\'t need any kind of delay between the two.\n',
                                'void DetonateMine(object oMine);'),
                 ScriptFunction('void', 'DisableHealthRegen', [ScriptParam('int', 'nFlag', 'FALSE')],
                                '// 858\n// RWT-OEI 09/06/04\n// This function turns off the innate health regeneration that all party\n// members have. The health regen will *stay* off until it is turned back\n// on by passing FALSE to this function.\n',
                                'void DisableHealthRegen(int nFlag = FALSE);'), ScriptFunction('void', 'SetCurrentForm',
                                                                                               [ScriptParam('object',
                                                                                                            'oCreature',
                                                                                                            None),
                                                                                                ScriptParam('int',
                                                                                                            'nFormID',
                                                                                                            None)],
                                                                                               '// 859\n// DJS-OEI 9/7/2004\n// This function sets the current Jedi Form on the given creature. This\n// call will do nothing if the target does not know the Form itself.\n',
                                                                                               'void SetCurrentForm( object oCreature, int nFormID );'),
                 ScriptFunction('void', 'SetDisableTransit', [ScriptParam('int', 'nFlag', 'FALSE')],
                                '// 860\n// RWT-OEI 09/09/04\n// This will disable or enable area transit\n',
                                'void SetDisableTransit(int nFlag = FALSE);'),
                 ScriptFunction('void', 'SetInputClass', [ScriptParam('int', 'nClass', None)],
                                '// 861\n//RWT-OEI 09/09/04\n// This will set the specific input class.\n// The valid options are:\n// 0 - Normal PC control\n// 1 - Mini game control\n// 2 - GUI control\n// 3 - Dialog Control\n// 4 - Freelook control\n',
                                'void SetInputClass(int nClass);'), ScriptFunction('void', 'SetForceAlwaysUpdate', [
        ScriptParam('object', 'oObject', None), ScriptParam('int', 'nFlag', None)],
                                                                                   "// 862\n//RWT-OEI 09/15/04\n// This script allows an object to recieve updates even if it is outside\n//the normal range limit of 250.0f meters away from the player. This should\n//ONLY be used for cutscenes that involve objects that are more than 250\n//meters away from the player. It needs to be used on a object by object\n//basis.\n//This flag should *always* be set to false once the cutscene it is needed\n//for is over, or else the game will spend CPU time updating the object\n//when it doesn't need to.\n//For questions on use of this function, or what its purpose is, check\n//with me.\n",
                                                                                   'void SetForceAlwaysUpdate(object oObject, int nFlag);'),
                 ScriptFunction('void', 'EnableRain', [ScriptParam('int', 'nFlag', None)],
                                '//863\n//RWT-OEI 09/15/04\n//This function enables or disables rain\n',
                                'void EnableRain( int nFlag );'), ScriptFunction('void', 'DisplayMessageBox',
                                                                                 [ScriptParam('int', 'nStrRef', None),
                                                                                  ScriptParam('string', 'sIcon', '""')],
                                                                                 '//864\n//RWT-OEI 09/27/04\n//This function displays the generic Message Box with the strref\n//message in it\n//sIcon is the resref for an icon you would like to display.\n',
                                                                                 'void DisplayMessageBox(int nStrRef, string sIcon = "");'),
                 ScriptFunction('void', 'DisplayDatapad', [ScriptParam('object', 'oDatapad', None)],
                                '//865\n//RWT-OEI 09/28/04\n//This function displays a datapad popup. Just pass it the\n//object ID of a datapad.\n',
                                'void DisplayDatapad(object oDatapad);'),
                 ScriptFunction('void', 'RemoveHeartbeat', [ScriptParam('object', 'oPlaceable', None)],
                                '// 866\n// CTJ-OEI 09-29-04\n// Removes the heartbeat script on the placeable.  Useful for\n// placeables whose contents get populated in the heartbeat\n// script and then the heartbeat no longer needs to be called.\n',
                                'void RemoveHeartbeat(object oPlaceable);'), ScriptFunction('void', 'RemoveEffectByID',
                                                                                            [ScriptParam('object',
                                                                                                         'oCreature',
                                                                                                         None),
                                                                                             ScriptParam('int',
                                                                                                         'nEffectID',
                                                                                                         None)],
                                                                                            '//867\n// JF-OEI 10-07-2004\n// Remove an effect by ID\n',
                                                                                            'void RemoveEffectByID( object oCreature, int nEffectID );'),
                 ScriptFunction('void', 'RemoveEffectByExactMatch',
                                [ScriptParam('object', 'oCreature', None), ScriptParam('effect', 'eEffect', None)],
                                "//868\n// RWT-OEI 10/07/04\n// This script removes an effect by an identical match\n// based on:\n// Must have matching EffectID types.\n// Must have the same value in Integer(0)\n// Must have the same value in Integer(1)\n// I'm specifically using this function for Mandalore's implant swapping\n// script and it will probably not be useful for anyone else. If you're\n// not sure what this script function does, see me before using it.\n",
                                'void RemoveEffectByExactMatch( object oCreature, effect eEffect);'),
                 ScriptFunction('void', 'AdjustCreatureSkills',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'nSkill', None),
                                 ScriptParam('int', 'nAmount', None)],
                                "// 869\n// DJS-OEI 10/9/2004\n// This function adjusts a creature's skills.\n// oObject is the creature that will have its skill adjusted\n// The following constants are acceptable for the nSkill parameter:\n// SKILL_COMPUTER_USE\n// SKILL_DEMOLITIONS\n// SKILL_STEALTH\n// SKILL_AWARENESS\n// SKILL_PERSUADE\n// SKILL_REPAIR\n// SKILL_SECURITY\n// SKILL_TREAT_INJURY\n// nAmount is the integer value to adjust the stat by (negative values will work).\n",
                                'void AdjustCreatureSkills(object oObject, int nSkill, int nAmount);'),
                 ScriptFunction('int', 'GetSkillRankBase',
                                [ScriptParam('int', 'nSkill', None), ScriptParam('object', 'oObject', 'OBJECT_SELF')],
                                '// 870\n// DJS-OEI 10/10/2004\n// This function returns the base Skill Rank for the requested\n// skill. It does not include modifiers from effects/items.\n// The following constants are acceptable for the nSkill parameter:\n// SKILL_COMPUTER_USE\n// SKILL_DEMOLITIONS\n// SKILL_STEALTH\n// SKILL_AWARENESS\n// SKILL_PERSUADE\n// SKILL_REPAIR\n// SKILL_SECURITY\n// SKILL_TREAT_INJURY\n// oObject is the creature that will have its skill base returned.\n',
                                'int GetSkillRankBase(int nSkill, object oObject=OBJECT_SELF);'),
                 ScriptFunction('void', 'EnableRendering',
                                [ScriptParam('object', 'oObject', None), ScriptParam('int', 'bEnable', None)],
                                '// 871\n// DJS-OEI 10/15/2004\n// This function will allow the caller to modify the rendering behavior\n// of the target object.\n// oObject - The object to change rendering state on.\n// bEnable - If 0, the object will stop rendering. Else, the object will render.\n',
                                'void EnableRendering( object oObject, int bEnable );'),
                 ScriptFunction('int', 'GetCombatActionsPending', [ScriptParam('object', 'oCreature', None)],
                                '// 872\n// RWT-OEI 10/19/04\n// This function returns TRUE if the creature has actions in its\n// Combat Action queue.\n',
                                'int GetCombatActionsPending(object oCreature);'),
                 ScriptFunction('void', 'SaveNPCByObject',
                                [ScriptParam('int', 'nNPC', None), ScriptParam('object', 'oidCharacter', None)],
                                '// 873\n// RWT-OEI 10/26/04\n// This function saves the party member at that index with the object\n// that is passed in.\n',
                                'void SaveNPCByObject( int nNPC, object oidCharacter);'),
                 ScriptFunction('void', 'SavePUPByObject',
                                [ScriptParam('int', 'nPUP', None), ScriptParam('object', 'oidPuppet', None)],
                                "// 874\n// RWT-OEI 10/26/04\n// This function saves the party puppet at that index with the object\n// that is passed in. For the Remote, just use '0' for nPUP\n",
                                'void SavePUPByObject( int nPUP, object oidPuppet );'),
                 ScriptFunction('int', 'GetIsPlayerMadeCharacter', [ScriptParam('object', 'oidCharacter', None)],
                                '// 875\n// RWT-OEI 10/29/04\n// Returns TRUE if the object passed in is the character that the player\n// made at the start of the game\n',
                                'int GetIsPlayerMadeCharacter(object oidCharacter);'),
                 ScriptFunction('void', 'RebuildPartyTable', [],
                                '// 876\n// RWT-OEI 11/12/04\n// This repopulates the NPCObject table in CSWPartyTable. Do not use this\n// unless you understand exactly what it is doing.\n',
                                'void RebuildPartyTable();')]
