(fixed) Pits and triggers bug
Posted: Thu Sep 08, 2016 1:59 pm
Hi
If you have a const-weight trigger on a pit, then the party will trigger it stepping onto the tile, but not untrigger it when plummeting to the next level. The same applies to using a rope.
Simple test case:
Triggers on and next to the pit control the door. Drop an item down the pit and the door will open momentarily. Send the party down the pit and it will lock open until the reset it triggered elsewhere.
If you have a const-weight trigger on a pit, then the party will trigger it stepping onto the tile, but not untrigger it when plummeting to the next level. The same applies to using a rope.
Simple test case:
Code: Select all
dsb_text2map(0, 10, 10, 100, 1, {
"1000110000",
"1000110000",
"1000100000",
"1111111100",
"0000110000",
"0000110000",
"0000000000",
"0000000000",
"0000000000",
"0000000000"} )
dsb_level_wallset(0, wallset.default)
dsb_text2map(1, 10, 10, 0, 1, {
"0000000000",
"0000000000",
"0000000000",
"0000111100",
"0000110000",
"0000110000",
"0000000000",
"0000000000",
"0000000000",
"0000000000"} )
dsb_level_wallset(1, wallset.default)
dsb_add_champion(1, "test", "port_mophus", "TEST", "", 1000, 1000, 1000, 400, 400, 400, 400, 400, 400, 400, {0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0})
ch_exvar = {
}
dsb_spawnburst_begin(24)
dsb_spawn(2, "doorframe", 0, 4, 2, 4)
dsb_spawn(20, "door_portcullis", 0, 4, 2, 4)
dsb_spawn(22, "torch", 0, 4, 3, 3)
dsb_set_charge(22, 500)
dsb_spawn(21, "rope", 0, 5, 3, 2)
dsb_spawn(5, "stairsdown", 0, 7, 3, 4)
dsb_spawn(23, "stick", 0, 4, 4, 1)
dsb_spawn(24, "stick", 0, 5, 4, 0)
dsb_spawn(1, "pit", 0, 4, 5, 4)
dsb_spawn(4, "trigger", 0, 4, 5, 4)
dsb_spawn(3, "trigger", 0, 5, 5, 4)
dsb_spawn(8, "stairsup", 1, 7, 3, 4)
exvar = {
[3] = { opby_party = true,
const_weight = true,
target = 20,
msg = 100001,
opby_thing = true },
[4] = { opby_party = true,
target = 20,
msg = 100001,
opby_thing = true,
const_weight = true },
}
dsb_spawnburst_end()
EDITOR_FLAGS = 255
dsb_champion_toparty(0, 1)
dsb_party_place(0, 0, 0, 0)