summaryrefslogtreecommitdiff
path: root/example/scripts/status
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-02-25 21:18:46 +0100
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-02-25 22:14:44 +0100
commit3629aebb96959afc56cf04d1f2fc4a9f03e94183 (patch)
tree888f44e806a98b050cad38727b4afb0b73e75824 /example/scripts/status
parentef18650cacc0ce7ef71885bf6d23e1adeb4d7e19 (diff)
downloadmanaserv-3629aebb96959afc56cf04d1f2fc4a9f03e94183.tar.gz
manaserv-3629aebb96959afc56cf04d1f2fc4a9f03e94183.tar.bz2
manaserv-3629aebb96959afc56cf04d1f2fc4a9f03e94183.tar.xz
manaserv-3629aebb96959afc56cf04d1f2fc4a9f03e94183.zip
Merged the example client and server data
It's easier to just talk about world data and to modify it as a whole. If there is really a need to separate it, a project can still choose to do that (and in whatever suitable way). There is no need to enforce this separation or to do it in our example. Reviewed-by: Erik Schilling
Diffstat (limited to 'example/scripts/status')
-rw-r--r--example/scripts/status/jump.lua53
-rw-r--r--example/scripts/status/plague.lua28
2 files changed, 81 insertions, 0 deletions
diff --git a/example/scripts/status/jump.lua b/example/scripts/status/jump.lua
new file mode 100644
index 00000000..3410747a
--- /dev/null
+++ b/example/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/scripts/status/plague.lua b/example/scripts/status/plague.lua
new file mode 100644
index 00000000..5f98268e
--- /dev/null
+++ b/example/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