summaryrefslogtreecommitdiffstats
path: root/example
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-02-26 22:06:10 +0100
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-03-02 18:12:07 +0100
commit34ac0d64e23f2b2d3981dbb0ea72157f334805dd (patch)
tree114b1f7a65956c097f7a59078292c9fa29c6451f /example
parente896d0b0125b48e12d43d99ace4498e56d968d50 (diff)
downloadmanaserv-34ac0d64e23f2b2d3981dbb0ea72157f334805dd.tar.gz
manaserv-34ac0d64e23f2b2d3981dbb0ea72157f334805dd.tar.xz
manaserv-34ac0d64e23f2b2d3981dbb0ea72157f334805dd.zip
Merged all the different Lua states into one
No more Lua state for each status effect, monster, item effect or map. All scripts are loaded into the same state. This should be more efficient overall and make it easier to implement dynamic reloading of the scripts in the future. Now, this introduces the problem of name collisions between different Lua scripts. For now this is solved by using more specific function names, like 'tick_plague' and 'tick_jump' rather than just 'tick'. The plan is however to get rid of these globals, and register these callbacks from the script, so that they can be local functions without the danger of colliding with other scripts. Reviewed-by: Erik Schilling Reviewed-by: Yohann Ferreira
Diffstat (limited to 'example')
-rw-r--r--example/items.xml2
-rw-r--r--example/monsters.xml2
-rw-r--r--example/scripts/items/candy.lua2
-rw-r--r--example/scripts/monster/testmonster.lua4
-rw-r--r--example/scripts/status/jump.lua2
-rw-r--r--example/scripts/status/plague.lua2
-rw-r--r--example/status-effects.xml2
7 files changed, 9 insertions, 7 deletions
diff --git a/example/items.xml b/example/items.xml
index 18e3889..730e572 100644
--- a/example/items.xml
+++ b/example/items.xml
@@ -68,7 +68,7 @@
max-per-slot="30"
value="15">
<effect trigger="activation">
- <script src="candy.lua" function="use" />
+ <script src="candy.lua" function="use_candy" />
<consumes />
</effect>
</item>
diff --git a/example/monsters.xml b/example/monsters.xml
index ba882cc..f036191 100644
--- a/example/monsters.xml
+++ b/example/monsters.xml
@@ -78,7 +78,7 @@ exp<TAG>: Tells how much experience point a monster is giving up
damage-factor="1"
range="32"
animation="attack"
- script-function="strike"
+ script-function="on_maggot_strike"
/>
<script>testmonster.lua</script> <!-- only Proof of Concept-->
</monster>
diff --git a/example/scripts/items/candy.lua b/example/scripts/items/candy.lua
index a740ce6..5ab7c9a 100644
--- a/example/scripts/items/candy.lua
+++ b/example/scripts/items/candy.lua
@@ -12,6 +12,6 @@
-- 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 use(user)
+function use_candy(user)
mana.being_say(user, "*munch*munch*munch*")
end
diff --git a/example/scripts/monster/testmonster.lua b/example/scripts/monster/testmonster.lua
index 9938943..fa094a8 100644
--- a/example/scripts/monster/testmonster.lua
+++ b/example/scripts/monster/testmonster.lua
@@ -8,14 +8,14 @@
-- Software Foundation; either version 2 of the License, or any later version. --
----------------------------------------------------------------------------------
-function update(mob)
+function update_monster(mob)
local r = math.random(0, 200);
if r == 0 then
mana.being_say(mob, "Roar! I am a boss")
end
end
-function strike(mob, victim, hit)
+function on_maggot_strike(mob, victim, hit)
if hit > 0 then
mana.being_say(mob, "Take this! "..hit.." damage!")
mana.being_say(victim, "Oh Noez!")
diff --git a/example/scripts/status/jump.lua b/example/scripts/status/jump.lua
index 3410747..10ad928 100644
--- a/example/scripts/status/jump.lua
+++ b/example/scripts/status/jump.lua
@@ -12,7 +12,7 @@
----------------------------------------------------------------------------------
-function tick(target, ticknumber)
+function tick_jump(target, ticknumber)
if (ticknumber % 10 == 0) then
mana.being_say(target, "I have the jumping bug!")
end
diff --git a/example/scripts/status/plague.lua b/example/scripts/status/plague.lua
index 5f98268..5f33eb8 100644
--- a/example/scripts/status/plague.lua
+++ b/example/scripts/status/plague.lua
@@ -12,7 +12,7 @@
-- Software Foundation; either version 2 of the License, or any later version. --
----------------------------------------------------------------------------------
-function tick(target, ticknumber)
+function tick_plague(target, ticknumber)
if (ticknumber % 10 == 0) then
mana.being_say(target, "I have the plague! :( = " .. ticknumber)
end
diff --git a/example/status-effects.xml b/example/status-effects.xml
index 7b613c4..fda9083 100644
--- a/example/status-effects.xml
+++ b/example/status-effects.xml
@@ -5,11 +5,13 @@
persistent-particle-effect="true"
start-particle="graphics/particles/green-bubbles.particle.xml"
script="plague.lua"
+ tick-function="tick_plague"
/>
<status-effect name="Jumping Status" id="2"
icon="icons/icon-feather.xml"
persistent-particle-effect="true"
start-particle="graphics/particles/magic.white.xml"
script="jump.lua"
+ tick-function="tick_jump"
/>
</status-effects>