Guild Wars
See original GitHub issueGuild Wars
A feature to allow guilds to challenge each other to combat in a controlled arena for fame and glory… and maybe loot.
Phase 1
Basic implementation of the mechanics that are required for guild wars.
Features:
1. The arena
Server owners will be required to make a protected arena. The arena will need A) a name, B) a challenger spawn point, and C) a defender spawn point.
/guild arena create <name of arena>
Permission:guilds.group.admin
Allows an admin to create an arena in the Guilds configuration
The
<name of arena>
is to futureproof it, in preparations of including more arenas in Phase 2.
-
/guild arena <name of arena> challenger
Permission:guilds.group.admin
Allows an admin to set the warp where the challengers will spawn in the arena. -
/guild arena <name of arena> defender
Permission:guilds.group.admin
Allows an admin to set the warp where the defenders will spawn in the arena
2. The Challenge
Guild Masters (and/or Officers) can challenge other guilds to controlled combat in an arena. The challenge will go through several steps. A) the challenge, B) the accept, C) joining the guild war, D) gearing up, and E) readying up.
/guild challenge <guild name>
Permission:guilds.command.war.challenge
Allows a Guild Master (and/or Officer) to challenge another guild to a combat in an arena,
Note: There will have to be three checks here
- If the guild has already accepted a defense in the last 24h
- if the arena is already occupied with a guild war,
- if there are any members of the defender guild that can accept the challenge.
In order to prevent two guilds from cooperating by repeatedly farming each other for guild rewards there should be some for of cooldown. I suggest a defender only cooldown. Guilds can challenge every guild on the server but, every guild can only accept a challenge once every 24h (configurable). If a guild attempts to challenge a guild that has already accepted a challenge they can get the message like “<Guild name>
has already defended themselves in the arena. Let them regain their strength and challenge them another time.”
If the arena is being used a message like “There is a battle going on in the arena. Please wait until the victor has been decided.” (this can be a configurable message in the config too)
If there are no Guild Masters (and/or Officers) in the defender’s guild to accept the challenge use a message like “The puny guild you challenged has nobody man enough to accept it.” (this can also be a configurable message in the config too)
/guild war accept
Permission:guilds.command.war.accept
Allows a Guild Master (and/or Officer) to accept a challenge from another guild to a combat in an arena.
A scoreboard/action message/title message/GUI starts a countdown (60 seconds?? configurable?) for members of each guild to join in on the guild war. (I have an idea for a GUI. I’ll put it in another phase)
/guild war join
Permission:guilds.command.war.join
Allows players of each guild to join their guild mates in the war to represent their guild.
If there are an uneven number of players Example: 5 v 3, last two members to have joined on the larger team get kicked from the guild war in order for the team to be 3 v 3
I suggest there be a minimum/maximum configurable number for member for the guild wars. Dependent on arena size and server sized controlled by the server admins.
GuildWarMin: 3 GuildWarMax: 8
After the countdown players have another countdown (3 minutes?? configurable?) in order to equip themselves. When they are ready they can ready up. If all members ready up before the countdown ends, the countdown is skipped.
/guild war ready
Permission:guilds.command.war.ready
Allows a player to ready up for the guild war in order to bypass the countdown.
If players have not readied up when the countdown ends, they go with whatever they have and get warped into the arena.
3. The Guild War
The guild war itself. Members of each guild fight to the last guild standing. To the victor goes the spoils.
- Each guild gets warped to their respective warps (
challenger
for the challengers,defender
for the defenders) and the fight begins. - Each guild fights to kill all members of the other guild to win (prevent death drops for the initial default guild war mode)
- Each time a guild member is killed they are warped back to where they were.
- Once all members of one guild are defeated, the opposite guild is declared the winner.
Rewards can be given out via console commands similar to how vote-rewards plugins work. (That way, rewards from any plugin, can be given.)
A W/L ratio would be nice, perhaps a footnote in the guild info?
Phase 2
Advanced implementation of the Guild Wars system. new modes, multiple arenas, setting a favorite arena, scalable prizes, and more.
I’ll work on this later… Unless you would prefer I make another feature request Guild Wars Advanced?
Issue Analytics
- State:
- Created 4 years ago
- Comments:28 (13 by maintainers)
Top GitHub Comments
I’ll work on that tonight, after work 😉
This has been completed (phase 1).