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
GroupObject
- fixed some formatting issues
- added method to get the CreatureObjects of each GroupMember in the group
- removed mark/unmarkPlayerForLogoff and the TimerTask for them (moved to GroupService instead)
GroupService
- fixed the message sending methods
- GroupService now tracks if players log in and out and removes them as necessary
- still need to make sure the "disband" message is only being sent once, this stems from the leader being in GroupMembers twice
- need to make sure all appropriate messages are being sent to the players, like when leadership changes etc
- remove member is now checks to make sure that if one of two GroupMembers leaves, then the group should disband
- added method disbandGroup to destroy the group
GroupService
- instead of doing its own disbanding, that responsibility was refactored to GroupObject
GroupObject
- added a hashmap of a timer to a GroupMember
- changed removeMember to handle setting leader to the next most recent joiner
- refactored setLeader out to changeLeader, and added a way of setting a leader with a GroupMember object
- added method getGroupMember that will return a given GroupMember based on the player passed to it, if that Player is in the groupMember list
- added method markPlayerForLogoff which will start a timer for that player, when the timer fires, that character/player is removed from the group
- added method unmarkPlayerForLogoff which will cancel the timer to prevent that player from logging off
- added class LogOffTask which will be used in the Timer as a task
GroupService
- changed from watching for a player disappearing to one logging out
- when the player zones in, it will unmark it for logoff
- also handle if the player logs off by marking that player as logged off