Linking rules determine which additional events will occur when a player links. The info was gathered on Plasma shards but basically applies to Alcugs and MOUL shards as well (some important differences are mentioned). You can find the linking rules in PlasmaNetConstants.py.
- PtLinkingRules.kBasicLink (value: 0)
Rules: Will always link player to an age. Does not create an agelink node in AgesIOwnFolder. One must provide full age info when using this linking rule otherwise it creates a new temporary instance of an age. Exceptions are Alcugs Shards, which will choose an instance according to the list of private ages (as a result this linking rule is generally safe to use on Alcugs Shards).
Usage: Public ages like the city and non-member Neighborhoods, book sharing. The BahroCave age also uses this linking rule.
- PtLinkingRules.kOriginalBook (value: 1)
Rules: Will always link player to an age. If it does not exist in the AgesIOwnFolder a new agelink node will be created there. The player info node is placed into the AgeOwnersFolder of the created age info node. When using this linking rule it is important to set the correct age info (age name, age instance name, spawnpoint name, spawnpoint title etc). Everything you set will be written to the vault and can cause gameplay errors when done wrong.
Usage: Personal ages
- PtLinkingRules.kSubAgeBook (value: 2)
Rules: Will always link player to an age. Does not create an agelink node in AgesIOwnFolder. Defined in PlasmaNetConstants.py, not called from any python file from UU or TPOTS. Links players to a sub-age within the age they link from. How many people can link to the same instance depends on the MaxCapacity defined in the .age file (Alcugs Shards ignore this). Note that "sub-age" is a bidirectional relationship: The age you link to with that rule will become a sub-age of the current age, and the current ae will become a sub-age of the target age. You can never link to a sub-age of another age than the one you are currently in!
Usage: Eder Delin or Tsogal book in Neighborhoods
- PtLinkingRules.kOwnedBook (value: 3)
Rules: Will only link player to an age that he/she owns (has on the bookshelf). In other words the agelink node must be in the AgesIOwnFolder. Does not write the spawnpoint to the agelink node.
Usage: Personal ages in situations where the spawnpoint must not be written to the vault.
- PtLinkingRules.kVisitBook (value: 4)
Rules: Used for ages someone is invited to by another player. The agelink node must be in the AgesICanVisitFolder and the player info node must be in the CanVisitFolder. This linkingrule can bypass the MaxCapacity of an age as set in the *.age file (MaxCapacity set in a serverside *.age file always overrules the value on the clientside).
Usage: Private links (in Nexus)
- PtLinkingRules.kChildAgeBook (value: 5)
Rules: will always link player to an age. Creates an agelink node in a ChildAgesFolder. A parent age must be set. Used for the GreatZero on Plasma shards. The parent age in this case is the Neighborhood and it can be set with: als.setParentAgeFilename('Neighborhood'). The player info node is NOT placed into the AgeOwnersFolder of the created age info node. The well-known disappearing Great Zero link bug is a consequence of this.
Usage: Child ages
Now that you have read all of this I have some bad news: Linking rules apply exclusively to the online game! In singleplayer mode, the game will always use kOriginalBook. Still it is a good idea to make your age behave the same way for singleplayer and online versions.