summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWuzzy <almikes@aol.com>2016-08-11 18:23:30 +0200
committerWuzzy <almikes@aol.com>2016-08-11 18:23:30 +0200
commite1a72e82064b6ec25250407c1f878b2036b54b03 (patch)
tree1cf327ed329882a58a33f97b90ab9c45a0d9e02e
parentfb04c57da90e41bf6d87f4d2153f6c1153bb5ad8 (diff)
Add playereffects.has_effect_type
-rw-r--r--README.md9
-rw-r--r--init.lua10
2 files changed, 19 insertions, 0 deletions
diff --git a/README.md b/README.md
index 2e79e6c..54b18f2 100644
--- a/README.md
+++ b/README.md
@@ -192,6 +192,13 @@ Returns all active effects of a player.
##### Return value
A table of all `effect`s which belong to the player. If the player does not exist, this function returns an empty table.
+#### `playereffects.has_effect_type(playername, effect_type_id)`
+Returns `true` iff the provided player has an effect of the specified effect type, `false` otherwise.
+
+##### Parameters
+* `playername`: Name of the player to check the existance of the effect type for
+* `effect_type_id`: Identifier of the effect type.
+
## Examples
This mod comes with extensive examples. The examples are disabled by default. Edit `settings.lua` to enable the examples. See `examples.lua` to find out how they are programmed. The examples are only for demonstration purposes. They are not intended to be used in an actual game.
@@ -216,3 +223,5 @@ These commands apply (or try to) apply an effect to you. You will get a response
#### Testing
* `stresstest [number]`: Applies `number` dummy effects which don’t do anything to you. Iff omitted, `number` is assumed to be 100. This command is there to test the performance of this mod for absurdly large effect numbers.
+
+
diff --git a/init.lua b/init.lua
index c97216e..d62d239 100644
--- a/init.lua
+++ b/init.lua
@@ -297,6 +297,16 @@ function playereffects.get_player_effects(playername)
end
end
+function playereffects.has_effect_type(playername, effect_type_id)
+ local pe = playereffects.get_player_effects(playername)
+ for i=1,#pe do
+ if pe[i].effect_type_id == effect_type_id then
+ return true
+ end
+ end
+ return false
+end
+
--[=[ Saving all data to file ]=]
function playereffects.save_to_file()
local save_time = os.time()