AI Lua API: Difference between revisions
No edit summary |
No edit summary |
||
Line 90: | Line 90: | ||
'''Notes''': This goal will be removed from the AI once complete. If it isn't achievable it will be removed immediately. | '''Notes''': This goal will be removed from the AI once complete. If it isn't achievable it will be removed immediately. | ||
=== | === GetNPCStat === | ||
<syntaxhighlight source lang="lua">AI. | <syntaxhighlight source lang="lua">AI.GetNPCStat(characterName, statName)</syntaxhighlight> | ||
'''Expected parameter types''' | '''Expected parameter types''' | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 99: | Line 99: | ||
| characterName || string | | characterName || string | ||
|- | |- | ||
| | | statName || string | ||
|} | |} | ||
'''Description''': Alters an | '''Description''': Returns current value of NPC's stat | ||
'''Returns''': number | |||
'''Notes''': This is only intended for debugging purposes, and not recommended in any actual game scripts. | |||
=== SetNPCStat === | |||
<syntaxhighlight source lang="lua">AI.SetNPCStat(characterName, statName, newValue)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| statName || string | |||
|- | |||
| newValue || number | |||
|} | |||
'''Description''': Sets an NPC's AI stat to absolute value | |||
'''Returns''': Nothing | |||
'''Notes''': This is only intended for debugging purposes, and not recommended in any actual game scripts. | |||
=== AlterNPCStat === | |||
<syntaxhighlight source lang="lua">AI.AlterNPCStat(characterName, statName, statDelta)</syntaxhighlight> | |||
'''Expected parameter types''' | |||
{| class="wikitable" | |||
|- | |||
! Name !! Type | |||
|- | |||
| characterName || string | |||
|- | |||
| statName || string | |||
|- | |||
| statDelta || number | |||
|} | |||
'''Description''': Alters an NPC's AI stat by relative value | |||
'''Returns''': Nothing | '''Returns''': Nothing | ||
=== AlterNPCWorldState === | === AlterNPCWorldState === | ||
<syntaxhighlight source lang="lua">AI.AlterNPCWorldState(characterName, state, value)</syntaxhighlight> | <syntaxhighlight source lang="lua">AI.AlterNPCWorldState(characterName, state, value)</syntaxhighlight> | ||
Line 261: | Line 296: | ||
This file is auto generated, please don't edit manually! | This file is auto generated, please don't edit manually! | ||
'''Docs last hacked together on''': | '''Docs last hacked together on''': 13/10/2021 15:55 | ||
[[Category:Modding]][[Category:LuaAPI]] | [[Category:Modding]][[Category:LuaAPI]] |
Revision as of 08:46, 14 October 2021
AI
Description
API to control the logic of AI in the mission
Functions
Pause
AI.Pause(characterName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
Description: Pauses the agent, and stops it from doing anything.
Returns: Nothing
Notes: The AI will be hidden from networks, meaning it will no longer interact with devices or send/receive messages.
Unpause
AI.Unpause(characterName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
Description: Unpauses a hidden agent, resuming standard behaviour.
Returns: Nothing
IsPaused
AI.IsPaused(characterName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
Description: Returns a bool based on if a character is currently paused or not
Returns: bool
AddGoal
AI.AddGoal(characterName, goal)
Expected parameter types
Name | Type |
---|---|
characterName | string |
goal | Lua Table |
Description: Adds a defined goal
Returns: Nothing
RemoveGoal
AI.RemoveGoal(characterName, goalName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
goalName | string |
Description: Removes any defined goals
Returns: Nothing
AddTemporaryGoal
AI.AddTemporaryGoal(characterName, goal)
Expected parameter types
Name | Type |
---|---|
characterName | string |
goal | Lua Table |
Description: Adds a goal, taking top priority, to the named AI
Returns: Nothing
Notes: This goal will be removed from the AI once complete. If it isn't achievable it will be removed immediately.
GetNPCStat
AI.GetNPCStat(characterName, statName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
statName | string |
Description: Returns current value of NPC's stat
Returns: number
Notes: This is only intended for debugging purposes, and not recommended in any actual game scripts.
SetNPCStat
AI.SetNPCStat(characterName, statName, newValue)
Expected parameter types
Name | Type |
---|---|
characterName | string |
statName | string |
newValue | number |
Description: Sets an NPC's AI stat to absolute value
Returns: Nothing
Notes: This is only intended for debugging purposes, and not recommended in any actual game scripts.
AlterNPCStat
AI.AlterNPCStat(characterName, statName, statDelta)
Expected parameter types
Name | Type |
---|---|
characterName | string |
statName | string |
statDelta | number |
Description: Alters an NPC's AI stat by relative value
Returns: Nothing
AlterNPCWorldState
AI.AlterNPCWorldState(characterName, state, value)
Expected parameter types
Name | Type |
---|---|
characterName | string |
state | string |
value | Lua Type |
Description: Change the World State of an NPC.
Returns: Nothing
FavourInterest
AI.FavourInterest(characterName, device, permanent)
Expected parameter types
Name | Type |
---|---|
characterName | string |
device | string |
permanent | bool |
Description: Reduce the cost of an AI using a particular Interest
Returns: Nothing
Notes: If permanent is false, the cost will revert to normal the next time this is successfully used
AvoidInterest
AI.AvoidInterest(characterName, device, permanent)
Expected parameter types
Name | Type |
---|---|
characterName | string |
device | string |
permanent | bool |
Description: Increase the cost of an AI using a particular Interest
Returns: Nothing
Notes: If permanent is false, the cost will revert to normal the next time this is successfully used
ChangeSubject
AI.ChangeSubject(characterName, subject, value)
Expected parameter types
Name | Type |
---|---|
characterName | string |
subject | string |
value | string |
Description: Set the value of a particular subject, enabling Actions with Personality requirements
Returns: Nothing
Notes: value can be null or empty (to unset/reset the subject)
ReactTo
AI.ReactTo(characterName, subject, value)
Expected parameter types
Name | Type |
---|---|
characterName | string |
subject | string |
value | string |
Description: Much like ChangeSubject, but instead of enabling Actions, this will alter stats within the Agent, modifying its WorldState (and as a result, enabling Actions)
Returns: Nothing
Notes: value can be null or empty (to unset/reset the subject)
CreateReactable
AI.CreateReactable(actionType, attraction, targetObject)
Expected parameter types
Name | Type |
---|---|
actionType | AIReaction+Type |
attraction | number |
targetObject | MissionObject |
Description: Create a new distraction that AI can pick up on
Returns: Nothing
SetNPCFavouredComputer
AI.SetNPCFavouredComputer(characterName, computer)
Expected parameter types
Name | Type |
---|---|
characterName | string |
computer | MissionObject |
Description: Set NPC's computer, this will be used for a variety of actions
Returns: Nothing
AddAction
AI.AddAction(characterName, action)
Expected parameter types
Name | Type |
---|---|
characterName | string |
action | Lua Table |
Description: Adds an action that can be used immediately
Returns: Nothing
RemoveAction
AI.RemoveAction(characterName, actionName)
Expected parameter types
Name | Type |
---|---|
characterName | string |
actionName | string |
Description: Removes any action
Returns: Nothing
This file is auto generated, please don't edit manually!
Docs last hacked together on: 13/10/2021 15:55