2023-08-01 19:50:29 +02:00

264 lines
10 KiB
Plaintext

Lugaru Developer Tools
======================
Activation
----------
There are two ways to activate developer tools:
- Temporary: Pass the --devtools or -d option to the executable
- Persistent: Add the following to your config.txt file:
Devtools:
1
The config.txt file can be found in the following locations:
- On Linux: ~/.config/lugaru/config.txt
- On Mac: ~/Library/Application Support/Lugaru/config.txt
- On Windows: C:/Users/yourusername/AppData/Roaming/Lugaru/config.txt
Key bindings
------------
Note: dev keys must be pressed as if on a QWERTY keyboard.
General
~~~~~~~
~ = console (see "Console commands" section)
alt+m = toggle editor mode (see "Map editor" section)
alt+k = restart challenge
shift+k = skip challenge
alt+h = give 200000 health and reset damage
alt+j = toggle snow/grass/desert environment
alt+c = toggle camera mode
alt+v = toggle freeze
alt+b = toggle slow motion
alt+n = ragdoll
alt+x = change weapon of nearby player [mod: ctrl]
alt+u = change yaw (rotation around Z axis) [mod: ctrl]
alt+f = put nearby player on fire [mod: ctrl]
alt+t = change player skin [mod: ctrl]
alt+shift+t = change player type (rabbit/wolf) [mod: ctrl]
alt+i = explode nearby head
alt+shift+i = explode nearby player
* Where noted, the ctrl modifier applies the change to the main player,
otherwise to the nearest player.
Map editor (alt+m)
~~~~~~~~~~~~~~~~~~
o = place object
p = place player
delete = delete closest object
shift+delete = delete closest player
shift+left/right = change type of next object
up/down = change size of next object
left/right = change yaw (rotation around Z axis) of next object
ctrl+up/down = change pitch (tilt) of next object
shift+ctrl+up/down = change map radius
shift+p = place waypoint
ctrl+p = make/connect pathfind waypoint
comma/period = select prev/next pathfind waypoints
shift+comma = delete pathfind waypoint
Console commands
----------------
Mapping
~~~~~~~
map (string) - loads the specified map.
The string corresponds to the filename of a map in the Maps folder, located
in Lugaru's Data folder.
save (string) - saves the state of the current map.
The string corresponds to the filename that the map will be saved under in
the Maps folder, located in Lugaru's Data folder. Caution: this command
will overwrite other maps with the same name without prompting you.
Character attributes
~~~~~~~~~~~~~~~~~~~~
wolfie - sets the player to a wolf. You gain all of the speed, strength,
durability, and attacks of a wolf.
funnybunny - sets the player to a rabbit.
size (float) - changes the overall size of your character.
The value is based on 1, that is, 1.5 is 50% larger.
proportion (float) (float) (float) (float) - changes the proportions of your
character. The four floating point values correspond to the proportions of
the character's head, body, arm and leg respectively. Each value is based
on 1, that is, 1.5 is 50% larger.
speed (float) - sets your running speed.
Each value is based on 1, that is, 1.5 is 50% faster.
strength (float) - sets your attack strength.
Each value is based on 1; that is, 1.5 is 50% stronger.
power (float) - sets the amount of health you have.
Each value is based on 1; that is, 1.5 is 50% healthier.
protection (float) (float) (float) - sets your armor strength in terms of blunt
resistance. Each floating point corresponds to the strength of your high,
medium, or low resistance, respectively. Each value is based on 1; that is,
1.5 is 50% more durable.
armor (float) (float) (float) - sets your armor strength in terms of sharp
attacks. Each floating point corresponds to the strength of your high,
medium, or low resistance, respectively. Each value is based on 1; that is,
1.5 is 50% more durable.
immobile - makes character immobile.
May gain some FPS in dialogue levels.
mobile - cancels 'immobile'.
allimmobile - does as name suggests.
May be used when you are done with a dialogue level.
armorreset, protectionreset - reset the value of the armor and protection
settings for your character.
armornear, protectionnear, proportionnear, sizenear - apply the changes to the
character nearest to you instead of you.
cellophane - makes everyone invisible, except for the shadows.
Character appearance
~~~~~~~~~~~~~~~~~~~~
lizardwolf, darko - changes your skin to the respective easter egg texture.
Normal skins are available via the ctrl+alt+t hotkey.
tintr (float) - sets the redness of your clothes.
This only affects the color of future clothes, so you must set it in
advance. It must be a value from 0 to 1.
tintg (float) - sets the greenness of your clothes.
This only affects the color of future clothes, so you must set it in
advance. It must be a value from 0 to 1.
tintb (float) - sets the blueness of your clothes.
This only affects the color of future clothes, so you must set it in
advance. It must be a value from 0 to 1.
tint (float) (float) (float) - sets the color of your clothes.
This only affects the color of future clothes, so you must set it in
advance. Each floating point corresponds to red, green, and blue,
respectively. Each value must be a number from 0 to 1.
noclothes - removes all of your clothes.
noclothesnear - same, applied to the character nearest to you.
clothes (string) - adds clothes to your character.
The string can be one of the following (case sensitive):
Shirt
LongSleeve
EarWrap
FootWrap
Pants
FancyPants
Scar
HeadBand
LeatherWristLeft
LeatherWristRight
LeatherArmor
LeatherPants
Actually, these names come from the files in your Data/Lugaru/Textures
folder of type ".png". You may add any png file in that folder and use it
with the clothes command. See Decal Editing to create such files.
clothesnear - does the same for the character nearest to you.
clotheslist - lists the clothes of the main player (and their tint).
clotheslistnear - does the same for the character nearest to you.
Skybox
~~~~~~
skybox - toggles skybox on and off.
skytint (float) (float) (float) - sets the color tint of the sky.
Each floating point value corresponds to a red, green, or blue value,
respectively, between 0 and 1.
skylight (float) (float) (float) - sets the color of the lighting of the sky.
Each floating point value corresponds to a red, green, or blue value,
respectively, between 0 and 1.
Miscellaneous map
~~~~~~~~~~~~~~~~~
tutorial (boolean) - toggles tutorial mode on/off for the current map.
hostile (boolean) - toggles whether or not characters on the map are hostile.
type (string) - sets the initial state of the next character.
The possible values are listed below:
active
sitting
sitting wall
sleeping
dead1
dead2
dead3
dead4
path keepwalking/pause - determines whether enemies walk through the next
pathpoint or pause briefly.
Map objectives
~~~~~~~~~~~~~~
mapkilleveryone - makes objective of the map to kill everyone.
mapgosomewhere - makes objective of the map to go somewhere.
mapkillsomeone - makes objective of the map to kill a specific enemy.
mapkillmost - makes objective of the map to kill everyone but one.
Hotspots
~~~~~~~~
hs (size) (type) (string) - creates a hotspot underneath you.
The three arguments correspond to the size, type, and text of the hotspot,
respectively. See below for the explanations of each type integer:
type 0 = static, display text
type 1-10 = attached to player 1-10, display text
type 11-20 = attached to player 1-10, must kill to win
type -1 = win if approached
dhs - deletes the last hotspot.
An example is "hs 15.0 0 sdf". Note that hotspots are very buggy (TODO:
review once bugs are fixed), especially those not of type 0. Quitting and
restarting Lugaru, then creating a hotspot in a simple map first, can help.
You may have to fiddle around with this. Some strings may be randomly
rejected, but if you know how to hex-edit, you can change them directly in
the map file (make sure to change the byte before the string to the number
of its characters).
Dialogs
~~~~~~~
dialog (int) (string) - loads the "string.txt" dialog with type "int" and enter
directing mode: Fly around, press numpad 1-10 to change the players' head
target, press 1-10 to define who is saying the current line and move on to
the next line. The type argument can be one of:
0-9 = player index, activates when "attacking" them
10+ = "special", activates automatically when in range; player ID is
the module of the type (e.g. type 18 would be special, player 8)
40-49 = some other thing, someone really needs to cleanup this logic :)
fixdialog (int) (string) - replaces the dialog of given index by the one
described in the "string.txt" file.
ddialog (int) - deletes given dialog (if no argument or -1, deletes the last
dialog). Does not work when actually playing a dialog.
fixtype (int) (int) - fixes the type (2nd arg) of the given dialog (1st arg).
play (int) - plays given dialog.
fixrotation - when playing a dialog, sets the in-dialog yaw of the current
participant to its out-of-dialog yaw value.
Graphics
~~~~~~~~
viewdistance (float) - sets the far clipping plane.
In other words, it controls how far you can see before the fog obscures it.
Its value is based on 1, that is, 1.5 is 50% farther.
fadestart (float) - sets what fraction of the viewdistance an object must pass
to begin fading. In other words, it controls how far an object has to be
before it starts becoming transparent. Its value is based on 1, that is,
1.5 is 50% farther.
Miscellaneous
~~~~~~~~~~~~~
quit - quits Lugaru.
slomo (float) - toggles slow motion on or off.
If it's turning on, the game speed is controlled by the floating point
value. The value is based on 1, that is, 0.5 is 50% slower than normal game
speed.
slofreq (integer) - sets the slow motion sound frequency.
The following commands have unknown effects: metal, sizemin, fixrotation,
fixtype.