Party System

If Wishes were UOX Coders, we'd be done by now ;P Post your wishes/suggestions for UOX3 changes/improvements here.
Post Reply
Kiff
UOX3 Apprentice
Posts: 100
Joined: Fri Mar 03, 2006 2:30 am
Has thanked: 0
Been thanked: 0

Party System

Post by Kiff »

Clicking "add a party member" doesn't give you a cursur to add a party member.
Never Underestimate the Power of Stupid People in Large Groups
Maarc
Developer
Posts: 576
Joined: Sat Mar 27, 2004 6:22 am
Location: Fleet, UK
Has thanked: 0
Been thanked: 0
Contact:

Post by Maarc »

That's because there is no support for the party system.

One could be coded up, but it would rely on knowing the implementation that people want, and seeing if there's not further enhancements that could be required.
giwo
Developer
Posts: 1780
Joined: Fri Jun 18, 2004 4:17 pm
Location: California
Has thanked: 0
Been thanked: 0

Post by giwo »

Yeah, this is an extra feature I simply haven't bothered yet to add....


Eventually I imagine we will want to implement it, but it is going to take a reasonable amount of work to incorporate everything the party system does.
Scott
Maarc
Developer
Posts: 576
Joined: Sat Mar 27, 2004 6:22 am
Location: Fleet, UK
Has thanked: 0
Been thanked: 0
Contact:

Post by Maarc »

I've taken a quick squiz at the information on the party system that is provided by UO stratics. Structurally, there's not a huge lot to add. You're probably looking at something like:

Code: Select all

class PartyEntry
{
protected:
	SERIAL	member;
	bool	isLeader;
	bool	lootable;
public:
	// generic accessors/mutators/constructors go here
}

class Party
{
protected:
	CDataList< PartyEntry * >	members;
	SERIAL				leader;	// shortcutting the lookup
public:
	void AddMember( CChar * );
	void RemoveMember( Cchar * );
	// generic constructors/accessors/mutators go here
}

class PartyFactory : public Singleton< PartyFactory >
{
protected:
	// look up data here, probably something like
	CDataList< Party * >		parties;
	std::map< SERIAL, Party * >	partyQuickLook;	// shortcutting the lookup
public:
	Create( CChar *leader );
	Destroy( Party * );
	Destroy( CChar *member );
	Get( CChar *member );
}

And then you probably want to add something like a

Code: Select all

	bool inParty;
To the PC structure.


Parties don't need to be persistent. Server goes down, people just reform.

Parties have a knock on effect to Fame/Karma through killing, it gets shared around. But you can achieve that through Damage() and the damage tracking routines, don't need extra data.

Apart from that, it becomes a case of handling the packets properly, and making sure it's all sent. Looting rights, party chat, and invite/removal largely seems to be what is left, I think. You could try and add more bonus features on this base level (eg stop racial enemies grouping, for instance). And you could look at making it even more generic, so that you can have NPC parties (follow by leadership?) But that's just thoughts from 5 minutes worth of reading :)

I gathered the information from here when forming my thoughts: http://uo.stratics.com/content/misc/party.shtml

Late night thought:

Impact on looting of kills. It's not dealt with in the OSI system, so I'm guessing it's a free for all. Could implement something which is either free for all, lottery, or highest damager gets looting rights (and now that we track damage, we can see this).
Kiff
UOX3 Apprentice
Posts: 100
Joined: Fri Mar 03, 2006 2:30 am
Has thanked: 0
Been thanked: 0

Post by Kiff »

All I really would like to see is the ability to add to a party, (maybe get those special bars that show mana, stam and health that party members get to see), and be able to chat with party members. Looting rights and all that is just extra...even sharing fame and stuff isn't that important to me :p
Never Underestimate the Power of Stupid People in Large Groups
Post Reply