Skip to content

Suggestion: SiegeWar TP #1

Description

@GoodrichDev

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

  • It is often difficult for players to find an easy and reliable way to go to a siege zone.
  • Players often have to make outposts to go to a siege zone, or have to temporarily give up their nation spawn to set it to somewhere in the siege zone. This hurts economic activity because it is sacrificed for pvp, which not everyone may want to participate in.
  • This leads to strange workaround solutions such as nations in the server creating "puppet nations" that are only used to set siege war spawns

Describe the solution you'd like
A clear and concise description of what you want to happen.

  • SiegeWar TP that can be set by players to allow for both sides to arrive at the siege zone quickly and without having to cross through wilderness and risk losing items.

  • SiegeWar TP would have limitations to ensure it is only used for sieges:

  • Can only be set in a location that is within the siege zone and must within claims of either the attacking town or the defending town (Each side gets to set up their own teleport)

  • Can only be teleported to during an active battle session and if the siege it corresponds to is still active.

  • Only the general(s) or the nation leader have the permission to set this teleport. They will be allowed to set the teleport in the attacking or defending town even if they are not a part of that town. ( A new permission node will need to be created for this purpose and allocated to the appropriate ranks within townyperms.yml )

  • Optional, configurable ability to attach a cost to the creation of the teleport and to configure a cost per teleport that is charged to the nation attacking or defending, and be able to adjust the cost separately for attacking nation and defending nation. (config node)

  • Run a check that verifies which side the teleporting player is allied to and based on that result, teleports the player to the appropriate side. The player must be directly allied to only one side of the siege. If they are allied to both sides or allied to neither side, the TP will be denied.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

  • SiegeWar battle commander feature could be used, but relying on a teleport to another player can be inherently unreliable, and it can cause tension and toxicity among the team if a single person must be relied on for the transport of all players to the siege zone.

Additional context
Add any other context or screenshots about the feature request here.

  • Storage: Teleports could be stored in a YML file. Each active siege is stored in the file upon creation.
  • Add a check that only allows players to set a siege TP in the overworld. Nether or end won't be planned on being supported.
  • Set the 'configured' value to false upon creation. This will force the player to first set a TP before it can be used. Avoids having to set up weird placeholder values. TP will be denied if 'configured' is false or null.
  • After a siege has been set has over, delete the siege section from the file.
  • Storage idea: First, set up the file read/write to work correctly and check values from the file every teleport. Then, once this works reliably, introduce a caching system to cache frequently used teleports into memory for performance.

Example:

teleports.yml
constantinople:
attacker:
configured: true
x: 100
y: 63
z: 100
defender:
configured: true
x: 400
y: 63
z: 100

hokkaido:
attacker:
configured: false
x:
y:
z:
defender:
configured: true
x: 100
y: 63
z: 100

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions