summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-11 00:16:41 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-11 00:16:41 +0000
commit90edb37d54da099139384320581467dae48e3ae6 (patch)
treee410f0050286b58e6cb444efbd87f7c1b023b735 /crawl-ref
parent3bb3030a1714f55c6e23be157b61e139c2f98da9 (diff)
downloadcrawl-ref-90edb37d54da099139384320581467dae48e3ae6.tar.gz
crawl-ref-90edb37d54da099139384320581467dae48e3ae6.zip
Fix 1936711: Portals not disappearing properly.
These portals to bazaars now leave an empty stone arch behind, just like I've always envisioned it. :) (Labyrinths still disappear completely.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4184 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/dat/bazaar.des80
-rw-r--r--crawl-ref/source/dat/clua/lm_1way.lua2
-rw-r--r--crawl-ref/source/dat/clua/lm_timed.lua8
3 files changed, 43 insertions, 47 deletions
diff --git a/crawl-ref/source/dat/bazaar.des b/crawl-ref/source/dat/bazaar.des
index ab69e27345..1adcf58d40 100644
--- a/crawl-ref/source/dat/bazaar.des
+++ b/crawl-ref/source/dat/bazaar.des
@@ -2,7 +2,7 @@
# bazaar.des - Bazaar entry vaults and bazaar layouts.
###############################################################################
-# To do:
+# To do:
# 1) Ideally, the portal duration should depend on absolute depth (the deeper,
# the less time the player gets). I suggest a duration of
# 100 + 10*(30-abs.depth) + rn(100*(30-abs.depth))
@@ -25,11 +25,12 @@ function bazaar_portal()
return timed_marker {
low=1000, high=1500, msg=messager,
disappear='The gate to the bazaar disappears!',
- props = { desc=pdesc, dst='bazaar' }
+ props = { desc = pdesc, dst = 'bazaar'},
+ floor = 'stone_arch'
}
else
return one_way_stair { desc = 'gateway to a bazaar',
- dst = 'bazaar' }
+ dst = 'bazaar', floor = 'stone_arch' }
end
end
@@ -39,13 +40,8 @@ end
function random_bazaar_colour()
local colours = {"blue", "red", "lightblue", "magenta", "green"}
-
- crawl.mpr("#colours = " .. #colours)
-
local ret = colours[crawl.random2(#colours) + 1]
- crawl.mpr("ret = " .. ret)
-
return ret
end
@@ -182,9 +178,9 @@ SUBST: X : T 1
SUBST: Y = .
MARKER: O = lua:bazaar_portal()
MAP
- waWa.
- wwwWa.X.Y.
- wwwWO..Y.X.
+ waWa.
+ wwwWa.X.Y.
+ wwwWO..Y.X.
wwwwwwaaaX.Y.
wwwwwWa.
ENDMAP
@@ -255,7 +251,7 @@ x.......x
x.AdBeC.x
x.......x
xx.....xx
-xxxx<xxxx
+xxxx<xxxx
xxxxxxxxx
ENDMAP
@@ -289,7 +285,7 @@ SHUFFLE: AB, def
KFEAT: A = scroll shop / book shop / book shop
KFEAT: B = jewellery shop
ITEM: any jewellery / good_item any jewellery
-ITEM: any book / good_item any book, any staff
+ITEM: any book / good_item any book, any staff
SUBST: d=.d, e=.e, f=.f
# special cases for blue/red floor
: local colour = random_bazaar_colour()
@@ -695,7 +691,7 @@ MONS: plant
SHUFFLE: ABCDEF
SUBST: A = >, B = >
SUBST: . = .:1000 $
-SUBST: K = T:20 1 .:5
+SUBST: K = T:20 1 .:5
KFEAT: C = any shop / distillery shop
KFEAT: D = any shop / wand shop / food shop
KFEAT: E = any shop / weapon shop / armour shop
@@ -740,7 +736,7 @@ SUBST: X = <, Y = >
# high quality shops, pity they don't stay :p
KFEAT: B = general shop
KFEAT: C = wand shop / jewellery shop
-KFEAT: D = antique weapon shop
+KFEAT: D = antique weapon shop
KFEAT: E = antique armour shop
KFEAT: F = scroll shop / distillery shop
: bazaar_message(_G)
@@ -814,7 +810,7 @@ xxxxxxxxxxxxxx...xxxxxxxxxxxxxx
xxxx...xxxxxxx...xxxxxxx...xxxx
xx......xxxxxx...xxxxxx......xx
x....B.........T.........D....x
-xx......xxxxxx...xxxxxx......xx
+xx......xxxxxx...xxxxxx......xx
xxxx...xxxxxxx...xxxxxxx...xxxx
xxxxxxxxxxxxxx...xxxxxxxxxxxxxx
xxxxxxxxxxxxxx...xxxxxxxxxxxxxx
@@ -822,7 +818,7 @@ xxxxxxxxxxxx.......xxxxxxxxxxxx
xxxxxxxxxxx....C....xxxxxxxxxxx
xxxxxxxxxxxx.......xxxxxxxxxxxx
xxxxxxxxxxxxxx...xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP
NAME: bazaar_cross2
@@ -846,7 +842,7 @@ xxxxxxxxxxxxxx...xxxxxxxxxxxxxx
xxxx...xxxxxxx...xxxxxxx...xxxx
xx......xxxx...G...xxxx......xx
x....B.......G.<.G.......D....x
-xx......xxxx...G...xxxx......xx
+xx......xxxx...G...xxxx......xx
xxxx...xxxxxxx...xxxxxxx...xxxx
xxxxxxxxxxxxxx...xxxxxxxxxxxxxx
xxxxxxxxxxxxxx...xxxxxxxxxxxxxx
@@ -858,7 +854,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP
###################################
-# strange pattern (jpeg)
+# strange pattern (jpeg)
# 4 shops
NAME: bazaar_ribbon
TAGS: bazaar allow_dup no_rotate
@@ -974,7 +970,7 @@ xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx
xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx
xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx
xxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxx
-xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx
+xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx
x.........+............A............+.........x
x....A....xxxxxxxxx.........xxxxxxxxx....A....x
xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx
@@ -1108,15 +1104,15 @@ SUBST: C = >
SUBST: D = T
: bazaar_message(_G)
MAP
-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-xxxxxxxxxAxxxC............+...xxxxxxxxx
-xxxxxxxx...xxx...........xxx...xxxxxxxx
-xxxxxxx.....xxx....B....xxx.....xxxxxxx
-xxxxxx.......xxx.......xxx.......xxxxxx
-xxxxx....B....xxx.....xxx....B....xxxxx
-xxxx...........xxx...xxx...........xxxx
-xxxA............+...xxxD...........Dxxx
-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxAxxxC............+...xxxxxxxxx
+xxxxxxxx...xxx...........xxx...xxxxxxxx
+xxxxxxx.....xxx....B....xxx.....xxxxxxx
+xxxxxx.......xxx.......xxx.......xxxxxx
+xxxxx....B....xxx.....xxx....B....xxxxx
+xxxx...........xxx...xxx...........xxxx
+xxxA............+...xxxD...........Dxxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP
NAME: bazaar_hexagon
@@ -1129,20 +1125,20 @@ KFEAT: B = general shop / food shop
KFEAT: C = scroll shop / book shop / distillery shop
SUBST: D = >
MAP
-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-xxxxxxxxx.................===.xxxxxxxxx
-xxxxxxxx.............A...xxx...xxxxxxxx
-xxxxxxx.................xxx.....xxxxxxx
-xxxxxx........<........xxx.......xxxxxx
-xxxxx.................xxx....B....xxxxx
-xxxx...A.............xxx...........xxxx
-xxx.................xxx.............xxx
-xxx=xxxxxxxxxxxxxxx+xxxxxxxxxxxxxxx=xxx
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxx.................===.xxxxxxxxx
+xxxxxxxx.............A...xxx...xxxxxxxx
+xxxxxxx.................xxx.....xxxxxxx
+xxxxxx........<........xxx.......xxxxxx
+xxxxx.................xxx....B....xxxxx
+xxxx...A.............xxx...........xxxx
+xxx.................xxx.............xxx
+xxx=xxxxxxxxxxxxxxx+xxxxxxxxxxxxxxx=xxx
xxx=xxxxxxxxxxxxxxxx+xxxxxxxxxxxxxx=xxx
xxx.............===.................xxx
-xxxx...........xxx.............C...xxxx
+xxxx...........xxx.............C...xxxx
xxxxx....D....xxx.................xxxxx
-xxxxxx.......xxx........>........xxxxxx
+xxxxxx.......xxx........>........xxxxxx
xxxxxxx.....xxx.................xxxxxxx
xxxxxxxx...xxx...C.............xxxxxxxx
xxxxxxxxx.xxx.................xxxxxxxxx
@@ -1165,10 +1161,10 @@ xxxxxxxxxx.........xxxxxxxxxx
xxxxxxxx....B...B....xxxxxxxx
xxxxxx.................xxxxxx
xxxx....C.....B.....C....xxxx
-xxA.......................Axx
+xxA.......................Axx
xxxxxxxxxxxxx...xxxxxxxxxxxxx
xxxxxxxxxxxxx...xxxxxxxxxxxxx
-xxxxxxxxxxxx.....xxxxxxxxxxxx
+xxxxxxxxxxxx.....xxxxxxxxxxxx
xxxxxxxxxxx...C...xxxxxxxxxxx
xxxxxxxxxxxx.....xxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
diff --git a/crawl-ref/source/dat/clua/lm_1way.lua b/crawl-ref/source/dat/clua/lm_1way.lua
index 35fd85a522..f2c65da612 100644
--- a/crawl-ref/source/dat/clua/lm_1way.lua
+++ b/crawl-ref/source/dat/clua/lm_1way.lua
@@ -20,7 +20,7 @@ end
function OneWayStair:event(marker, ev)
if ev:type() == dgn.dgn_event_type('player_climb') then
local x, y = ev:pos()
- dgn.terrain_changed(x, y, self.props.floor or 'floor', false)
+ dgn.terrain_changed(x, y, self.props.floor or 'floor', false, false)
dgn.remove_listener(marker, ev:pos())
dgn.remove_marker(marker)
end
diff --git a/crawl-ref/source/dat/clua/lm_timed.lua b/crawl-ref/source/dat/clua/lm_timed.lua
index 048698ecbb..a66448c4f8 100644
--- a/crawl-ref/source/dat/clua/lm_timed.lua
+++ b/crawl-ref/source/dat/clua/lm_timed.lua
@@ -23,7 +23,7 @@ function TimedMarker:new(pars)
pars.high = pars.high or pars.low or pars.turns or 1
pars.low = pars.low or pars.high or pars.turns or 1
local dur = crawl.random_range(pars.low, pars.high, pars.navg or 1)
- local feat = pars.feat or 'floor'
+ local feat = pars.floor or 'floor'
local fnum = dgn.feature_number(feat)
if fnum == dgn.feature_number('unseen') then
error("Bad feature name: " .. feat)
@@ -46,7 +46,7 @@ function TimedMarker:activate(marker, verbose)
self.msg:init(self, marker, verbose)
dgn.register_listener(dgn.dgn_event_type('turn'), marker)
- dgn.register_listener(dgn.dgn_event_type('player_climb'),
+ dgn.register_listener(dgn.dgn_event_type('player_climb'),
marker, marker:pos())
end
@@ -54,13 +54,13 @@ function TimedMarker:timeout(marker, verbose, affect_player)
local x, y = marker:pos()
if verbose then
if you.see_grid(marker:pos()) then
- crawl.mpr( self.disappear or
+ crawl.mpr( self.disappear or
dgn.feature_desc_at(x, y, "The") .. " disappears!")
else
crawl.mpr("The walls and floor vibrate strangely for a moment.")
end
end
- dgn.terrain_changed(x, y, self.fnum, affect_player)
+ dgn.terrain_changed(x, y, self.fnum, affect_player, false)
dgn.remove_listener(marker)
dgn.remove_listener(marker, marker:pos())
dgn.remove_marker(marker)