On 2022-02-18 14:32, Kevin Zheng wrote:
On 2/18/22 10:54 AM, Nicolas Weeger wrote:
I expect there are maps where the exit target is zero in one of the two
coordinates. Since doing a mix of default and specified coordinates is
probably a bad idea, I would have the server convert a single -1 to a
0. I would then only need to search through the maps for any exits
with
a slaying field but not hp or sp, just in case there are any 0,0 exits
on purpose.
That can easily be checked automatically if needed.
Note that this is the current behaviour - if one coordinate is -1,
then it'll
be replaced by the default map enter x/y one (again, see enter_map()).
I believe Preston was pointing out that existing maps, that have one
of hp/sp set to zero, will not have a hp/sp field (because
object_diff() will remove them), but will change to -1 after the change.
I suspect there are few exits where one of the coordinates to go zero,
but it would be good to do a search and fix them up in case.
Yes, I pushed a change to enter_map() in server/server.c to change the
input x or y to zero if one and only one is negative. This handles most
cases of intentional use of 0 as an exit coordinate, such as in
buildings in cities on tiled map boundaries. There was only one
legitimate exit to 0,0, which is beginners2 in Scorn. I pushed a change
to the map to specify the 0,0 exit, as the world map has a enter_x/y of
1,1. These changes should have no impact to anyone.
The big change is to the arches.
I was surprised to see the arches for magic_portal and perm_magic_portal
having default hp/sp of 15,19 and slaying of /city/city. The hp/sp
defaults are used in some of the guild portals, possibly by accident,
but I'm not touching those.
There are a ton of type 66 (exit) archetypes. I've set them all to have
hp/sp of -1,-1 in my code with an awk script, but it's 297 files (and
skips the aforementioned portals).
I did some testing, and I pushed the change
(961eba31eb8d2df5ec6811d971a4194357aced0e).
So unless I missed something, nobody should notice any difference, and
going forward, you can leave hp/sp off when defining exits for the main
map entrance if enter_x,enter_y are correct. This should make it
simpler to modify maps without also having to change the maps that link
to them.
I was thinking about decoupling the links in both directions, but that
gets a lot more complicated.
_______________________________________________
crossfire mailing list
[email protected]
http://mailman.metalforge.org/mailman/listinfo/crossfire
IRC: http://crossfire.real-time.com/irc/index.html
Discord: http://crossfire.real-time.com/discord/index.html
Project Site: https://sourceforge.net/projects/crossfire/
Wiki: http://wiki.cross-fire.org/
Website: http://crossfire.real-time.com