You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
A nice thing to players choose a nation and the leaders of that nation can aprove it or not
Describe alternatives you've considered
A gui that new players see all the nations with detailed information and click to submit the application
Work Item
Description
Implement a system to allow players to apply to join a faction, with faction leaders having the ability to review, approve, or deny applications. This feature enhances player interaction and engagement by formalizing the process of joining factions through an application and approval mechanism.
Requirements
Faction Application Structure
Goal: Design a structure to manage player applications for factions.
Task: Update the faction database schema to include application data.
Application Lifecycle
View and Submit
Players can view available factions.
Players can submit applications to join factions.
Cancel
Players can cancel their pending applications.
Review
Faction leaders can view and manage a list of submitted applications.
Approve or Deny
Faction leaders can approve or deny applications.
If approved, the applicant becomes a faction member.
Application Handling Logic
Automatically cancel all other pending applications for a player in the following scenarios:
Their application is approved.
They accept a faction invitation.
An operator forcibly assigns them to a faction.
Faction Permissions
Introduce permissions to control which faction members can approve or deny applications.
Localization and Commands
Add new language strings for all supported languages.
Update the help command to include new commands related to applications.
Acceptance Criteria
Create faction application structure
Add list of applications to factions structure
Create database migration to update faction table
Allow players to list applications to their faction
Allow players to apply to factions
Allow players to cancel their application to a faction
Allow players to approve apps causing the applicant to join their faction
Allow players to deny apps
Cancel all existing apps for a player in the following circumstances:
when a player's app gets accepted
when a player accepts a faction invite
when operator forces them to join a faction
when a player creates a faction
when a player is given leadership of a faction
Add faction permissions for approving/denying apps
Add new language strings to all language files
Add new commands to output of help command
Functionality verified in-game
PR opened to merge changes into develop
changes merged into develop
In-Game Verification Checklist
To ensure the Faction Application System works as intended, the following functionalities must be verified in-game:
1. Applying to a Faction
Objective: Confirm that players can successfully submit applications to join a faction.
Verification Steps:
Navigate to the faction menu.
Select a faction and submit an application.
Ensure the application appears in the faction's pending application list.
Validate that the player cannot apply to the same faction multiple times.
2. Viewing Applications
Objective: Ensure that faction leaders can view and manage incoming applications.
Verification Steps:
Log in as a faction leader.
Open the application management interface.
Verify that all pending applications are listed, including details (player name, application date).
Check for sorting or filtering options, if available.
3. Approving an Application
Objective: Confirm that faction leaders can approve submitted applications.
Verification Steps:
Select a pending application.
Approve the application.
Verify that the player's application status changes to "approved."
Ensure the player is added to the faction member list.
4. Getting an Application Approved as the Applicant
Objective: Validate that an applicant is notified and successfully joins the faction after approval.
Verification Steps:
Submit an application as a player.
Have the application approved by the faction leader.
Check that the player receives a notification of approval.
Ensure the player gains faction membership and associated benefits (e.g., faction-specific perks, chat access).
5. Canceling an Application
Objective: Test that players can cancel their pending applications.
Verification Steps:
Submit an application to a faction.
Cancel the application through the application management interface.
Verify that the application is removed from the faction’s pending list.
Ensure the player can reapply to the same or different faction.
6. Automatic Cancellation of Other Applications
Objective: Verify the logic for automatic cancellation of other pending applications.
Verification Scenarios:
Scenario 1: Application Approved
Submit applications to multiple factions.
Have one application approved.
Confirm that all other pending applications are automatically canceled.
Scenario 2: Faction Invitation Accepted
Submit applications to multiple factions.
Accept an invitation to one faction.
Verify that all pending applications are canceled.
Scenario 3: Operator Assignment
Submit applications to multiple factions.
Have an operator assign the player to a faction.
Check that all pending applications are automatically canceled.
Scenario 4: Create a New Faction
Submit applications to multiple factions.
Choose to create a new faction instead of joining an existing one.
Verify that all pending applications are canceled upon faction creation.
Scenario 5: Given Leadership of an Existing Faction
Submit applications to multiple factions.
Be offered leadership of an existing faction (direct assignment by an operator or faction admin).
Confirm that all pending applications are canceled automatically upon accepting leadership.
7. Error Handling
Objective: Confirm that the system handles errors gracefully.
Verification Steps:
Test submitting an application to a faction with a full member list.
Attempt to view applications as a non-leader.
Simulate server disruptions during submission, approval, or cancellation processes.
Ensure appropriate error messages are displayed and no data corruption occurs.
The text was updated successfully, but these errors were encountered:
dmccoystephenson
changed the title
Feature Request--Allow players to submit applications to join factions
Allow players to submit applications to join factions
Jul 3, 2024
Original Request
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
A nice thing to players choose a nation and the leaders of that nation can aprove it or not
Describe alternatives you've considered
A gui that new players see all the nations with detailed information and click to submit the application
Work Item
Description
Implement a system to allow players to apply to join a faction, with faction leaders having the ability to review, approve, or deny applications. This feature enhances player interaction and engagement by formalizing the process of joining factions through an application and approval mechanism.
Requirements
Faction Application Structure
Application Lifecycle
View and Submit
Cancel
Review
Approve or Deny
Application Handling Logic
Faction Permissions
Introduce permissions to control which faction members can approve or deny applications.
Localization and Commands
Acceptance Criteria
In-Game Verification Checklist
To ensure the Faction Application System works as intended, the following functionalities must be verified in-game:
1. Applying to a Faction
2. Viewing Applications
3. Approving an Application
4. Getting an Application Approved as the Applicant
5. Canceling an Application
6. Automatic Cancellation of Other Applications
7. Error Handling
The text was updated successfully, but these errors were encountered: