diff options
author | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2012-02-25 21:18:46 +0100 |
---|---|---|
committer | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2012-02-25 22:14:44 +0100 |
commit | 3629aebb96959afc56cf04d1f2fc4a9f03e94183 (patch) | |
tree | 888f44e806a98b050cad38727b4afb0b73e75824 /example/scripts/status | |
parent | ef18650cacc0ce7ef71885bf6d23e1adeb4d7e19 (diff) | |
download | manaserv-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.lua | 53 | ||||
-rw-r--r-- | example/scripts/status/plague.lua | 28 |
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 |