Hello, > Mark Wedel wrote: > I've fixed several problem with big pet monsters - the changes are in CVS. > I didn't get any display problems with the changes. > Thanks ! I didn't get any display problem too. > >> > >> > >> And another problem (but it's perhaps a normal behavior) : with "one > >> square > >> summoned creature", it's possible to go "throught" : you can walk even > >> if a pet > >> is on your way : it automaticaly go behind you. With Wyvern, it don't > >> work : it > >> can sometimes block the way. > > I haven't fixed this - that is more problematic. > > At issue is that it is pretty easy to know that 2 one spaced objects can swap > places. > > However, for 2 spaced objects, this is much more difficult. Think of the > scenario like: > > WW. > |P| > |.| > > Where WW is the wyverns to spaces, P is the player, and | are walls. The > wyvern obviously won't fit into the passage, so the swap won't work. But there > is also some odd issue like: > > ----- > .PWW. > ----- > > For the player to swap with the wyvern, either the player has to hop two > spaces, or the wyvern has to swap two spaces. > > Now at least the push code does work now, so in that second example, if you > move into the wyvern, you should end up pushing him a space to the right. Thus, > if your big pet isn't moving down the passage, you can sort of push him there. > > I'm not sure what to do with this long term. One could certainly make the > argument this is a disadvantage of big pet monsters (or the ability to swap > places is an advantage with small pet monsters). > > I looked at the code to do the swap position - it isn't as straight forward - > the check to see if space is available sort of needs to be custom written for > this - first, you need to see if the space the monster is moving into has a > wall, the player, or a piece of the monster. But then you need to check the > space the player wants to move into to see if it is free. > > This gets pretty tricky - in the second case above, all of those would initially > seem to check (wyvern would get moved to place player current is and place a > peice of it currently is). The player is also trying to move to a piece the > wyvern is currently in. However, that space will still be occupied after the > wyvern moves. So now you need to do the logic that the player would swap > multiple spaces. However, the player should still get effected by any bad > things on any of those spaces (eg, pits, spikes, etc). > > For this second problem, reading your drawing and descriptions, I think it's perhaps more logic to keep the push system you write. But the lack of swapping can sometime really block, with, for example, this map : (P is the player, G is the ground and W is the Wivern) --------- | PWW| | GWW| ------|G| (It can apear, for example, where there is stairs under P) You would like to go to the exit on the bottom-right, and the wyvern is blocking you... In this case, swapping would work fine, but if the ground on the bottom-left where a wall, you where really blocked. So I had an idea that could work around, and that could be helpfull elswhere : What do you think of a command, a spell, a saying, a skill or something else to "Banish" your pets : --> so when you don't need anymore a pet, you could get out of it. --> so when a pet is blocking your way, you could get out of it too. Yes I know you can kill it, but it's perhaps not really a good idea to be forced to kill a pet when it has well helped you and you don'need it anymore... What do you thing of something like that ??? Olivier.