1
0
mirror of git://repo.or.cz/minetest_mana.git synced 2025-06-30 14:10:21 +02:00

Change the add and subtract functions, add new

This commit is contained in:
Wuzzy
2015-02-08 01:44:23 +01:00
parent ca87abd37b
commit d21c370980
2 changed files with 81 additions and 13 deletions

37
API.md
View File

@ -27,7 +27,7 @@ recommended.
## Functions
Of not specified otherwise, all functions return `nil`.
`playername` always refers to the name of a player, as string.
`value` always refers to a number.
`value` always refers to a number and for most functions it must always be equal to or greater than 0.
### `mana.set(playername, value)`
@ -53,20 +53,39 @@ Returns the current maximum mana of the specified player as number.
### `mana.add(playername, value)`
Adds the specified amount of mana to the player, but it will be capped
at the maximum.
Adds the specified non-negative amount of mana to the player, but only
if the sum would not be greater than the maximum,
#### Return value
* `true` on success, all mana has been added
* `false` on failure, no mana has been added
### `mana.subtract(playername, value)`
Subtracts the specified non-negative amount of mana from the player,
but only if the player has sufficient mana reservers.
#### Return value
* `true` on success, all mana has been subtracted
* `false` on failure, no mana has been subtraceed
### `mana.add_up_to(playername, value)`
Adds the specified non-negative amount of mana to the player, but it will
be capped at the maximum.
#### Return value
* `true, excess` on success, where `excess` is the amount of Mana which could not be added because it would have exceeded the maximum. `excess` equals `0` if all mana has been added
* `false` on failure (mana could not be added)
### `mana.subtract(playername, value)`
Subtracts the specified amount of mana from the player, but only
if the player has sufficient mana reservers.
### `mana.subtract_up_to(playername, value)`
Subtracts the specified non-negative amount of mana from the player,
but if the difference is smaller than 0, the mana will be set to 0.
#### Return value
* `true` on success, all mana has been subtracted
* `false` on failure, no mana has been subtraceed
* `true, missing` on success, where `missing` is the amount of Mana which could not be subtracted because it would have exceeded 0. `missing` equals `0` if all mana has been subtracted
* `false` on failure (mana could not be subtracted)