Lever toggles do not work in vaults

Where bugs go to lie down and rest

Moderator: Moderator

Post Reply
Message
Author
urmane
Cornac
Posts: 40
Joined: Sun Jan 01, 2012 5:57 pm

Lever toggles do not work in vaults

#1 Post by urmane »

In the first code block below, the toggled doors work correctly. In the second code block, the doors change to door-with-lock icons, and while they open correctly, they do not close when toggled again. The two differences are the DOOR_VAULT (tested separately, does not change behavior) and the enclosing wall on the last line of the ascii map.

Code: Select all

rotates = {"default", "90", "180", "270", "flipx", "flipy"}
setStatusAll{no_teleport=true}
startx = 0
starty = 2

defineTile('.', "FLOOR")
-- defineTile('!', "DOOR_VAULT")
defineTile('#', "HARDWALL")
defineTile('$', "FLOOR", {random_filter={add_levels=5, tome_mod="vault"}})
defineTile('X', "FLOOR", nil, {random_filter={add_levels=5}})

-- These all use the same lever_action and lever_action_kind
-- They work because the lever_radius is only 2

-- 1 opens 2
defineTile('1', "GENERIC_LEVER", nil, nil, nil, {lever=1, lever_kind="toggle", lever_radius=2, lever_block="crypt_door_block"})
defineTile('2', "GENERIC_LEVER_DOOR", nil, nil, nil, {lever_toggle=true, lever_action_kind="toggle"})

-- 3 closes 2 and opens 4
defineTile('3', "GENERIC_LEVER", nil, nil, nil, {lever=1, lever_kind="toggle", lever_radius=2, lever_block="crypt_door_block"})
defineTile('4', "GENERIC_LEVER_DOOR", nil, nil, nil, {lever_toggle=true, lever_action_kind="toggle"})

-- 5 closes 4 and opens 6
defineTile('5', "GENERIC_LEVER", nil, nil, nil, {lever=1, lever_kind="toggle", lever_radius=2, lever_block="crypt_door_block"})
defineTile('6', "GENERIC_LEVER_DOOR", nil, nil, nil, {lever_toggle=true, lever_action_kind="toggle"})

-- 7 closes 6 and opens 8
defineTile('7', "GENERIC_LEVER", nil, nil, nil, {lever=1, lever_kind="toggle", lever_radius=2, lever_block="crypt_door_block"})
defineTile('8', "GENERIC_LEVER_DOOR", nil, nil, nil, {lever_toggle=true, lever_action_kind="toggle"})


return {
[[###########]],
[[#1#3#5#7#$#]],
[[..2.4.6.8X#]],
[[...........]],
}

Code: Select all

rotates = {"default", "90", "180", "270", "flipx", "flipy"}
setStatusAll{no_teleport=true}
startx = 0
starty = 2

defineTile('.', "FLOOR")
defineTile('!', "DOOR_VAULT")
defineTile('#', "HARDWALL")
defineTile('$', "FLOOR", {random_filter={add_levels=5, tome_mod="vault"}})
defineTile('X', "FLOOR", nil, {random_filter={add_levels=5}})

-- These all use the same lever_action and lever_action_kind
-- They work because the lever_radius is only 2

-- 1 opens 2
defineTile('1', "GENERIC_LEVER", nil, nil, nil, {lever=1, lever_kind="toggle", lever_radius=2, lever_block="crypt_door_block"})
defineTile('2', "GENERIC_LEVER_DOOR", nil, nil, nil, {lever_toggle=true, lever_action_kind="toggle"})

-- 3 closes 2 and opens 4
defineTile('3', "GENERIC_LEVER", nil, nil, nil, {lever=1, lever_kind="toggle", lever_radius=2, lever_block="crypt_door_block"})
defineTile('4', "GENERIC_LEVER_DOOR", nil, nil, nil, {lever_toggle=true, lever_action_kind="toggle"})

-- 5 closes 4 and opens 6
defineTile('5', "GENERIC_LEVER", nil, nil, nil, {lever=1, lever_kind="toggle", lever_radius=2, lever_block="crypt_door_block"})
defineTile('6', "GENERIC_LEVER_DOOR", nil, nil, nil, {lever_toggle=true, lever_action_kind="toggle"})

-- 7 closes 6 and opens 8
defineTile('7', "GENERIC_LEVER", nil, nil, nil, {lever=1, lever_kind="toggle", lever_radius=2, lever_block="crypt_door_block"})
defineTile('8', "GENERIC_LEVER_DOOR", nil, nil, nil, {lever_toggle=true, lever_action_kind="toggle"})


return {
[[###########]],
[[#1#3#5#7#$#]],
[[!.2.4.6.8X#]],
[[###########]],
}

Post Reply