207: Town Portal Restrictions


Tuesday, September 20, 2005 - 15:48

Overview


The town_portal_restrictions.gas file, found in the info folder of the map, contains a list of nodes by guid. If a node is listed in this file, it will gain three properties that normal nodes will not:
  • The town portal spell (spell_town_portal) cannot be cast by a character standing on this node.
  • The loot thief will not appear to steal items dropped on this node.
  • If a teleporter is used by a character standing on this node, the region list highlight will be at the bottom of the list instead of the top.

The following types of nodes should be listed in this file:
  • Town nodes (to prevent town portal from being cast in town, to prevent the loot thief from stealing quest rewards in non-combat areas, and to make the towns' teleporters send the player to the last non-town region they were in, by default)
  • elevator nodes (to prevent town portal being cast on a moving elevator, which would cause the earth to explode)
  • Boss arenas (to prevent town portal exploits and the loot thief stealing boss rewards)

I've found some quick ways to generate lists of the above node types. For towns and boss arenas, the easiest thing is to select all the nodes that you want to be on the list, then save the selected nodes as a prefab. Then, open the prefab and search for '[t:snode'. Copy the list of search results to the clipboard and paste it into a new file. From there, it's a simple matter to get the list into the correct format for the town_portal_restrictions.gas file.

For elevators, search for 'elevator_node' in all elevator.gas files in the map. The search results will include the guids of all moving nodes in the map unless they are being moved by special skrits. The only special elevator skrit in the ds2_world map is the one that moves the archmage arena stair nodes, and that happens during an NIS. Therefore, the player can never be standing on those nodes while they're moving.