-
-
Notifications
You must be signed in to change notification settings - Fork 388
Open
Labels
Description
Please explain your feature request to the best of your abilities:
Reason: To prevent abuse by using alts to give a town more town blocks, an optional system should be implemented to allow weight-based town block granting. This also directly allows servers to create more content to grant more weight/engage players in the server even more.
Server Benefits:
- Can or may prevent alt abuse.
- Introduces new systems to make the server more engaging.
Player Benefits:
- Allows players who have towns of their own to get town blocks without needing people to join their town. (EX: If a server has an XP system or Quest system, it can grant more weight to that player to upgrade their town status).
- More engagement and reason to try server progression (If there is one) for the benefit of their own town.
Downsides:
- It can cause another way of alt abuse, which can grant them more town blocks; however can be slower than the normal method of joining a large amount of alts to the town.
Implementations:
Granting Weight Implementation:
I am not completely sure on how this should be implemented, but I have 2 ideas on how it can be done.
Implementation 1:
- Give players a
towny.player.weight.$NUMpermission to give them a specific weight. This permission can be stacked, so if a player hastowny.player.weight.1andtowny.player.weight.2, their total weight will be 3.- Or the implementation could be toggled by either allowing permission stacking or making the highest permission be the player's weight
Implementation 2:
- Grant players a weight using a command (EX: /townyadmin player <$PLAYER> <setweight/addweight/weight> [$NUM])
setweightsets the weight of the player.addweightadds weight to the existing weight of the player.weightreturns the weight of that player
Accessing a Player's Weight:
A player's weight can be accessed using /res <$PLAYER>, %townyadvanced_player_weight%, or %townyadvanced_player_getweight_<$PLAYER>%.
%townyadvanced_player_weight%Returns the player weight of that player.%townyadvanced_player_getweight_<$PLAYER>%Returns the player weight of the specified player.
Using Player Weights to Grant Town/Nation Levels:
In Town Levels:
- townBlockTypeLimits: {}
upkeepModifier: 1.0
townOutpostLimit: 0
numResidents: 1
+ totalResidentWeight: 10
debtCapModifier: 1.0
namePostfix: ' (Camp)'
bankCapModifier: 1.0
mayorPrefix: 'Organizer '
townBlockBuyBonusLimit: 50
namePrefix: ''
mayorPostfix: ''
peacefulCostMultiplier: 1.0
townBlockLimit: 50
resourceProductionModifier: 1.0In Nation Levels:
- kingPostfix: ''
capitalPostfix: ''
upkeepModifier: 1.0
kingPrefix: 'Leader '
capitalPrefix: ''
numResidents: 0
+ totalResidentWeight: 10
nationBonusOutpostLimit: 0
namePostfix: ' (Nation)'
bankCapModifier: 1.0
townBlockLimitBonus: 100
namePrefix: ''
peacefulCostMultiplier: 1.0
nationZonesSize: 1
nationTownUpkeepModifier: 1.0
nationCapitalBonusOutpostLimit: '0'Using Player Weights to Grant Town Blocks
claiming:
+ use_playerweight_system: true // Enable playerweight system (May be better to put somewhere else)
+ town_blocks_per_weight: '20' // 1 townblock per 20 playerweight
# The maximum townblocks available to a town is (numResidents * ratio), if use_playerweight_system is
# true, this system will not take effect.
# Setting this value to 0 will instead use the level based jump values determined in the town level config.
# Setting this to -1 will result in every town having unlimited claims.
town_block_ratio: '0'Reactions are currently unavailable