groupMakeMasterLooter.js/groupUninvite.js
- Fixed issues with unnecessary spaces
GroupObject
- fixed unnecessary line breaks
- refactored loot rule from an int into an enum
- fixed sub int spacing
- fixed name on getLeaderId
GroupService
- fixed ScheduledExecutorService so that there is only one, and it spawns threads and puts the Future in the map of CreatureObject to Future
- changed types for logoffTimers to a map
- commented out the loot stuff for now
- refactored a good chunk of handleInvite to another method
cmdDismissGroupMember
- command hook to send the kick event
GroupEventIntent
- added the GROUP_KICK intent
GroupServices
- fixed the brace on handleMakeLeader
- added handleKick
groupMakerLeader.js
- serves as the command hook for the make leader command
GroupService.java
- now handles the GROUP_MAKE_LEADER intent
- added handleMakeLeader to take care of switching the leader to another character
- refactored sending invites out to sendInvite, one that allows the passage of the current groupID, and one that sets it to -1 for group creation
- handleGroupLeave also filled in
GroupEventIntent
- Added the GROUP_LEAVE event to the GroupEventType enum to flag for the leaveGroup command
GameManager
- reenabled the GroupService
GroupService
- added a check for the GROUP_LEAVE event type
- created the method handleGroupLeave which will process a player leaving a group and disband if necessary, currently just stubbed
There are some outlier commands that don't follow the assumed convention of "admin" ability + godLevel, for example /setGodMode does not require the "admin" ability, but neither does it have a godLevel. So without manually checking in that instance, any player could grant themselves god mode and have access to low level admin commands.
In order for admins to gain access to most of their commands, they must call the /setGodMode command. This command gives them the "admin" ability, and this ability works in tandem with their godLevel (which is determined by their access level).
Adds a minor implementation for abilities to enable the admin system to work. This implementation should come in handy in GU3 when we start on combat, since it will automatically prevent players from calling combat commands that they do not have the ability to call.