> gros wrote: > > > > If someone dies on a wall of thorns in the arena, it will be a > > real death, and not an "arena-death" (-> house of healing). It > > seems that wall of thorns erases all squares behind it, and > > that includes the "arena floor" map markers. Is that bug known > > and already corrected ? > > no and maybe. > > The problem here is op_on_battleground (which is the key call to > determine if the player is on a battleground) stops when it finds > the first floor object. > > Wall of thorns is another floor object. So player dies, > op_on_battlground goes through, finds the wall of thorns is a floor, > and says that space is not a battleground. > > Its a very easy change to modify op_on_battleground to look at > all objects beneath the player, and hence go through all the > floor objects. > > Now the comment says: > /* A battleground-tile needs the following attributes to be valid: > * is_floor 1 (has to be the FIRST floor beneath the player's feet), > * name="battleground", no_pick 1, type=58 (type BATTLEGROUND) > * and the exit-coordinates sp/hp must both be > 0. > * => The intention here is to prevent abuse of the battleground- > * feature (like pickable or hidden battleground tiles). */ > > So from this comment, it having to be the first floor seems > intentional, and is in fact emphasized. Can anyone provide > illuminatiion why it has to be the first floor object? Like stated in the comment, the intention was not to allow hidden- placed battleground tiles. The matter of exp-loss is so important in CF, a player should always know if it is active or not. (And I know from past experiences that "rules" must be hardcoded or mapmakers will always try to break them. ;) ) I certainly didn't know about wall of thorns being of "is_floor 1". And frankly, that is quite stupid for several reasons: The is_floor flag should determine the *floor* tile. Thorns are definitly not floor. That way, thorns will hide all objects below and they can break teleporters. We should take out the is_floor from thorns. If that requires code changes, we do it after 1.0. To prevent such bugs in future, it also seems wise to make op_on_battleground cycle through all floor tiles, not to stop at the first one. Andreas V. -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net