summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dat/clua/lm_timed.lua
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2009-08-30 03:54:24 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2009-08-30 03:54:24 +0000
commitb3b450db6b1b73f3161ec64d53f17cc8dcef89fa (patch)
treeff322b9a2cfb064ae97004c24bb4ecc3068f0de3 /crawl-ref/source/dat/clua/lm_timed.lua
parent251e99167c9fd284ab06f4ae1317ee108d2802b8 (diff)
downloadcrawl-ref-b3b450db6b1b73f3161ec64d53f17cc8dcef89fa.tar.gz
crawl-ref-b3b450db6b1b73f3161ec64d53f17cc8dcef89fa.zip
Allow adding amount=X property to timed markers to make them timed toll markers (due).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10610 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/dat/clua/lm_timed.lua')
-rw-r--r--crawl-ref/source/dat/clua/lm_timed.lua17
1 files changed, 17 insertions, 0 deletions
diff --git a/crawl-ref/source/dat/clua/lm_timed.lua b/crawl-ref/source/dat/clua/lm_timed.lua
index a36f8aeaa8..31c34e1fad 100644
--- a/crawl-ref/source/dat/clua/lm_timed.lua
+++ b/crawl-ref/source/dat/clua/lm_timed.lua
@@ -5,6 +5,7 @@
require('clua/lm_tmsg.lua')
require('clua/lm_1way.lua')
+require('clua/lm_toll.lua')
TimedMarker = util.subclass(OneWayStair)
TimedMarker.CLASS = "TimedMarker"
@@ -29,6 +30,10 @@ function TimedMarker:new(props)
tmarker.dur = dur * 10
tmarker.msg = props.msg
+ if props.amount and props.amount > 0 then
+ tmarker.toll = TollStair:new(props)
+ end
+
props.msg = nil
return tmarker
@@ -38,6 +43,13 @@ function TimedMarker:activate(marker, verbose)
self.super.activate(self, marker, verbose)
self.msg:init(self, marker, verbose)
dgn.register_listener(dgn.dgn_event_type('turn'), marker)
+ if self.toll then
+ self.toll:activate(marker, verbose)
+ end
+end
+
+function TimedMarker:property(marker, pname)
+ return self.toll and self.toll:property(marker, pname)
end
function TimedMarker:disappear(marker, affect_player, x, y)
@@ -96,6 +108,11 @@ function TimedMarker:read(marker, th)
TimedMarker.super.read(self, marker, th)
self.dur = file.unmarshall_number(th)
self.msg = file.unmarshall_fn(th)(th)
+
+ if self.props.amount then
+ self.toll = TollStair:new(self.props)
+ end
+
setmetatable(self, TimedMarker)
return self
end