blob: d28c290f783f3c194faa256c4d448a607cb13231 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
-------------------------------------------------------------
-- 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. --
----------------------------------------------------------------------------------
local function tick(target, ticknumber)
if (ticknumber % 10 == 0) then
target:say("I have the jumping bug!")
end
if (target:status_time(2) < 2000) then
target:set_status_time(2, 6000)
end
if (ticknumber % 50 ~= 0) then return end
local victims = get_beings_in_circle(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 = victim:type()
end
until (i == TYPE_MONSTER or i == TYPE_CHARACTER or remaining == 0)
if (victim == nil) then return end
target:remove_status(2)
victim:apply_status(2, 6000)
victim:say("Now I have the jumping bug")
end
get_status_effect("jumping status"):on_tick(tick)
|