summaryrefslogtreecommitdiffstats
path: root/example/serverdata/scripts/status
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2010-12-30 00:38:15 +0100
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2010-12-30 00:38:15 +0100
commit12926decd2af8d0b34b632b2d0b55fc9aa134291 (patch)
treefc40af9ccc156b841ac2c654cf2a7e03d0c843ac /example/serverdata/scripts/status
parent64b832b8d3aac6dc55103f751fcae6b4dbb423ca (diff)
downloadmanaserv-12926decd2af8d0b34b632b2d0b55fc9aa134291.tar.gz
manaserv-12926decd2af8d0b34b632b2d0b55fc9aa134291.tar.xz
manaserv-12926decd2af8d0b34b632b2d0b55fc9aa134291.zip
Added new example files needed to start a more complete feature-showing map.
I also replaced certain files with newer version, just as the items.xml file. And I started to split test npcs from the tmwserv repository into reusable pieces. Big but trivial. Part of the Mana-Mantis issue: #231.
Diffstat (limited to 'example/serverdata/scripts/status')
-rw-r--r--example/serverdata/scripts/status/jump.lua53
-rw-r--r--example/serverdata/scripts/status/plague.lua28
2 files changed, 81 insertions, 0 deletions
diff --git a/example/serverdata/scripts/status/jump.lua b/example/serverdata/scripts/status/jump.lua
new file mode 100644
index 0000000..3410747
--- /dev/null
+++ b/example/serverdata/scripts/status/jump.lua
@@ -0,0 +1,53 @@
+-------------------------------------------------------------
+-- This status jumps from being to being --
+-- Thats all it does. --
+----------------------------------------------------------------------------------
+-- Copyright 2009 The Mana World Development Team --
+-- --
+-- This file is part of The Mana World. --
+-- --
+-- The Mana World is free software; you can redistribute it and/or modify it --
+-- under the terms of the GNU General Public License as published by the Free --
+-- Software Foundation; either version 2 of the License, or any later version. --
+----------------------------------------------------------------------------------
+
+
+function tick(target, ticknumber)
+ if (ticknumber % 10 == 0) then
+ mana.being_say(target, "I have the jumping bug!")
+ end
+
+ if (mana.being_get_status_time(target, 2) < 2000) then
+ mana.being_set_status_time(target, 2, 6000)
+ end
+
+ if (ticknumber % 50 ~= 0) then return end
+
+ local victims = mana.get_beings_in_circle(mana.posX(target), mana.posY(target), 64)
+ local count = #victims
+
+ if i == 0 then return end
+
+ local i
+ local remaining = 1000
+ local victim = nil
+
+ repeat
+ remaining = remaining - 1
+ i = math.random(count)
+ victim = victims[i]
+ if (victim == target) then
+ victim = nil
+ i = -1
+ else
+ i = mana.being_type(victim)
+ end
+ until (i == TYPE_MONSTER or i == TYPE_CHARACTER or remaining == 0)
+
+ if (victim == nil) then return end
+
+ mana.being_remove_status(target, 2)
+
+ mana.being_apply_status(victim, 2, 6000)
+ mana.being_say(victim, "Now I have the jumping bug")
+end
diff --git a/example/serverdata/scripts/status/plague.lua b/example/serverdata/scripts/status/plague.lua
new file mode 100644
index 0000000..5f98268
--- /dev/null
+++ b/example/serverdata/scripts/status/plague.lua
@@ -0,0 +1,28 @@
+-------------------------------------------------------------
+-- This when applied to a being will spread from one being --
+-- to another --
+-- Thats all it does. --
+----------------------------------------------------------------------------------
+-- Copyright 2009 The Mana World Development Team --
+-- --
+-- This file is part of The Mana World. --
+-- --
+-- The Mana World is free software; you can redistribute it and/or modify it --
+-- under the terms of the GNU General Public License as published by the Free --
+-- Software Foundation; either version 2 of the License, or any later version. --
+----------------------------------------------------------------------------------
+
+function tick(target, ticknumber)
+ if (ticknumber % 10 == 0) then
+ mana.being_say(target, "I have the plague! :( = " .. ticknumber)
+ end
+ local victims = mana.get_beings_in_circle(mana.posX(target), mana.posY(target), 64)
+ local i = 1
+ while (victims[i]) do
+ if (mana.being_has_status(victims[i], 1) == false) then
+ mana.being_apply_status(victims[i], 1, 6000)
+ mana.being_say(victims[i], "I don't feel so good")
+ end
+ i = i + 1
+ end
+end