Lua API Reference
This page contains documentation for all the known functions within the Lua Bonfire API. For more information for running Lua code in Bonfire, please see the Lua scripting page.
Lua Console Commands
This table comprises the list of Lua-related console commands to actually inject, run, or even delete scripts from the console target's inventory. These can be placed into a scroll, macro, or NPC's CustomCall action during dialogue.
|
Command |
Usage |
Effect |
|---|---|---|
| oluainj | oluainj luaScriptName | Injects a Lua script within the console target's inventory.
Lua Scripts must be stored within the Lua directory, located at %appdata%/Prasetto/Bonfire/Mods/lua |
| oluacf | oluacf luaScriptName,functionName | Executes a single function within an injected Lua script once |
| oluaiifr | oluaiifr luaScriptName,functionName,duration | Causes a single Lua function to iterate, and execute repeatedly for a set duration. When the duration, the iteration will stop.
Tip: Set duration to "Infinity" will make the script run forever. |
| oluaria | oluaria luaScriptName,functionName
oluaria |
Stops an iterating function within a Lua script. Using oluaria with no parameters will stop all iterating scripts within the console target. |
| oluarem | oluarem luaScriptName | Removes the Lua script from the target's inventory. This will also stop any related iterators. |
Automatic Functions / Code
This code will execute automatically when injected into the target's inventory using the oluainj command. This removes the need to run functions manually with oluacf or oluaiifr. Note: The start() and update() functions will not run automatically if injected as an OrcLuaScript action with macros.
| Function Name | Return Type | Description /Usage |
|---|---|---|
| start | void | The start() function will execute once upon injection. |
| update | void | The update() function will start an iterator that runs for Infinity seconds upon injection. |
| [chunk space] | N/A | “Chunk Space” refers to any code lying outside of a function within a Lua file. This code will execute once upon injection AND whenever the holder enters a new scene.
This is typically used for setting variables and preemptively granting data flags. |
Orc Properties
These are properties--or variables--belonging to an Orc instance, and are accessible by writing orc.* before every call. In all cases "orc" will always refer to the instance who is running the script from within their inventory. For example: "orc.istheplayer" returns "true" if this orc is the player, and "orc.height = 1.5" sets this orc's height to 1.5.
Targeting
| Property Name | Type | Description / Usage |
|---|---|---|
| orcobjective | Orc | Returns this instance’s current “target” as another Orc instance. Functions and properties can be manipulated on the other instance by calling orc.orcobjective.* before every command:
It is also possible to store the objective in a separate variable for use later:
Warning: An instance’s objective changes frequently, so it is recommended that you store the objective in a separate variable as soon as possible for reference. The objective can also return ‘nil’, so it is recommended that you first perform a nil check before attempting to call a function or property on them.. |
| canseeorcobjective | bool | Returns true if the objective (this instance’s current “target”) is with line of sight |
| canseeinterest | bool | An “interest” is like a lighter version of “objective." It refers to the orc our instance is looking at, but not necessarily targeting. |
| istheplayer | bool | Returns true if instance is the player. |
| distancetoobjective | float | Returns the distance to the objective. |
Positioning
| Property Name | Type | Description / Usage |
|---|---|---|
| positionx
positiony positionz |
float | The instance’s current x, y, or z position in the world. |
Physical Attributes
| Property Name | Type | Description / Usage |
|---|---|---|
| ballsize | float | Max is 2.0 |
| beardlength | float | |
| beardstubble | float | |
| bodyfat | float | |
| bodyhair | float | |
| coatdensity | float | |
| earshape | float | |
| earsize | float | |
| extrabutt | float | |
| footsize | float | |
| haircolor1_[r,g,b] | float | Hair Color A in the character editor |
| haircolor2_[r,g,b] | float | Hair Color B in the character editor |
| hairlength | float | |
| handgirth | float | |
| headcrown | float | |
| height | float | Max is 1.5, but clamps to 1.0 during stage 1 of corruption. |
| jawsize | float | |
| lipgirth | float | |
| muscle | float | |
| penisextra | float | |
| penisgirth | float | Max is 4.0, but clamps to 2.0 during corruption |
| penisshower | float | |
| penissize | float | |
| skincolormid_[r,g,b,m] | float | Skin Color – Upper Layer |
| skincolortop_[r,g,b,m] | float | Skin Color – Sun Bleach |
| skincolorund_[r,g,b,m] | float | Skin Color – Lower Layer |
| tusksize | float |
Flags / Booleans
| Property Name | Type | Description / Usage |
|---|---|---|
| afterglowing | bool | Returns true if the instance is afterglowing right after orgasming during a sex scene |
| busywalking | bool | Returns true if the instance is currently walking to a destination |
| cumming | bool | Returns true if, during a sex scene, the instance is orgasming |
| immutable | bool | Returns true if this instance is either a ghost or special character that cannot be altered by transformation spells nor corruption |
| isairborne | bool | Returns true if the instance is floating in mid air |
| isbusy | bool | Returns true if the instance is doing literally anything else besides standing |
| isfapping | bool | Returns true if the instance is doing a standing fap. (Does not apply to Self-Action, or solo fapping on the Inn or Island Beds) |
| isgeniefragment | bool | Returns true if this instance is an NPC genie fragment (ie: Eves, Levi; not a geniefied orc) |
| isghost | bool | Returns true if the instance is a ghost |
| issexing | bool | Returns true if the instance is in a sex animation (This includes Self-Action, and Handjobs in the Bath House) |
| istalking | bool | Returns true if the instance is in a dialogue |
| onatask | bool | Returns true if the instance is busy doing some task like casting a spell or sexing |
| perfectglowing | bool | Returns true if the instance has achieved a perfect synchronized orgasm during a sex scene |
Misc Properties
| Property Name | Type | Description / Usage |
|---|---|---|
| arousal | float | Returns the instance’s current arousal level.
The value range is 0.0 – 1.0 |
| corruption | float | Returns the instances level of corruption.
The value range is 0.0 – 3.0, where 1.0 is the cap before becoming a genie |
| infinity | float | Returns a floating number representing infinity. |
| orcname | string | The instance’s name |
| mana | float | Returns the instance’s current mana amount |
| maxmana | float | Returns the instance’s total mana pool.
Note: this is a read-only property. |
| manareg | float | Returns the instance’s current mana regeneration rate
Note: this is a read-only property. |
