Files
src-1.2/engine/server/library/serverScript/src/shared/ScriptFunctionTable.cpp
T

474 lines
24 KiB
C++
Executable File

//========================================================================
//
// ScriptFuncTable.cpp - Default values for initializing the script function list.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#include "serverScript/FirstServerScript.h"
#include "serverScript/ScriptFunctionTable.h"
//========================================================================
// local constants
//========================================================================
//
// values for script parameters:
// b = boolean
// i = integer (4 byte)
// f = float (4 byte)
// s = string (const char *)
// u = unicode string (const uint16 *)
// V = class ValueDictionary
// O = class objId
// S = class stringId
// E = class slotData
// A = class attribMod
// M = class mentalStateMod
// L = class location
// m = class menu_info
// D = class draft_schematic
// I = struct Crafting::IngredientSlot
// U = unsigned char
// [ = previous identifier was an array
// * = previous identifier was the modifiable version of the data (currently int, float, and stringId)
//
static const Scripting::ScriptFuncTable ScriptFuncList[] =
{
{Scripting::TRIG_ATTACH, "OnAttach", ""},
{Scripting::TRIG_DETACH, "OnDetach", ""},
{Scripting::TRIG_INITIALIZE, "OnInitialize", ""},
{Scripting::TRIG_SPEAKING, "OnSpeaking", "u"},
{Scripting::TRIG_HEAR_SPEECH_STRING, "OnHearSpeech", "Ou"},
{Scripting::TRIG_HEAR_SPEECH_STRINGID, "OnHearSpeech", "OS"},
{Scripting::TRIG_PERFORM_EMOTE, "OnPerformEmote", "u"},
{Scripting::TRIG_SAW_EMOTE, "OnSawEmote", "Ou"},
{Scripting::TRIG_INSPECTED, "OnInspected", "OS"},
{Scripting::TRIG_LOGOUT, "OnLogout", ""},
{Scripting::TRIG_LOGIN, "OnLogin", ""},
{Scripting::TRIG_ITEM_EQUIP, "OnItemEquip", "OE["},
{Scripting::TRIG_ITEM_UNEQUIP, "OnItemUneqip", "OE["},
{Scripting::TRIG_TARGET_EQUIPS_ITEM, "OnTargetEquipsItem", "OE["},
{Scripting::TRIG_TARGET_UNEQUIPS_ITEM, "OnTargetUnequipsItem", "OE["},
{Scripting::TRIG_ABOUT_TO_RECEIVE_ITEM, "OnAboutToReceiveItem", "OOO"},
{Scripting::TRIG_RECEIVED_ITEM, "OnReceivedItem", "OOO"},
{Scripting::TRIG_ABOUT_TO_BE_XFERRED, "OnAboutToBeTransferred","OO"},
{Scripting::TRIG_XFERRED, "OnTransferred", "OOO"},
{Scripting::TRIG_ABOUT_TO_LOSE_ITEM, "OnAboutToLoseItem", "OOO"},
{Scripting::TRIG_LOST_ITEM, "OnLostItem", "OOO"},
{Scripting::TRIG_LOADED_FROM_DB, "OnLoadedFromDb", ""},
{Scripting::TRIG_UNLOADED_FROM_MEMORY, "OnUnloadedFromMemory", ""},
{Scripting::TRIG_DECAY, "OnDecay", ""},
{Scripting::TRIG_OBJECT_DISABLED, "OnObjectDisabled", "O"},
{Scripting::TRIG_DESTROY, "OnDestroy", ""},
{Scripting::TRIG_SERVER_TRANSFER, "OnServerTransfer", ""},
{Scripting::TRIG_MADE_AUTHORITATIVE, "OnMadeAuthoritative", ""},
{Scripting::TRIG_ABOUT_TO_BE_INCAPACITATED, "OnAboutToBeIncapacitated", "O"},
{Scripting::TRIG_INCAPACITATED, "OnIncapacitated", "O"},
{Scripting::TRIG_RECAPACITATED, "OnRecapacitated", ""},
{Scripting::TRIG_ABOUT_TO_DIE, "OnAboutToDie", "O"},
{Scripting::TRIG_DEATH, "OnDeath", "OO"},
{Scripting::TRIG_ENVIRONMENTAL_DEATH, "OnEnvironmentalDeath", ""},
{Scripting::TRIG_ENTERED_COMBAT, "OnEnteredCombat", ""},
{Scripting::TRIG_EXITED_COMBAT, "OnExitedCombat", ""},
{Scripting::TRIG_DEFENDER_COMBAT_ACTION, "OnDefenderCombatAction","OOi"},
{Scripting::TRIG_ATTACKER_COMBAT_ACTION, "OnAttackerCombatAction","OO"},
{Scripting::TRIG_WEAPON_COMBAT_ACTION, "OnWeaponCombatAction", "OO"},
{Scripting::TRIG_CHANGED_POSTURE, "OnChangedPosture", "ii"},
{Scripting::TRIG_COMBAT_DAMAGED, "OnCombatDamaged", "OOi"},
{Scripting::TRIG_CREATURE_DAMAGED, "OnCreatureDamaged", "OOi["},
{Scripting::TRIG_OBJECT_DAMAGED, "OnObjectDamaged", "OOi"},
{Scripting::TRIG_INCAPACITATE_TARGET, "OnIncapacitateTarget", "O"},
{Scripting::TRIG_ADDED_TO_WORLD, "OnAddedToWorld", ""},
{Scripting::TRIG_REMOVING_FROM_WORLD, "OnRemovingFromWorld", ""},
{Scripting::TRIG_PRELOAD_COMPLETE, "OnPreloadComplete", ""},
{Scripting::TRIG_BEHAVIOR_CHANGE, "OnBehaviorChange", "iii["},
{Scripting::TRIG_TARGET_CHANGE, "OnBehaviorTargetChange", "ii["},
{Scripting::TRIG_START_NPC_CONVERSATION, "OnStartNpcConversation","O"},
{Scripting::TRIG_END_NPC_CONVERSATION, "OnEndNpcConversation", "O"},
{Scripting::TRIG_START_CONVERSATION , "OnStartConversation", "O"},
{Scripting::TRIG_END_CONVERSATION, "OnEndConversation", "O"},
{Scripting::TRIG_ARRIVE_AT_LOCATION, "OnArrivedAtLocation", "u"},
{Scripting::TRIG_NPC_CONVERSATION_RESPONSE, "OnNpcConversationResponse", "sOS"},
{Scripting::TRIG_COMBAT_TARGETED, "OnTargeted", "O"},
{Scripting::TRIG_COMBAT_UNTARGETED, "OnUntargeted", "O"},
{Scripting::TRIG_COMBAT_LOST_TARGET, "OnLostTarget", "O"},
{Scripting::TRIG_PLAYER_REQUEST_MISSION_BOARD, "OnPlayerRequestMissionBoard", "OOO["},
{Scripting::TRIG_OUT_OF_AMMO, "OnOutOfAmmo", "O"},
{Scripting::TRIG_PVP_TYPE_CHANGED, "OnPvpTypeChanged", "ii"},
{Scripting::TRIG_PVP_FACTION_CHANGED, "OnPvpFactionChanged", "ii"},
{Scripting::TRIG_CITY_CHANGED, "OnCityChanged", "ii"},
{Scripting::TRIG_ENTER_SWIMMING, "OnEnterSwimming", ""},
{Scripting::TRIG_EXIT_SWIMMING, "OnExitSwimming", ""},
{Scripting::TRIG_PLACE_STRUCTURE, "OnPlaceStructure", "OOLi"},
{Scripting::TRIG_PURCHASE_TICKET, "OnPurchaseTicket", "Ouuuub"},
{Scripting::TRIG_PURCHASE_TICKET_INSTANT_TRAVEL, "OnPurchaseTicketInstantTravel", "Ouuuub"},
{Scripting::TRIG_LOCATION_RECEIVED, "OnLocationReceived", "sOLf"},
{Scripting::TRIG_GET_ATTRIBS, "OnGetAttributes", "Os*[u*["},
{Scripting::TRIG_GET_SCRIPTVARS, "OnGetScriptvars", "Os*[u*["},
{Scripting::TRIG_SOCKET_USED, "OnSocketUsed", "s[i["},
{Scripting::TRIG_GET_RESPAWN_LOC, "OnGetRespawnLocation", "i*"},
{Scripting::TRIG_SKILL_ABOUT_TO_BE_GRANTED, "OnSkillAboutToBeGranted", "s"},
{Scripting::TRIG_SKILL_ABOUT_TO_BE_REVOKED, "OnSkillAboutToBeRevoked", "s"},
{Scripting::TRIG_SKILL_GRANTED, "OnSkillGranted", "s"},
{Scripting::TRIG_SKILL_REVOKED, "OnSkillRevoked", "s"},
{Scripting::TRIG_ATTRIB_MOD_DONE, "OnAttribModDone", "sb"},
{Scripting::TRIG_SKILL_MOD_DONE, "OnSkillModDone", "sb"},
{Scripting::TRIG_SKILLMODS_CHANGED, "OnSkillModsChanged", "s[i["},
{Scripting::TRIG_THEATER_CREATED, "OnTheaterCreated", "O[OO"},
{Scripting::TRIG_PLAYER_THEATER_FAIL, "OnPlayerTheaterFail", "ss"},
{Scripting::TRIG_GRANT_SCHEMATIC, "OnGrantedSchematic", "ib"},
{Scripting::TRIG_REVOKE_SCHEMATIC, "OnRevokedSchematic", "ib"},
{Scripting::TRIG_DO_STRUCTURE_ROLLUP, "OnDoStructureRollup", "Ob"},
//- added when changing to scripting system that verifies triggers
{Scripting::TRIG_UPLOAD_CHARACTER, "OnUploadCharacter", "V"},
{Scripting::TRIG_REQUEST_RESOURCE_WEIGHTS, "OnRequestResourceWeights", "Os[s[i[i[i["},
{Scripting::TRIG_FSQUEST_COMPLETED, "OnForceSensitiveQuestCompleted", "sb"},
{Scripting::TRIG_QUEST_COMPLETED, "OnQuestCompleted", "i"},
{Scripting::TRIG_QUEST_CLEARED, "OnQuestCleared", "i"},
//----------------------------------------------------------------------
//-- resource harvesting
{Scripting::TRIG_RESOURCE_HARVESTER_SET_ACTIVE, "OnResourceHarvesterSetActive", "Oi" },
{Scripting::TRIG_RESOURCE_HARVESTER_REQUEST_STATUS, "OnResourceHarvesterRequestStatus", "O" },
{Scripting::TRIG_RESOURCE_HARVESTER_REQUEST_RESOURCE_DATA, "OnResourceHarvesterRequestResourceData", "O" },
//----------------------------------------------------------------------
{Scripting::TRIG_OBJECT_MENU_SELECT, "OnObjectMenuSelect", "Oi" },
{Scripting::TRIG_OBJECT_MENU_REQUEST, "OnObjectMenuRequest", "Om*" },
// combat state triggers
{Scripting::TRIG_GET_STATE_INFO, "GetStateDescription", "S*S*"},
//----------------------------------------------------------------------
//-- Action state triggers
{Scripting::TRIG_WANDER_MOVING, "OnWanderMoving", ""},
{Scripting::TRIG_WANDER_WAYPOINT, "OnWanderWaypoint", ""},
{Scripting::TRIG_WANDER_WAITING, "OnWanderWaiting", "f*"},
{Scripting::TRIG_WANDER_PATH_NOT_FOUND, "OnWanderPathNotFound", ""},
{Scripting::TRIG_LOITER_MOVING, "OnLoiterMoving", ""},
{Scripting::TRIG_LOITER_WAYPOINT, "OnLoiterWaypoint", ""},
{Scripting::TRIG_LOITER_WAITING, "OnLoiterWaiting", "f*"},
{Scripting::TRIG_FOLLOW_TARGET_LOST, "OnFollowTargetLost", "O"},
{Scripting::TRIG_FOLLOW_WAITING, "OnFollowWaiting", "O"},
{Scripting::TRIG_FOLLOW_MOVING, "OnFollowMoving", "O"},
{Scripting::TRIG_FOLLOW_PATH_NOT_FOUND, "OnFollowPathNotFound", "O"},
{Scripting::TRIG_FLEE_TARGET_LOST, "OnFleeTargetLost", "O"},
{Scripting::TRIG_FLEE_WAYPOINT, "OnFleeWaypoint", "O"},
{Scripting::TRIG_FLEE_PATH_NOT_FOUND, "OnFleePathNotFound", "O"},
{Scripting::TRIG_MOVE_PATH_COMPLETE, "OnMovePathComplete", ""},
{Scripting::TRIG_MOVE_MOVING, "OnMoveMoving", ""},
{Scripting::TRIG_MOVE_PATH_NOT_FOUND, "OnMovePathNotFound", ""},
{Scripting::TRIG_MOVE_PATH_BLOCKED, "OnMovePathBlocked", ""},
//----------------------------------------------------------------------
//-- crafting triggers
{Scripting::TRIG_REQUEST_DRAFT_SCHEMATICS, "OnRequestDraftSchematics", "Oi[f["},
{Scripting::TRIG_CRAFTING_ADD_RESOURCE, "OnCraftingAddResource", "OOIi*["},
{Scripting::TRIG_MANUFACTURING_SCHEMATIC_CREATION, "OnManufacturingSchematicCreation", "OODi*i*"},
{Scripting::TRIG_CRAFTING_EXPERIMENT, "OnCraftingExperiment", "OOS[i[ii*i"},
{Scripting::TRIG_FINALIZE_SCHEMATIC, "OnFinalizeSchematic", "OOD"},
{Scripting::TRIG_MANUFACTURE_OBJECT, "OnManufactureObject", "OODbb"},
{Scripting::TRIG_CRAFTING_DONE, "OnCraftingDone", "Osib"},
{Scripting::TRIG_MAKE_CRAFTED_ITEM, "OnMakeCraftedItem", "ODf"},
//-----------------------------------------------------------------------
//-- mission triggers
{Scripting::TRIG_GRANT_MISSION, "OnGrantMission", "O"},
//-----------------------------------------------------------------------
//-- monitored creature movement
{Scripting::TRIG_MONITORED_CREATURE_MOVEMENT, "OnMonitoredCreatureMoved", "OLLf"},
{Scripting::TRIG_VOLUME_ENTERED, "OnTriggerVolumeEntered", "sO"},
{Scripting::TRIG_VOLUME_EXITED, "OnTriggerVolumeExited", "sO"},
{Scripting::TRIG_ABOUT_TO_OPEN_CONTAINER, "OnAboutToOpenContainer", "O"},
{Scripting::TRIG_OPENED_CONTAINER, "OnOpenedContainer", "O"},
{Scripting::TRIG_CLOSED_CONTAINER, "OnClosedContainer", "O"},
{Scripting::TRIG_SPAWN_HEARTBEAT, "OnSpawnHeartbeat", ""},
{Scripting::TRIG_REQUEST_SURVEY, "OnRequestSurvey", "Ou"},
{Scripting::TRIG_REQUEST_CORESAMPLE, "OnRequestCoreSample", "Ou"},
{Scripting::TRIG_PERMISSION_LIST_MODIFY, "OnPermissionListModify", "Ouuu"},
{Scripting::TRIG_LOCOMOTION_CHANGED, "OnLocomotionChanged", "ii"},
//----------------------------------------------------------------------
//-- group triggers
{Scripting::TRIG_GROUP_LEADER_CHANGED, "OnGroupLeaderChanged", "OOO"},
{Scripting::TRIG_REMOVED_FROM_GROUP, "OnRemovedFromGroup", "O"},
{Scripting::TRIG_GROUP_DISBANDED, "OnGroupDisbanded", "O"},
{Scripting::TRIG_ADDED_TO_GROUP, "OnAddedToGroup", "O"},
{Scripting::TRIG_GROUP_FORMED, "OnGroupFormed", "O"},
{Scripting::TRIG_GROUP_MEMBERS_CHANGED, "OnGroupMembersChanged", "OO[O[O["},
{Scripting::TRIG_LOOT_LOTTERY_SELECTED, "OnLootLotterySelected", "OO["},
//------------------------------------------------------------------------
//-- Universe Object triggers
{Scripting::TRIG_UNIVERSE_COMPLETE, "OnUniverseComplete", ""},
//------------------------------------------------------------------------
//-- Auction triggers
{Scripting::TRIG_AUCTION_ITEM, "OnAuctionItem", "Oi*"},
{Scripting::TRIG_REQUEST_AUCTION_FEE, "OnRequestAuctionFee", "OOObi*"},
{Scripting::TRIG_QUERY_AUCTIONS, "OnQueryAuctions", "OO"},
{Scripting::TRIG_MISSION_ENTRIES_CREATED, "OnMissionEntriesCreated", "O"},
{Scripting::TRIG_NEWBIE_TUTORIAL_RESPONSE, "OnNewbieTutorialResponse", "s"},
{Scripting::TRIG_IMMEDIATE_LOGOUT, "OnImmediateLogout", ""},
{Scripting::TRIG_SAW_ATTACK, "OnSawAttack", "OO["},
{Scripting::TRIG_GIVE_ITEM, "OnGiveItem", "OO"},
{Scripting::TRIG_SURVEY_DATA_RECEIVED, "OnSurveyDataReceived", "f[f[f["},
{Scripting::TRIG_APPLY_POWERUP, "OnApplyPowerup", "OO"},
{Scripting::TRIG_IMAGE_DESIGN_VALIDATE, "OnImageDesignValidate", "OOOiibssiibs[f[s[i[s"},
{Scripting::TRIG_IMAGE_DESIGN_COMPLETED, "OnImageDesignCompleted", "OOOiibssiibs[f[s[i[s"},
{Scripting::TRIG_IMAGE_DESIGN_CANCELED, "OnImageDesignCanceled", ""},
//------------------------------------------------------------------------
//-- Hibernation triggers
{Scripting::TRIG_HIBERNATE_BEGIN, "OnHibernateBegin", ""},
{Scripting::TRIG_HIBERNATE_END, "OnHibernateEnd", ""},
//------------------------------------------------------------------------
//-- Waypoint triggers
{Scripting::TRIG_WAYPOINT_CREATED, "OnWaypointCreated", "O"},
{Scripting::TRIG_WAYPOINT_DESTROYED, "OnWaypointDestroyed", "O"},
{Scripting::TRIG_WAYPOINT_ON_GET_ATTRIBUTES, "OnWaypointGetAttributes", "OOs*[u*["},
//------------------------------------------------------------------------
//-- Character transfer triggers
{Scripting::TRIG_START_CHARACTER_UPLOAD, "OnStartCharacterUpload", "U*[i*bb"},
{Scripting::TRIG_RECEIVE_CHARACTER_TRANSFER_STATUS_MESSAGE, "OnReceiveCharacterTransferStatusMessage", "s"},
{Scripting::TRIG_DOWNLOAD_CHARACTER, "OnDownloadCharacter", "U*["},
//------------------------------------------------------------------------
//-- Stomach update
{Scripting::TRIG_STOMACH_UPDATE, "OnStomachUpdate", ""},
//------------------------------------------------------------------------
//-- Cluster wide data manager
{Scripting::TRIG_RECEIVE_CLUSTER_WIDE_DATA_RESPONSE, "OnClusterWideDataResponse", "ssis[V[i"},
//------------------------------------------------------------------------
//-- Space triggers
{Scripting::TRIG_SHIP_HIT, "OnShipWasHit", "Oibiibfff"},
{Scripting::TRIG_SHIP_HITTING, "OnShipIsHitting", "Oii"},
{Scripting::TRIG_SHIP_BEHAVIOR_CHANGED, "OnShipBehaviorChanged", "ii"},
{Scripting::TRIG_SHIP_COMPONENT_POWER_SUFFICIENT, "OnShipComponentPowerSufficient", "if"},
{Scripting::TRIG_SHIP_COMPONENT_POWER_INSUFFICIENT, "OnShipComponentPowerInsufficient", "iff"},
{Scripting::TRIG_FORM_CREATEOBJECT, "OnFormCreateObject", "sfffOs[s["},
{Scripting::TRIG_FORM_EDITOBJECT, "OnFormEditObject", "Os[s["},
{Scripting::TRIG_FORM_REQUESTDATA, "OnFormRequestEditObject", "Os["},
{Scripting::TRIG_SHIP_COMPONENT_INSTALLING, "OnShipComponentInstalling", "OOi"},
{Scripting::TRIG_SHIP_COMPONENT_INSTALLED, "OnShipComponentInstalled", "Oi"},
{Scripting::TRIG_SHIP_COMPONENT_UNINSTALLING, "OnShipComponentUninstalling", "OiO"},
{Scripting::TRIG_SHIP_COMPONENT_UNINSTALLED, "OnShipComponentUninstalled", "OOiO"},
{Scripting::TRIG_SHIP_COMPONENT_ITEM_DROPPED_ON_SLOT, "OnDroppedItemOntoShipComponent", "iOO"},
{Scripting::TRIG_SHIP_TRY_TO_EQUIP_DROID_CONTROL_DEVICE_IN_SHIP, "OnTryToEquipDroidControlDeviceInShip", "OO"},
{Scripting::TRIG_SHIP_HIT_BY_LIGHTNING, "OnShipHitByLightning", "if"},
{Scripting::TRIG_SHIP_HIT_BY_ENVIRONMENT, "OnShipHitByEnvironment", "if"},
{Scripting::TRIG_SHIP_FIRED_MISSILE, "OnShipFiredMissile", "iiiOOi"},
{Scripting::TRIG_SHIP_TARGETED_BY_MISSILE, "OnShipTargetedByMissile", "iiiOOi"},
{Scripting::TRIG_SHIP_FIRED_COUNTERMEASURE, "OnShipFiredCountermeasure", "iO"},
{Scripting::TRIG_SPACE_UNIT_MOVE_TO_COMPLETE, "OnSpaceUnitMoveToComplete", ""},
{Scripting::TRIG_SPACE_UNIT_BEHAVIOR_CHANGED, "OnSpaceUnitBehaviorChanged", "ii"},
{Scripting::TRIG_SPACE_UNIT_FOLLOW_LOST, "OnSpaceUnitFollowLost", "O"},
{Scripting::TRIG_SPACE_UNIT_DOCKED, "OnSpaceUnitDocked", "O"},
{Scripting::TRIG_SPACE_UNIT_UNDOCKED, "OnSpaceUnitUnDocked", "Ob"},
{Scripting::TRIG_SPACE_UNIT_ENTER_COMBAT, "OnSpaceUnitEnterCombat", "O"},
{Scripting::TRIG_ABOUT_TO_LAUNCH_TO_SPACE, "OnAboutToLaunchIntoSpace", "OOO[ss"},
{Scripting::TRIG_SPACE_UNIT_START_UNDOCK, "OnSpaceUnitStartUnDock", "O"},
{Scripting::TRIG_SPACE_EJECT_PLAYER_FROM_SHIP, "OnSpaceEjectPlayerFromShip", ""},
{Scripting::TRIG_AI_PRIMARY_WEAPON_EQUIPPED, "OnAiPrimaryWeaponEquipped", "O"},
{Scripting::TRIG_AI_SECONDARY_WEAPON_EQUIPPED, "OnAiSecondaryWeaponEquipped", "O"},
{Scripting::TRIG_AI_RETREAT_COMPLETE, "OnAiTetherComplete", ""},
{Scripting::TRIG_HATE_TARGET_CHANGED, "OnHateTargetChanged", "O"},
{Scripting::TRIG_HATE_TARGET_ADDED, "OnHateTargetAdded", "O"},
{Scripting::TRIG_HATE_TARGET_REMOVED, "OnHateTargetRemoved", "O"},
{Scripting::TRIG_AI_RETREAT_START, "OnAiTetherStart", ""},
{Scripting::TRIG_INVULNERABLE_CHANGED, "OnInvulnerableChanged", "b"},
{Scripting::TRIG_AI_COMBAT_FRAME, "OnAiCombatFrame", ""},
{Scripting::TRIG_PROGRAM_DROID_COMMANDS, "OnCommitDroidProgramCommands", "Os[O[O["},
{Scripting::TRIG_SHIP_INTERNAL_DAMAGE_OVER_TIME_REMOVED, "OnShipInternalDamageOverTimeRemoved", "iff"},
{Scripting::TRIG_SHIP_DAMAGED_BY_INTERNAL_DAMAGE_OVER_TIME, "OnShipDamagedByInternalDamageOverTime", "ifff"},
//----------------------------------------------------------------------
//-- Chat
{Scripting::TRIG_CHAT_ON_LOGIN, "OnChatLogin", ""},
{Scripting::TRIG_CONTAINER_CHILD_GAIN_ITEM, "OnContainerChildGainItem", "OOO"},
{Scripting::TRIG_CONTAINER_CHILD_LOST_ITEM, "OnContainerChildLostItem", "OOOO"},
{Scripting::TRIG_QUEST_ACTIVATED, "OnQuestActivated", "i"},
{Scripting::TRIG_CRAFTED_PROTOTYPE, "OnCraftedPrototype", "OD"},
{Scripting::TRIG_ENTER_REGION, "OnEnterRegion", "ss"},
{Scripting::TRIG_EXIT_REGION, "OnExitRegion", "ss"},
//----------------------------------------------------------------------
{Scripting::TRIG_VENDOR_ITEM_COUNT_REPLY, "OnVendorItemCountReply", "ii"},
{Scripting::TRIG_VENDOR_STATUS_CHANGE, "OnVendorStatusChange", "i"},
{Scripting::TRIG_PLAYER_VENDOR_COUNT_REPLY, "OnPlayerVendorCountReply", "i"},
{Scripting::TRIG_TASK_ACTIVATED, "OnTaskActivated", "ii"},
{Scripting::TRIG_TASK_COMPLETED, "OnTaskCompleted", "ii"},
{Scripting::TRIG_TASK_FAILED, "OnTaskFailed", "ii"},
{Scripting::TRIG_TASK_CLEARED, "OnTaskCleared", "ii"},
{Scripting::TRIG_BEGIN_WARMUP, "OnBeginWarmup", "siif[sO" },
//----------------------------------------------------------------------
{Scripting::TRIG_BUILDOUT_OBJECT_REGISTER_WITH_CONTROLLER, "OnBuildoutObjectRegisterWithController", "O"},
{Scripting::TRIG_CYBERNETIC_CHANGE_REQUEST, "OnCyberneticChangeRequest", "OiO" },
{Scripting::TRIG_SOME_TASK_ACTIVATED, "OnSomeTaskActivated", "ii"},
{Scripting::TRIG_SOME_TASK_COMPLETED, "OnSomeTaskCompleted", "ii"},
{Scripting::TRIG_SOME_TASK_FAILED, "OnSomeTaskFailed", "ii"},
{Scripting::TRIG_SOME_TASK_CLEARED, "OnSomeTaskCleared", "ii"},
// params: player, ship, station, resource, amount
{Scripting::TRIG_SPACE_MINING_SELL_RESOURCE, "OnSpaceMiningSellResource", "OOOOi"},
{Scripting::TRIG_UNSTICKING, "OnUnsticking", ""},
{Scripting::TRIG_REQUEST_STATIC_ITEM_DATA, "OnRequestStaticItemData", "s"},
//----------------------------------------------------------------------
//-- Skills
{Scripting::TRIG_SKILL_TEMPLATE_CHANGED, "OnSkillTemplateChanged", "sb"},
{Scripting::TRIG_WORKING_SKILL_CHANGED, "OnWorkingSkillChanged", "sb"},
{Scripting::TRIG_COMBAT_LEVEL_CHANGED, "OnCombatLevelChanged", "ii"},
{Scripting::TRIG_QUEST_GRANT_REWARD, "OnQuestReceivedReward", "is"},
{Scripting::TRIG_GET_STATIC_ITEM_ATTRIBS, "OnGetStaticItemsAttributes", "ss*[u*["},
{Scripting::TRIG_HYPERSPACE_TO_HOME_LOCATION, "OnHyperspaceToHomeLocation", ""},
//----------------------------------------------------------------------
//-- CS stuff
{Scripting::TRIG_CS_CREATE_STATIC_ITEM, "OnCSCreateItem", "Os"},
{Scripting::TRIG_ON_CUSTOMIZE_FINISHED, "OnCustomizeFinished", "Os"},
{Scripting::TRIG_PVP_RANKING_CHANGED, "OnPvpRankingChanged", "ii"},
//-----------------------------------------------------------------------
//-- buff builder
{Scripting::TRIG_BUFF_BUILDER_VALIDATE, "OnBuffBuilderValidate", "OOiiibs[i["},
{Scripting::TRIG_BUFF_BUILDER_COMPLETED, "OnBuffBuilderCompleted", "OOiiibs[i["},
{Scripting::TRIG_BUFF_BUILDER_CANCELED, "OnBuffBuilderCanceled", ""},
//----------------------------------------------------------------------
//-- Building packing
{Scripting::TRIG_BUILDING_CONTENTS_LOADED, "OnContentsLoadedForBuildingToBePacked", "O"},
//-----------------------------------------------------------------------
//-- incubator
{Scripting::TRIG_INCUBATOR_COMMITTED, "OnIncubatorCommitted", "OOOOOOiiiiiiiiiiiiiii"},
{Scripting::TRIG_INCUBATOR_CANCELED, "OnIncubatorCancelled","OO"},
//-----------------------------------------------------------------------
//-- collection
{Scripting::TRIG_COLLECTION_SLOT_MODIFIED, "OnCollectionSlotModified", "ssssbiiib"},
{Scripting::TRIG_COLLECTION_SERVER_FIRST, "OnCollectionServerFirst", "sss"},
//-----------------------------------------------------------------------
//-- veteran reward
{Scripting::TRIG_CREATE_VETERAN_REWARD, "DoCreateVeteranReward", "s*["},
//-----------------------------------------------------------------------
//-- Storyteller location trigger
{Scripting::TRIG_GROUND_TARGET_LOC, "OnGroundTargetLoc", "Oifff"},
// Duel Trigger
{Scripting::TRIG_ON_DUEL_REQUEST, "OnDuelRequest","OO"},
{Scripting::TRIG_ON_DUEL_START, "OnDuelStart", "OO"},
{Scripting::TRIG_ON_ABOUT_TO_CHANGE_APPEARANCE, "OnAboutToChangeAppearance","Os"},
{Scripting::TRIG_ON_ABOUT_TO_REVERT_APPEARANCE, "OnAboutToRevertAppearance","O"},
// Group pickup point travel
{Scripting::TRIG_ABOUT_TO_TRAVEL_TO_GROUP_PICKUP_POINT, "OnAboutToTravelToGroupPickupPoint", ""},
{Scripting::TRIG_TRAVEL_TO_GROUP_PICKUP_POINT, "OnTravelToGroupPickupPoint", "ss"},
{Scripting::TRIG_CHANGED_APPEARANCE, "OnChangedAppearance", "O"},
{Scripting::TRIG_REVERTED_APPEARANCE, "OnRevertedAppearance", "O"},
{Scripting::TRIG_ON_DYNAMIC_SPAWN_REGION_CREATED, "OnDynamicSpawnRegionCreated", "Osfff"},
{Scripting::TRIG_DO_RESTORE_ITEM_DECORATION_LAYOUT, "DoRestoreItemDecorationLayout", "OOLbffff"},
{Scripting::TRIG_DO_RESTORE_ITEM_DECORATION_LAYOUT_ROTATION_ONLY, "DoRestoreItemDecorationLayoutRotationOnly", "Offff"},
{Scripting::TRIG_ON_RATING_FINISHED, "OnRatingFinished", "i"},
{Scripting::TRIG_ON_ABANDON_PLAYER_QUEST, "OnAbandonPlayerQuest", "O"},
{Scripting::TRIG_ON_GCW_SCORE_CATEGORY_PERCENTILE_CHANGE, "OnGcwScoreCategoryPercentileChange", "sii"},
//-- finish it up
{Scripting::TRIG_LAST_TRIGGER, nullptr, nullptr}
};
const int NUM_SCRIPT_FUNCTIONS = sizeof(ScriptFuncList) / sizeof(ScriptFuncList[0]) - 1;
//========================================================================
// globals
//========================================================================
Scripting::_ScriptFuncHashMap *Scripting::ScriptFuncHashMap = nullptr;
//========================================================================
// initialize the ScriptFuncHashMap
//========================================================================
/**
* Initialize the ScriptFuncHashMap
*/
void Scripting::InitScriptFuncHashMap(void)
{
Scripting::ScriptFuncHashMap = new Scripting::_ScriptFuncHashMap(NUM_SCRIPT_FUNCTIONS);
for (int i = 0; i < NUM_SCRIPT_FUNCTIONS; ++i)
IGNORE_RETURN(Scripting::ScriptFuncHashMap->insert(std::make_pair(static_cast<int>(ScriptFuncList[i].id), &ScriptFuncList[i])));
} // InitScriptFuncHashMap
/**
* Cleans up memory.
*/
void Scripting::RemoveScriptFuncHashMap(void)
{
delete Scripting::ScriptFuncHashMap;
Scripting::ScriptFuncHashMap = nullptr;
}