Console Commands: Difference between revisions
bonfire-wiki>Sonic260 Formatting fixes, up to the Special Arguments section |
bonfire-wiki>Sonic260 Special Arguments formatting. |
||
| Line 539: | Line 539: | ||
| convert | | convert | ||
| convert ''orcA,orcB,duration,multiplier'' | | convert ''orcA,orcB,duration,multiplier'' | ||
| Similar to '''swap''', but changes ''orcB's'' body shape'' ''into'' ''''orcA'''s bodyshape, without affecting ''orcA''. | | Similar to '''swap''', but changes ''orcB's'' body shape'' ''into'' ''''orcA'''s bodyshape, without affecting ''orcA''.'' | ||
|- style="vertical-align:middle;" | |- style="vertical-align:middle;" | ||
| '''“Transformify” Commands''' | | '''“Transformify” Commands''' | ||
| Human | | Human | ||
*barafy'' target,strength,duration,burstdelay'' | *barafy'' target,strength,duration,burstdelay'' | ||
*barafylite ''target,strength,duration,burstdelay'' | *barafylite ''target,strength,duration,burstdelay'' | ||
| Line 551: | Line 555: | ||
*orcify ''target,strength,duration,burstdelay'' | *orcify ''target,strength,duration,burstdelay'' | ||
*orcifylite ''target,strength,duration,burstdelay'' | *orcifylite ''target,strength,duration,burstdelay'' | ||
| Line 556: | Line 563: | ||
*iguapify ''target,strength,duration,burstdelay'' | *iguapify ''target,strength,duration,burstdelay'' | ||
*iguapifylite ''target,strength,duration,burstdelay'' | *iguapifylite ''target,strength,duration,burstdelay'' | ||
Dwarf | Dwarf | ||
*dwarve ''target,strength,duration,burstdelay'' | *dwarve ''target,strength,duration,burstdelay'' | ||
| Line 693: | Line 706: | ||
| timedmacro | | timedmacro | ||
| timedmacro ''macroName'' | | timedmacro ''macroName'' | ||
| | | | ||
To be used with '''invokedelay'''.Together, these commands run ''macroName ''every second for a set duration. | To be used with '''invokedelay'''.Together, these commands run ''macroName ''every second for a set duration. | ||
| Line 738: | Line 751: | ||
|- | |- | ||
| oluainj | | oluainj | ||
| | | | ||
oluainj ''luaScriptName'' | oluainj ''luaScriptName'' | ||
| Line 744: | Line 757: | ||
oluainj ''folderName/luaScriptName'' | oluainj ''folderName/luaScriptName'' | ||
| | | | ||
Injects a Lua script within the console target's inventory. | Injects a Lua script within the console target's inventory. | ||
| Line 762: | Line 775: | ||
|- | |- | ||
| oluacf | | oluacf | ||
| | | | ||
oluacf ''luaScriptName,functionName'' | oluacf ''luaScriptName,functionName'' | ||
| Line 771: | Line 784: | ||
|- | |- | ||
| oluaiifr | | oluaiifr | ||
| | | | ||
oluaiifr ''luaScriptName,functionName,duration'' | oluaiifr ''luaScriptName,functionName,duration'' | ||
| Line 777: | Line 790: | ||
oluaiifr ''directoryName/luaScriptName,functionName,duration'' | oluaiifr ''directoryName/luaScriptName,functionName,duration'' | ||
| | | | ||
Causes a single function to iterate and execute repeatedly for a set ''duration''. When the ''duration ''is exceeded the iteration will stop. | Causes a single function to iterate and execute repeatedly for a set ''duration''. When the ''duration ''is exceeded the iteration will stop. | ||
| Line 783: | Line 796: | ||
|- | |- | ||
| oluaria | | oluaria | ||
| | | | ||
oluaria ''luaScriptName,functionName'' | oluaria ''luaScriptName,functionName'' | ||
| Line 793: | Line 806: | ||
oluaria | oluaria | ||
| | | | ||
Stops a function from iterating. | Stops a function from iterating. | ||
| Line 799: | Line 812: | ||
|- | |- | ||
| oluarem | | oluarem | ||
| | | | ||
oluarem ''luaScriptName'' | oluarem ''luaScriptName'' | ||
| Line 819: | Line 832: | ||
|- | |- | ||
| asset | | asset | ||
| | | | ||
asset ''full/Path/To/Asset/File'' | asset ''full/Path/To/Asset/File'' | ||
| Line 825: | Line 838: | ||
asset ''newNameFromAssetNameSet'' | asset ''newNameFromAssetNameSet'' | ||
| | | | ||
Loads an asset from the game’s files into memory. This asset becomes the console target for other asset commands. | Loads an asset from the game’s files into memory. This asset becomes the console target for other asset commands. | ||
| Line 836: | Line 849: | ||
| assetpos | | assetpos | ||
| assetpos ''x,y,z,rotx,roty,rotz,local'' | | assetpos ''x,y,z,rotx,roty,rotz,local'' | ||
| | | | ||
Spawns the instance loaded with asset at the desired coordinates, with the rotation specified. | Spawns the instance loaded with asset at the desired coordinates, with the rotation specified. | ||
| Line 862: | Line 875: | ||
|- style="vertical-align:middle;" | |- style="vertical-align:middle;" | ||
| '''Attachment commands''' | | '''Attachment commands''' | ||
| | | | ||
*hrattachcao | *hrattachcao | ||
**Attach to right hand· | **Attach to right hand· | ||
*hlattachcao | *hlattachcao | ||
**Attach to left hand | **Attach to left hand | ||
| | | | ||
Attaches an asset to the console target | Attaches an asset to the console target | ||
| Line 877: | Line 890: | ||
|- style="vertical-align:middle;" | |- style="vertical-align:middle;" | ||
| assetclear | | assetclear | ||
| | | | ||
assetclear ''full/Path/To/Asset/File'' | assetclear ''full/Path/To/Asset/File'' | ||
| Line 916: | Line 929: | ||
| omenpos | | omenpos | ||
| omenpos ''x,y,z,rX,rY,rZ,local'' | | omenpos ''x,y,z,rX,rY,rZ,local'' | ||
| | | | ||
Controls the camera’s position during the monologue.· | Controls the camera’s position during the monologue.· | ||
| Line 942: | Line 955: | ||
| hawkvis | | hawkvis | ||
| | | | ||
| | | | ||
Will detach the camera and turn it into free-floating view, that can be controlled with the mouse and WASD keys. | Will detach the camera and turn it into free-floating view, that can be controlled with the mouse and WASD keys. | ||
| Line 957: | Line 970: | ||
| fadecolor | | fadecolor | ||
| fadecolor'' r,g,b,a,r2,g2,b2,a2,time'' | | fadecolor'' r,g,b,a,r2,g2,b2,a2,time'' | ||
| | | | ||
Creates a “Fade-to-color” effect, where the screen will fade to the color specified. | Creates a “Fade-to-color” effect, where the screen will fade to the color specified. | ||
| Line 980: | Line 993: | ||
| walkto | | walkto | ||
| walkto ''target,duration,speed,allowInterruptionBool'' | | walkto ''target,duration,speed,allowInterruptionBool'' | ||
| | | | ||
Start walking towards the NPC, player, or Special Argument named as the target. | Start walking towards the NPC, player, or Special Argument named as the target. | ||
| Line 995: | Line 1,008: | ||
| setchrscene | | setchrscene | ||
| setchrscene ''sceneName,x,y,z'' | | setchrscene ''sceneName,x,y,z'' | ||
| | | | ||
If the target is an NPC, it will set them up to spawn on a different scene at the given coordinates. This is useful when creating NPCs that need to change scenes during their "dating" progress | If the target is an NPC, it will set them up to spawn on a different scene at the given coordinates. This is useful when creating NPCs that need to change scenes during their "dating" progress | ||
| Line 1,004: | Line 1,017: | ||
| campos | | campos | ||
| campos ''x,y,z,rotX,rotY,rotZ,zoom,orthographic,localized'' | | campos ''x,y,z,rotX,rotY,rotZ,zoom,orthographic,localized'' | ||
| | | | ||
This command will detach the camera from the current user (usually the player) and place it at the given position and rotation coordinates, with a given ''zoom''/lens (in field of view angles. Normal field would be 60 degrees). | This command will detach the camera from the current user (usually the player) and place it at the given position and rotation coordinates, with a given ''zoom''/lens (in field of view angles. Normal field would be 60 degrees). | ||
| Line 1,018: | Line 1,031: | ||
|} | |} | ||
== Special | == Special Arguments/Logic == | ||
Special | Special Arguments can be given in certain situations for the above functions or to data flags | ||
{| class="wikitable" style="vertical-align:middle;width:100%" | {| class="wikitable" style="vertical-align:middle;width:100%" | ||
|- | |- | ||
! Category | ! style="min-width: 200px;"| Category | ||
! Argument | ! style="min-width: 100px;"| Argument | ||
! Description | ! style="width: 100%;"| Description | ||
|- | |- | ||
| rowspan="4" | Targeting | | rowspan="4" | | ||
'''Targeting Arguments''' | |||
These parameters can be used in the place of orc names when setting the console target, or as parameters in Scrolls, Macros, Lua Scripts or Dialogues. | |||
| @playername | | @playername | ||
| A placeholder that returns the player’s name.Warning: Take care not to use this online, as everyone is the “player” from their respective screen. This can create inconsistent results when commands are used. | | | ||
A placeholder that returns the player’s name. | |||
'''Warning''': Take care not to use this online, as everyone is the “player” from their respective screen. This can create inconsistent results when commands are used. | |||
|- | |- | ||
| @playerinterest | | @playerinterest | ||
| Returns the name of the orc the player is currently interacting with, even if they are just looking at each other.Warning: Take care not to use this online, as everyone is the “player” from their respective screen. This can create inconsistent results when commands are used. | | | ||
Returns the name of the orc the player is currently interacting with, even if they are just looking at each other. | |||
'''Warning''': Take care not to use this online, as everyone is the “player” from their respective screen. This can create inconsistent results when commands are used. | |||
|- | |- | ||
| @self | | @self | ||
| A placeholder that return a different target in a variety of situations: | | | ||
A placeholder that return a different target in a variety of situations: | |||
*Console Commands - refers to the current console target | |||
*Dialogue - this returns the current speaker, determined by the “Starring” setting in the NPC or Dialogue editors. | |||
*Scrolls – Refers to the caster | |||
*Macros – Refers to the macro user | |||
*Lua Scripts – Refers to the “'''orc.'''” instance who calls a Lua command | |||
Scrolls intended to be used online should always open with “'''target @self'''” first. | |||
|- | |- | ||
| @selfinterest | | @selfinterest | ||
| Similar to @playerinterest, but applied to @self. @selfinterest is considered safe to use online. | | Similar to ''@playerinterest'', but applied to ''@self''. ''@selfinterest ''is considered safe to use online. | ||
|- | |- | ||
| rowspan="7" | Math | | rowspan="7" | | ||
| @math +number | '''Math Arguments''' | ||
| Increments flag value by number | |||
Used by Data Flags to perform mathematical operations on their stored value. | |||
These are used within NPC Dialogues and Macros. Since Lua already contains built-in features for mathematical operations, these will not work with the '''orc.setitemflag() '''function. | |||
| @math +''number'' | |||
| Increments flag value by ''number'' | |||
|- | |- | ||
| @math -number | | @math -''number'' | ||
| Decrements flag value by number | | Decrements flag value by ''number'' | ||
|- | |- | ||
| @math *number | | @math *''number'' | ||
| Multiplies flag value by number | | Multiplies flag value by ''number'' | ||
|- | |- | ||
| @math /number | | @math /''number'' | ||
| Divides flag value by number | | Divides flag value by ''number'' | ||
|- | |- | ||
| @math ^number | | @math ^''number'' | ||
| Raises a flags value to the power of number | | Raises a flags value to the power of ''number'' | ||
|- | |- | ||
| @randint lowest,highest | | @randint ''lowest'',''highest'' | ||
| Returns a random integer value between lowest and highest | | Returns a random integer value between ''lowest ''and ''highest'' | ||
|- | |- | ||
| @randfloat lowest,highest | | @randfloat ''lowest'',''highest'' | ||
| Returns a random float value between lowest and highest | | Returns a random float value between ''lowest ''and ''highest'' | ||
|- | |- | ||
| rowspan="6" | Comparison | | rowspan="6" | | ||
| @>> number | '''Comparison Operators''' | ||
| Returns true if the flag value is greater than number | |||
Returns either '''true '''or '''false''' depending on how a Data Flag’s stored value compares to another number. | |||
These are used to check Execution Conditions within Macros and NPC Dialogues.They are also work with Lua’s '''orc.ifitemflag()''' function. | |||
| @>> ''number'' | |||
| Returns true if the flag value is greater than ''number'' | |||
|- | |- | ||
| @<< number | | @<< ''number'' | ||
| Returns true if the flag value is lesser than number | | Returns true if the flag value is lesser than ''number'' | ||
|- | |- | ||
| @>= number | | @>= ''number'' | ||
| Returns true if the flag value is greater than or equal to number | | Returns true if the flag value is greater than or equal to ''number'' | ||
|- | |- | ||
| @<= number | | @<= ''number'' | ||
| Returns true if the flag value is less than or equal to number | | Returns true if the flag value is less than or equal to ''number'' | ||
|- | |- | ||
| @!= number | | @!= ''number'' | ||
| Returns true if the flag value is not equal to number. | | Returns true if the flag value is not equal to ''number''. | ||
|- | |- | ||
| @any | | @any | ||
Revision as of 00:18, 1 July 2020
The console can be accessed by hitting F1 on your keyboard. To use a command, first set your target, and then use one of the commands below.
Commands can be used nearly every aspect of Bonfire modding, from Scrolls to Lua Scripts, and even NPC Dialogue and Macros as a CustomCall Action.
Note that all commands are case-sensitive. Also, assume that this page is up to date with the latest Patreon release.
Basic Commands
| Command | Usage | Effect |
|---|---|---|
| target | target orcname |
Sets the console target for most commands. Names are case-sensitive. You can also use Special Arguments like @self or @playername as place holders for names (See the Special Arguments / Logic) section. By default, the player is the console target when the scene loads. Some commands will only work for the player, even if the target is another NPC |
| targetclear |
Clears the current target and returns control to the player. Warning: Do not use this while online because it will cause syncing issues. Every connected user is the “player” from their perspective. Either target your orc by name explicitly, or use the @self parameter. | |
| batch | batch command1;command2;command3 |
Allows you to call multiple commands at once, separated by semicolons after the batch keyword. Note: Do not put spaces after each semicolon |
| invokedelay | invokedelay delay |
If used with invoke, this sets a delay timer for when a command is executed. If used with timedmacro, this sets a timer for how long the macro will loop itself and execute. A value of “Infinity” will make the macro execute until it gets stopped by another process. Ex: invokedelay 4 invoke origins This will run the origins command after 4 seconds have passed. |
| invoke | invoke command | If invokedelay was used prior, this will execute a command after the delay of time specified. |
| aoe | aoe buffName,duration,range,repeats |
Applies a buff to all orcs in an area around the current console target, but not including the target. buffName – The buff to be applied duration – How long the buff should last range – Controls the size of the area effect. This can be a value from 1 to 12. repeats – The “strength” of the buff. It basically reapplies the same buff multiple times for a faster effect. |
| aoecmd |
aoecmd commandName\delay\range or aoecmd commandName\delay\range\iterations or when using Lua: orc.consolecommand(”aoecmd commandName\\delay\\range\\iterations”) |
Casts a console command within a set area around the current console target, but not including the current target. Unlike most commands, aoecmd’s parameters are separated by a backslash ( \ ) character, rather than a comma. Backslashes are used as an escape character in most programming languages. If this command is used within a Lua script, you will need to use two backslashes between each parameter: ( \\ ) commandName – The console command you want to use delay – Specifies how long the command will wait before executing. Note: This is not applicable to all commands! range – Controls the size of the area of affect. This can be a value from 1 to 12. iterations (optional) – Will attempt to repeat the same command for the amount specified |
| infodialogue | infodialogue enter message here | Prints a message on the middle of the screen. If used online, this will appear for all players. |
| exit | Exits the command console | |
| cls | Clears the text in the command console |
Debug commands
These commands are useful for debugging purposes.
| Command | Usage | Effect |
|---|---|---|
| save | Saves your progress. | |
| rel | Reloads the current scene. Can be used to unstick the game. | |
| dory |
Wipes your character's memory entirely, essentially resetting quest progress back to zero and resetting your NPCs’ appearance. Your items and waypoints are not affected, however. This also deletes all Data Flags and Lua Scripts from your inventory. | |
| goel |
Gives you full quest progress on all main orcs and all waypoints. Delete any non-official Data Flags, and cancels (but not deletes) any running Lua Scripts. | |
| hobo | Wipes most items from your character’s inventory. | |
| obliviate | [DEPRECATED] Removes NPC data from the NPC’s inventory.This has been succeeded by the dory command | |
| stiff | Removes all poses from the players inventory | |
| showhiddenitems | Opens the inventory and reveals hidden, internal data. Using the command will hide everything again.For practical purposes, this reveals the Data Flags tab in an orc’s inventory for quest-tracking purposes. | |
| forceinventory | Opens the current console targets inventory. | |
| itemlist |
Show a list of available equipment, and their itemIDs. This list is available on the Items page. | |
| give | give itemID |
Makes the target wear a piece of equipment with the itemID specified. Reference the Items page for a list of equipment. |
| foodlist |
Shows the list of available food and their itemIDs. This list is available on the Items page. | |
| quickfeed | quickfeed itemID |
Makes your target eat the food specified, but does not place it in their inventory. Reference the Items page for a list of food. |
| lordofshapes | Pulls up a compact editor that allow for the player to adjust stats such as height, cocksize, arousal, muscle and more. This can also reveal NPCs in the current scene. Type lordofshapes again to turn it off. | |
| feditbod | Pulls up the character editor to change your orc’s appearance | |
| chedit | Quickly opens the NPC editor | |
| coord | Displays your character's coordinates, including rotation | |
| refpos | Retrieves and stores the target’s current coordinates. This can be used later to place NPCs in the NPC Editor, or used to teleport orcs or assets using tp2refpos or assetrefposset. | |
| refrot | Retrieves and stores the target’s current rotation for use later. Commands like rot2refrot will set the target’s rotation to match the stored rotation. | |
| rot2refrot | Sets the target’s rotation to the rotation coordinates stored from refrot | |
| Time Commands |
|
Sets the time of day to the name specified |
| necro | necro orcName | Brings back a deleted character from the graveyard. |
| del | Deletes the target, rendering them as untargetable for further commands. The character will get restored when the scene reloads. | |
| hide | Causes a character to fade out, but they will still be affected by commands. Reloading the scene will make them appear again. | |
| orcinterestset | orcinterestset orcA,orcB | Causes orcA to turn their head to look at orcB, setting the target for the @selfinterest (or @playerinterest if used on the player) parameter. |
| chrname | chrname newname | Changes the targets name to newname. Not recommended to use on the player or Lore NPCs. This is disabled online. |
| alltps | Grant access to all waypoints for fast travel. | |
| alwin | Opens the alchemy window | |
| removescriptflag | removescriptflag flagname | Deletes a Data Flag from the target's inventory, if it exists. |
| strip | Strips the target of any equipment they’re wearing, and makes them naked. | |
| Spawn commands |
|
Spawns a random, dialogue-less NPC next to the target. This NPC becomes the new console target. Spawned NPCs do not have dialogue by default, but can be given one with modspeech. Unlike Fantasies, spawned NPCs can be fused with. |
| freezenode | Freezes a target and stops all movement | |
| unfreezenode | Unfreezes a target. |
Warp / Travel Commands
These commands quickly transport the target to a different location within the current scene or to other scenes.
| Command | Usage | Effect |
|---|---|---|
| travel | travel levelname | Instantaneous transport to levelname. See Areas for more information. |
| travelquiet | travelquiet levelname | Does the same as travel, but will not flash the screen nor play a sound effect. This may freeze the game for a while. |
| tplist | Shows a list of way points in the scene. | |
| tp | tp location | Teleports you to one of way points retrieved by tplist. |
| tp2orc | tp2orc name | Teleports you to any orc with the given name |
| tp2orcquiet | tp2orcquiet name | Does the same as tp2orc, but will not play a sound effect nor flash the view. |
| tp2refpos | Teleports the target to the current coordinate set by refpos. | |
| chrpos | chrpos x,y,z | Teleports the target to the specified coordinates. |
| chrrot | chrrot x,y,z | Gives the character a specific rotation. Only the y parameter works. x and z can be filled with 0. |
Customization Commands
Customization commands allow you to color your orc's gear or load external files to create scars and tattoos.
| Command | Usage | Effect |
|---|---|---|
| Color Equipment |
|
Allow you to assign custom colors to any applicable leather, cloth, or plate pieces you are wearing using RGB notation |
| tatguide |
Generates a sample UV Map .png file in the %appdata%/Prasetto/ Bonfire/Tattoos folder of your Bonfire directory. This image acts as a guide for making custom scars and tattoos. See Creating Tattoos for more information | |
| tattoo | tattoo fileName | Imports the fileName tattoo/markings into an item in your character's inventory. Be mindful the data will be serialized into your character and will drastically increase the file size of the player orc. Too many tattoos will make it difficult to load your orc in online play |
| scar | scar fileName |
Similar to tattoo: adds scars on your character. In order to make a scar, non-black colors must be used (grayscale is the best). White appears the most vivid, while black colors will be completely invisible.Transparency controls the “softness” of the scar. |
Admin Commands
These commands are used to access special controls during online play.
| Command | Usage | Effect |
|---|---|---|
| adminlogin | adminlogin password |
This lets you log into the server as an administrator, enabling you to use console commands and the below gm_ commands freely.Your password is created when launching a new server through NetBench If the password is a null value, simply place an empty space after the command. |
| gm_plist | Opens a panel showing the number of players online. If players are within the same scene as the admin, the admin can view the list of player names and their client IDs. You can also view any active buffs on other players, save a log of the console commands they’ve executed, or save a copy of their orc on your computer | |
| gm_ntassets | Opens a panel that allows you to spawn or remove spawned objects online, such as camp fires or stone beds. | |
| gm_ntassetlist | Saves all spawned objects and writes them into an “assetdump.txt” file located in Bonfire’s AppData folder. | |
| gm_ntassetllst | Reads the “assetdump.txt” file created with gm_ntassetlist, and spawns objects at their appropriate coordinates |
Sex Commands
These command start sex animations with the current target and their current "interest"
| Command | Usage | Effect |
|---|---|---|
| oldforeplay | The target will start Foreplay with another orc, if they are close enough. | |
| fap | The targeted orc will masturbate. | |
| fapstop | If fap is used on the player, use this to make them stop masturbating in place of the ESC key. | |
| floorfap1 | Masturbation, but the target will lie on the ground. | |
| floorfap1stop | Stops floorfap1 | |
| sca1 | Acronym for "sex scene anal 1", will have the target and his interest engage on doggy-style anal sex on a nearby hot spot. If none exists in the scene, or if you’re too far away, nothing happens. | |
| sca2 | Like sca1, but does missionary anal position. | |
| sco1 | Acronym for "sex scene oral 1". Unlike sca1 and sca2, this one will be played on the spot where the characters are standing, not requiring a predefined sex hotspot. | |
| sc69 | Like sco1, but does a 69 position. |
Transformation commands
Commands for changing your orc's appearance.
| Command | Usage | Effect |
|---|---|---|
| natty | Returns your character to their last known naturally achieved shape (ie, from eating fruits). Natty will also cure you of corruption. | |
| origins |
Similar to natty, but returns you to the shape your character had upon creation. Warning: If your character was a genie for an extended period of time, origins may not restore your form. | |
| resnatty |
Saves your character's current appearance as their new "natural" shape, for the natty command. Be sure to save the game to make this change permanent. | |
| resorigin |
Saves your character's current appearance as their new "original" shape, for the origins command. Be sure to save the game to make this change permanent. | |
| xl | Instantly makes the target the max height | |
| Quickgrow Commands |
|
Accelerates whatever growth spell the target may be experiencing. quickgrow plays a random animation, while the rest play a specific one. |
| hairlist |
Shows a list of all available hairstyles for the hair command. This list is available on Hair/Beard Styles. | |
| hair | hair id,length | Changes your hairstyle. Length is a decimal between 0 and 1 |
| beardlist |
Shows a list of all available beards for the beard command. This list is available on Hair/Beard Styles. | |
| beard | beard id,length | Changes your beard style. Length is a decimal between 0 and 1 |
| splice | Turns your character into an average fusion of every character you've created | |
| Genie's Curse |
|
Adds Genie's Curse to the target. curse will randomize the transformation, while the other curses will transform you into the race specified. geniefy will instantly turn anyone into a full genie. If you are geniefied for an extended period of time, the origins command will not restore your form. |
| barasel | Opens a window where you will see a preview of a “barafied” version of your orc. Clicking the mouse will change the preview’s appearance, and pressing the Enter key will apply a curse on your orc that transforms them into the bara preview. | |
| purify | Removes the Genie's Curse, but does not revert your orc's form. This also does not remove the Genie's tattoos received from a full curse. | |
| swap | swap orcA,orcB,duration,multiplier |
Attempts to perform a body swap on two orcs. duration controls how long the swap should take, while multiplier controls the speed. 1 is slow, while 100 is the fastest. It is possible to have an incomplete body swap if either the duration or multiplier are set too low. Special Arguments, such as @self and @selfinterest can be used in the place of orc names. |
| convert | convert orcA,orcB,duration,multiplier | Similar to swap, but changes orcB's body shape into 'orcAs bodyshape, without affecting orcA. |
| “Transformify” Commands | Human
Orc
Iguapi
Dwarf
Goblin
|
The “Transformify” commands morph your character’s appearance towards the race specified. The “Lite” versions won’t change your current beard or hairstyle. target – The name or Special Argument (@selfinterest, etc) for who will change. strength – This is the percentage of the transformation. A value of 1 will be barely noticeable, while a value of a 100 is a full transformation. duration – How long the transformation will take to complete. burstdelay – Determines if the transformation should be applied in bursts, or be a smooth transition. A value of 5 will apply a little bit every 5 seconds, while a value of 0 will have no delay at all. Warning: Ration your duration, and burstdelay appropriately or else the transformation will stop before it’s complete. |
Fusion commands
These commands are used to merge two orcs into one.
Fusions in Bonfire involve two entities called a "fusee" and a "host." The fusee is the orc who gets absorbed into the host's inventory. While absorbed, they will "disappear" from the current scene, and will be unavaiable as a target for further console commands.
The host will always be the target who calls a fusion command. They will remain in the scene, meaning that you target a fusion by using the host's name.
Often the current target will return null after a fusion command is used, and must be reset with another target command.
| Command | Usage | Effect |
|---|---|---|
| fuse | fuse orcA,orcB |
Fuses the two orcs specified. Special Arguments can be used in the place of the orc names. orcA becomes the host body for the fusion, while orcB’s essence is stored in their inventory. |
| fusenew | Instantly fuses the target with whomever they're looking at. | |
| fusenewquick | Similar to fusenew except size is applied instantly, rather than gradually | |
| forcefusion | The target orc will absorb whomever they're looking at. This will play an animation, and display dark tattoo markings. | |
| unfuse | Completely breaks up a fusion | |
| unfusenewbyname | unfusenewbyname orcName | Removes a specific orc from a fusion. |
Scroll commands
These commands are used in the creation of items called Scrolls. A Scroll works similarly to the batch command where they allow you to run a series of console commands with the press of a button. Scrolls are also reusable, effectively creating a shortcut for running the same commands over and over without having to type them all manually.
See Macros vs Scrolls for more details.
| Command | Usage | Effect |
|---|---|---|
| oscreate | oscreate scrollName | Creates a blank scroll in the target’s inventory and opens the scroll editor. |
| recstart | recstart scrollName |
[DEPRECATED] All console commands used after this will be saved and stored in a scroll. This has been succeeded by oscreate. |
| recstop |
[DEPRECATED] Stops recording console commands and stores the scroll within the target's inventory. This has been succeeded by oscreate. | |
| orcscrollexec | orcscrollexec scrollName | If present, casts a recorded scroll within the target's inventory. |
| scrollcopy | scrollcopy orcA,orcB,scrollName | Copies a scroll scrollName from orcA's inventory to orcB's inventory. Special Arguments can be used in the place of names. |
| orcscrolldel | orcscrolldel scrollName | Deletes a scroll from the target’s inventory |
Macro commands
These commands are used in the creation and execution of macros.
Macros are highly advanced Scrolls that can invoke Custom Actions found within the Dialogue Editor, such as sex and facial expressions. They also get access to Execution Conditions, which allow you to execute commands only when certain conditions are met. Lastly Macros can be automated to run repeatedly, using the timedmacro command.
Macros used online will not transmit to the players (meaning, the player using the macro will see their effects, while other players won't see anything happen)
See Macros vs Scrolls for more details.
| Command | Usage | Effect |
|---|---|---|
| sedit |
Opens the macro editor, allowing you to write logical macros. Macros are saved in the %appdata%\Prasetto\Bonfire\Mods\rawdialogues folder of your Bonfire directory | |
| macroinject | macroinject macroFileNameormacroinject folder/macroFileName | Adds a macro scroll item to the target, which can be executed using commands like macroexec.Macros can be injected from subdirectories as well. |
| macroexec | macroexec macroName | If present, executes a macro macroName from the target's inventory |
| timedmacro | timedmacro macroName |
To be used with invokedelay.Together, these commands run macroName every second for a set duration. Example: batch target @self;invokedelay 10;timedmacro macroName Will execute macroName every second, for 10 seconds. batch target @self;invokedelay Infinity;timedmacro macroName Will execute macroName every second, forever, until it gets stopped by another process. |
| timedmacrostop | timedmacrostop macroname | This will stop execution of any macro with the given macroname. The macro itself will still exist in the inventory of the character that was running it. |
| timedmacropurge | timedmacropurge macroname | Same as timedmacrostop, but this one will also remove the macro from the target's inventory altogether. |
| macrocopy | macrocopy orcA,orcB,macroName | Copies a macro macroName from orcAs inventory to orcBs inventory. This command does not function during online play. |
| macrohide | macrohide macroName | Hides the selected macro in the target's inventory, but commands like macroexec and timedmacro can still access it. |
| macroshow | macroshow macroName | Un-hides a macro if it was hidden with macrohide |
Lua commands
These commands enable the injection, execution, and automation of Lua scripts within a target's inventory. For more information, visit the Lua scripting page.
A full list of Lua functions can be found on the Lua API Reference.
| Command | Usage | Effect |
|---|---|---|
| oluainj |
oluainj luaScriptName or oluainj folderName/luaScriptName |
Injects a Lua script within the console target's inventory. Scripts must be stored within the Lua sub-folder in your Bonfire directory, located at: %appdata%/Prasetto/Bonfire/Mods/lua Scripts can also be loaded from subdirectories within the Lua folder, by separating the folder names with a ( / ). Do note, however, that when the script gets injected, it will include the directory name.For example: oluainj Orc_Follower/OF-API Will inject the OF-API.lua file under the name of “Orc_Follower/OF-API,” and any execution commands must include the directory name: oluacf Orc_Follower/OF-API,follow Warning: If the Lua script contains errors, the console will print the following message:"Error reading lua file: Incorrect format and/or syntax."This occurs when your script contains syntax errors, or is trying to manipulate a property within Bonfire that doesn't exist, or is marked as "read-only." |
| oluacf |
oluacf luaScriptName,functionName or oluacf directoryName/luaScriptName,functionName |
If the target contains luaScriptName within their inventory, it will execute functionName once, if it exists. |
| oluaiifr |
oluaiifr luaScriptName,functionName,duration or oluaiifr directoryName/luaScriptName,functionName,duration |
Causes a single function to iterate and execute repeatedly for a set duration. When the duration is exceeded the iteration will stop. Tip: Setting duration to "Infinity" will make the script run forever. |
| oluaria |
oluaria luaScriptName,functionName or oluaria directoryName/luaScriptName,functionName or oluaria |
Stops a function from iterating. Using oluaria with no parameters will stop all iterating scripts in the target's inventory. |
| oluarem |
oluarem luaScriptName or oluarem directoryName/luaScriptName |
Removes the Lua script from the target's inventory. This will also stop any related iterators. |
Asset Commands
These commands let you call assets from Bonfire's internal library and spawn them into the world as objects. Objects spawned during single player will disappear when changing scenes or reloading the game, while objects spawned online will persist while the server is active.
A working list of available assets can be found on the Assets page.
| Command | Usage | Effect |
|---|---|---|
| asset |
asset full/Path/To/Asset/File or asset newNameFromAssetNameSet |
Loads an asset from the game’s files into memory. This asset becomes the console target for other asset commands. If an asset instance has been saved and renamed with assetnameset, this command can target the instance using its new name. |
| assetnameset | assetnameset newAssetName | Saves a copy of the asset loaded as a new instance, and assigns a unique name.Next, the asset command can target this instance by using the new name as a parameter, rather than the full asset path. |
| assetpos | assetpos x,y,z,rotx,roty,rotz,local |
Spawns the instance loaded with asset at the desired coordinates, with the rotation specified. local can be “true” or “false.” This indicates whether this asset will spawn on the world’s global axis, or the asset’s local axis. If the asset is attached to an orc, setting local to “true” will spawn the object based on the orc’s local axis instead. |
| assetpos2 | assetpos2 x,y,z,rotx,roty,rotz,local | Translates or rotate the asset by the amount specified. For example, if y is 10, the asset will move up on the y-axis by 10 meters.If the asset hasn’t been spawned with assetpos yet, the coordinates will act as the asset's spawning position instead.. |
| assetrefposget | Stores the selected asset’s X, Y, and Z coordinates, for use with tp2refpos or assetrefposset | |
| assetrefrotget | Stores the selected assets rotation for use with rot2refrot or assetrefrotset | |
| assetrefposset | Spawns an asset at the currently saved coordinates (but not rotation) saved with the refpos or assetrefposget commands | |
| assetrefrotset | Rotates the selected asset to match the rotation saved with refrot or assetrefrotget commands | |
| Attachment commands |
|
Attaches an asset to the console target The local parameter in the assetpos command will place the asset relative to the target’s location. |
| assetscalereset | When an asset is attached to an orc, this will reset its scale relative to the orc, enabling it to grow and shrink | |
| assetclear |
assetclear full/Path/To/Asset/File or assetclear newNameFromAssetNameSet |
Deletes the asset instance specified. |
Dialogue commands
These commands can create and inject new dialogue trees into NPCs.
| Command | Usage | Effect |
|---|---|---|
| dedit | Opens the dialogue editor, allowing you to write custom dialogue trees without creating an NPC for them.Dialogues are stored in the RawDialogues subfolder, located in the %appdata%/Prasetto/Bonfire/Mods/rawdialogues directory | |
| modspeech | modspeech rawDialogueName | Injects a raw dialogue into the target character’s inventory and sets it as their default speech. Dialogues can be loaded from subdirectories within the RawDialogues folder as well. |
| diag2override | diag2override dialogueName | Selects a previously injected dialogue as the character’s new speech |
| showdiagindex | Shows the dialogue index number for debugging purposes | |
| omen | omen rawDialogueName | Will read a raw dialogue of the given rawDialogueName from your RawDialogues folder, and bring it into the game as a monologue, featuring the current player character as the 1st voice (Person 1) Dialogues can be loaded from subdirectories within the RawDialogues folder as well. |
| omenpos | omenpos x,y,z,rX,rY,rZ,local |
Controls the camera’s position during the monologue.· x,y,z – The camera’s position· rX,rY,rZ – The camera’s rotation· local – If set to “true” or 1, the omen will move to the coordinates saved using refpos, and use the previously entered position and rotation as an offset. Otherwise, the camera will move to the coordinates specified. Use this so that the omen dialogue camera is placed at a coherent position once the monologue starts, otherwise you will get awkward camera shots as the speech develops. |
Misc. commands
These are commands that don't quite fit into any category.
| Command | Usage | Effect |
|---|---|---|
| beacon | beacon name | Find a patron totem of a specific name. Name is your username on Patreon. An item will be added to your inventory, which you can right click to get a hint of how far you are from the desired totem, if it exists. |
| hawkvis |
Will detach the camera and turn it into free-floating view, that can be controlled with the mouse and WASD keys. Hold down Ctrl if you need to use the mouse while hawk vision is enabled. Esc key immediately returns the camera to the player character. This command will drain your mana while in use. | |
| hawkspawn | While hawkvis is in use, this will warp the character to the same coordinates as the free-flying camera. | |
| fadecolor | fadecolor r,g,b,a,r2,g2,b2,a2,time |
Creates a “Fade-to-color” effect, where the screen will fade to the color specified. r,g,b,a is the starting color and transparency. All values are between 0 and 255. r2,g2,b2,a2 is the ending color and transparency. All values are between 0 and 255. time refers to the delay before the fade out effect happens. Time must be at least 1 second. |
| nudgebwd | Moves the target one meter backward. | |
| nudgefwd | Moves the target one meter forward. | |
| turnback | Turns the target 180º around | |
| walkto | walkto target,duration,speed,allowInterruptionBool |
Start walking towards the NPC, player, or Special Argument named as the target. duration – indicates how long the orc will walk for. Even if the orc reaches their destination before the duration expires, walkto will continue to run in the background speed – this is the orc’s walking (or running) speed. allowInterruptionBool – this is a boolean parameter that accepts "true," "false," 1 as "true," or 0 as "false." If true, the affected Orc cannot be spoken to while they are walking. If the orc reaches their destination before the duration expires, and they cannot be interrupted, the orc cannot be spoken to until the end of the duration. |
| animatorreset | Resets the character’s animator out of a sex pose. This is useful in NPC dialogue when you want your characters to have sex multiple times within the span of a single branch of conversation. | |
| setchrscene | setchrscene sceneName,x,y,z |
If the target is an NPC, it will set them up to spawn on a different scene at the given coordinates. This is useful when creating NPCs that need to change scenes during their "dating" progress Scene names follow the same naming convention as those seen in the NPC editor (Outback1, Inn1, Sea1, etc). It will be saved as a hidden item flag on their inventory, and further executions of this command will overwrite any previous scene flags. See Areas for the full list of possible spawn locations. Note: This will only work on “persistent” NPCs that don’t get cleared out when the scene reloads, such as lore or custom NPCs. Spawned orcs and fantasies get erased when the scene changes. |
| campos | campos x,y,z,rotX,rotY,rotZ,zoom,orthographic,localized |
This command will detach the camera from the current user (usually the player) and place it at the given position and rotation coordinates, with a given zoom/lens (in field of view angles. Normal field would be 60 degrees). Orthographic is a boolean (true or false) and makes the camera either perspective-based or orthographic. Localized is a boolean (true or false) and, if true, will apply the given coordinates relative to the current console target, instead of absolute world coordinates. Note: this command detaches the camera and will not follow the player anymore. Use the camttach command in order to re-attach the camera to the current console target.If campos is used without any parameters, it will output a line to the console containing the current camera coordinates, which you can copy and paste into your scripts and dialogues. Useful for creating custom vistas in conjunction with hawkvis |
| camttach | Attaches the camera to the current console target, and makes it follow them around as it would the player. |
Special Arguments/Logic
Special Arguments can be given in certain situations for the above functions or to data flags
| Category | Argument | Description |
|---|---|---|
|
Targeting Arguments These parameters can be used in the place of orc names when setting the console target, or as parameters in Scrolls, Macros, Lua Scripts or Dialogues. |
@playername |
A placeholder that returns the player’s name. Warning: Take care not to use this online, as everyone is the “player” from their respective screen. This can create inconsistent results when commands are used. |
| @playerinterest |
Returns the name of the orc the player is currently interacting with, even if they are just looking at each other. Warning: Take care not to use this online, as everyone is the “player” from their respective screen. This can create inconsistent results when commands are used. | |
| @self |
A placeholder that return a different target in a variety of situations:
| |
| @selfinterest | Similar to @playerinterest, but applied to @self. @selfinterest is considered safe to use online. | |
|
Math Arguments Used by Data Flags to perform mathematical operations on their stored value. These are used within NPC Dialogues and Macros. Since Lua already contains built-in features for mathematical operations, these will not work with the orc.setitemflag() function. |
@math +number | Increments flag value by number |
| @math -number | Decrements flag value by number | |
| @math *number | Multiplies flag value by number | |
| @math /number | Divides flag value by number | |
| @math ^number | Raises a flags value to the power of number | |
| @randint lowest,highest | Returns a random integer value between lowest and highest | |
| @randfloat lowest,highest | Returns a random float value between lowest and highest | |
|
Comparison Operators Returns either true or false depending on how a Data Flag’s stored value compares to another number. These are used to check Execution Conditions within Macros and NPC Dialogues.They are also work with Lua’s orc.ifitemflag() function. |
@>> number | Returns true if the flag value is greater than number |
| @<< number | Returns true if the flag value is lesser than number | |
| @>= number | Returns true if the flag value is greater than or equal to number | |
| @<= number | Returns true if the flag value is less than or equal to number | |
| @!= number | Returns true if the flag value is not equal to number. | |
| @any | Returns true if the data flag exists, regardless of actual value. |
Dangerous commands
Use the following at your own peril. They circumvent normal game logic for a specific effect. They may break the game, user experience, or may be broken on upgrade. These commands are considered volatile.
Warning: All commands are case-sensitive! Most will either not work, or display incorrectly unless they’re entered exactly as they appear here.
Buffs
| ||
| Grants the target a buff that applies in increments of 1 for a set duration. Many of these buffs are viewable in the dialogue or macro editors Applying the same buff multiple times will increase its strength. You can achieve this with the batch command. Note that when buffs are used online, they will only appear for players who were around at the time the buff was cast. Any new players who join after the buff was used will not see its effects. However, this can be bypassed by calling the orc.consolecommand() function within Lua’s Chunk Space, which causes code to execute once automatically when an orc loads into the scene.buff grants a buff for a set durationbuffperma will create a non-expiring buff.buffclearall will stop all running buffs on the target. | ||
| · AutoGenieCorruptiono Enables normal corruption applied by curse to progress towards full genie corruption· BallSizeIncrease· BallSizeDecrease· BodyFatIncrease· BodyFatDecrease· CurseImmunityo Makes the target immune to all forms of the Genie's Curse· Disappearo Using the buff command controls how long it takes for you to actually disappear.o Using buffperma will make you reappear.· Goblinize_BigBaraHuman· Goblinize_BigOrc· Goblinize_Dwarf· Goblinize_Goblin· Goblinize_Invert· Goblinize_Swap· Goblinize_SwapHeight | · Goblinize_SwapMuscle· HardNCumo Gives your character an erection, and makes them cum at the end of durationo If used with buffperma, your character will only cum when something causes the buff to end.· HeightIncrease· HeightDecrease· HyperPenisLength· JawIncrease· JawDecrease· JumpBoosto Increases jump height· MuscleIncrease· MuscleDecrease· PenisBulgero Makes your penis twitch and get hard· PenisGirthIncrease· PenisGirthDecrease | · PenisLengthIncrease· PenisLengthDecrease· PenisShowerIncrease· PenisShowerDecrease· PinkTripo Makes you high.· Restoratoro Slowly restores your character's natural shape.· Scruffo Adds body hair· SpellImmunityo Target will be immune to transforming buffs and commands· Sweat· SweatLesser· SweatMinimum· Waxo Removes body hair |
Callbacks
| orccallback callback |
| Calls various internal game functions and effects.These will clear out when the scene loads, but can be made “permanent” when called within the Chunk Space of a Lua Script. |
| galaxyParticlesGives your orc a smoke effect that normally appears during the fusion cutscene.ghosteffectonAdds a glowing blue effect, as seen on KultghosteffectoffRemoves the glowing effect added via the command above.greenGlowSimpleAdds the glowing effect seen during fusion sequences.greenGlowSimpleRemoveRemoves above glowing effect.mugshotoffTurns of dialogue mugshot for this character.mugshotonTurns on dialogue mugshots for this character (default setting)stripRemoves all of the target's clothing.sex2diagUse this command right after a sex interaction is finished when you need to continue the character's speech as normal dialogue (otherwise, continuing dialogue will result in the characters retaining the animation from the sex scene)voidCameraOnTurns on the “black camera” seen during orgasm and fusionvoidCameraOffTurns off the "black camera" seen during orgasm and fusion |
Overlays
| · overlay overlayName |
| Adds a special effect on the target.These will clear out when the scene loads, but can be made “permanent” when called within the Chunk Space of a Lua Script. |
| Tendrils1Makes the genie's curse tendrils appear over the target.HeadWear_GenieRubee1Gives the target Eves' runeHeadWear_GenieRubee2Gives the target Levi's rune |
Animations
| The forceanim command makes the target play a specific gesture or idle animation.This command is fairly complex, as not all animation calls follow the exact same formatting, and several are divided into separate categories. When using an animation, pay close attention to the category it falls under to understand the correct format.Note: For Armature animations, a pipe character ( | ) separates the category and the animation. There is no space between any of the keywords. | |||
| General:forceanim animation | Idle:forceanim Idle animation | Gesture:forceanim Gesture animation | Armature:forceanim Armature|animation |
| · Dance1· Dance2· Floor.Lay1· Floor.Lay2· Floor.Lay3· Meditation | · SmokePipe1 | · Flex1· Glee1· Shrug1· Tribal Dance 1 | · Faint 1· OrcSalute· OrcSalute2· Wave |
CBT - Custom Bone Transforms
| · cbt bonename,scale,childbool· cbtrem | ||
| cbt scales a specific body part past the normal limit, at the cost of mana. These changes vanish when the profile loads, but can be made “permanent” when placed into the Chunk Space of a Lua Scriptbonename – The name of the bone to be scaled (case-sensitive)scale – Multiplier between 0 and 1.5, where a value of 1 is the normal scale. Certain bones cannot be scaled under 1.childbool – decides whether the scale will be isolated to the bonename specified, or if the scale should affect additional bones linked underneath (called the children). A value of “true” makes the scale isolated. A value of “false” will scale the bonename and its children.cbtrem will clear out all modified bone scales | ||
| · alrmr· alrml· armr· arml· bicepl· bicepr· buttl· buttr· calfl· calfr | · clavl· clavr· footl· footr· gen· head· lowerjaw· neck1· neck2 | · pelvis· shoulderl· shoulderr· spine1· spine2· spine3· thighl· thighr |
