shoftee/JavaStory — Issue #6: Player groups need better abstraction.
Author: shoftee
Created: 2011-10-21 11:09:35+00:00
State: open
Labels: character, database, packet, rmi

There are obvious similarities between the handling of guild, party, buddy (etc) operations. For example:
* the real-time update for state of online players;
* cohesive player groups such as guilds, parties, squads and alliances all have a similar concept for identity;
* some groups such as guilds, parties and alliances require persistence;
* broadcasting messages among group members, within or across channels, is virtually the same logic;

Most of the packet logic for this is in the ChannelCharacter class. That is a bad place. It should be in specific classes, if possible classes which share a common interface.