Delete 'mods/gunslinger/README.md'
This commit is contained in:
parent
66333d512f
commit
d51087bfd7
|
@ -1,73 +0,0 @@
|
|||
# Gunslinger
|
||||
|
||||
Gunslinger is a ranged weapons API that allows mods to add realistic and
|
||||
enjoyable guns to Minetest. A variety of different guns are provided with the
|
||||
mod, and can be disabled if required (see [Settings](#settings)).
|
||||
|
||||
## License
|
||||
|
||||
- **Code**: MIT
|
||||
- **Media**: CC0
|
||||
|
||||
## Settings
|
||||
|
||||
- `gunslinger.lite` [`bool`] (defaults to `false`)
|
||||
- Toggles [lite mode](#lite-mode)
|
||||
- `gunslinger.disable_builtin` [`bool`] (defaults to `false`)
|
||||
- Disables builtin guns - only the API will be provided.
|
||||
- Useful if mods/games provide custom guns.
|
||||
|
||||
## Architecture
|
||||
|
||||
### Type inheritance
|
||||
|
||||
Gunslinger makes use of gun _types_ in order to ease registration of similar
|
||||
guns. A `type` is made up of a name and a table of default values to be applied
|
||||
to all guns registered with that type. Types are optional, and can also be
|
||||
omitted altogether. Guns are allowed to override their type defaults, for
|
||||
maximum customizability.
|
||||
|
||||
### Ammo
|
||||
|
||||
Each type/gun needs to be associated with ammo (registered using
|
||||
`gunslinger.register_ammo`). If a weapon definition doesn't explicitly define the
|
||||
appropriate field, it will be automatically linked with the default ammo provided
|
||||
by Gunslinger.
|
||||
|
||||
### Projectile Engine
|
||||
|
||||
Gunslinger uses the term "Projectile Engine" to refer to the code that handles
|
||||
the tracking and control of fired projectiles. Once a projectile hits a target,
|
||||
the damage to the target is equivalent to:
|
||||
|
||||
`base_dmg * def.dmg_mult` (base damage * gun's damage multiplier)
|
||||
|
||||
TODO: The default damage handling would be overridable by using on_hit callbacks.
|
||||
If a gun specifies an `on_hit` callback, the default damage code would be
|
||||
ignored.
|
||||
|
||||
#### Progressive Raycast
|
||||
|
||||
Progressive Raycast is the default projectile engine of Gunslinger. It technique
|
||||
works by simulating the movement of a projectile along its trajectory every
|
||||
server step. Once a target is hit by a projectile, the default damage code is run.
|
||||
|
||||
### Automatic guns
|
||||
|
||||
`gunslinger` supports automatic guns out of the box, while not causing excessive
|
||||
lag. Nevertheless, disabling automatic guns (by enabling [lite mode](###Lite-mode))
|
||||
is recommended on large public servers as it would still cause quite a bit of
|
||||
lag, in spite of this optimization.
|
||||
|
||||
### Lite mode
|
||||
|
||||
Enabling lite mode will disable the non-essential features which are potentially
|
||||
lag-inducing. Recommended for large public servers.
|
||||
|
||||
Note: As of now, enabling lite mode will only disable automatic guns, but there
|
||||
are plans to allow lite mode to disable much more.
|
||||
|
||||
## API Documentation
|
||||
|
||||
See [API.md](API.md) for the complete gunslinger API documentation, including
|
||||
the main API methods, internal and helper methods, data structures, etc.
|
Loading…
Reference in New Issue