Server icon indicating copy to clipboard operation
Server copied to clipboard

Fellowship System (TBS feature)

Open xackery opened this issue 6 years ago • 22 comments

http://everquest.fanra.info/wiki/Fellowships has a pretty good rundown of it.

Fellowships are awesome. While PEQ is focused on DoN, and most other servers are focused on trilogy or custom, I feel having this in the codebase would be very cool. Daerath's recent wiki efforts regarding neighborhood inspired me to peek at this feature set, as it seemed easier than my previous expedition one. I'm using this issue to track my progress - if anyone is interested in commenting/helping on this let me know.

OP exchanges that likely need to be identified

  • [ ] Create a fellowship
  • [ ] Leave a fellowship
  • [ ] Invite player to fellowship
  • [ ] Kick player from fellowship
  • [ ] Promote player to leader of fellowship
  • [ ] Toggle shared experience of target player on fellowship
  • [ ] Refresh listing of players on fellowship
  • [ ] Create a campfire
  • [ ] Destroy a campfire
  • [ ] Search for campfires (this is "Refresh List" in client, and has a drop down of campfire categories, as well as a check mark to Filter Only Ones I Can Use).
  • [ ] Vitality progress bar update for normal experience and aa experience.

Client side areas of concern:

  • [ ] Fellowship UI - rof2, rof, sof, uf should support.. titanium will not
  • [ ] #fellowship command - for titanium
  • [ ] Verify campfire is a global_load in titanium/other expansions. If not, look at using a placeholder global object to represent this spawnable entity in all zones.
  • [ ] Vitality Bar - This was added in VoA, so probably only rof supports it. we can use #fellowship (or perhaps #vitality?) to give details to players about this bar's status on non-RoF2 clients.

Server side areas of concern:

  • [ ] zone has a fellowship flag as per mq2 struct dumps - there is evidence of this in rof2 structs in eqemu's code too.. need to implement and make this functional.
  • [ ] There may be a unique zone change opcode/allowance to the fellowship teleport?
  • [ ] epp add vitality support
  • [ ] epp add fellowship data
  • [ ] fellowship table? can likely mirror the group table and add some fields for supporting other data.
  • [ ] navmesh support of "flat land in an open area?
  • [ ] add rule to enable support of feature - by default enabled? The quest NPC that rewards the insigna could honor the rule's value regarding summoning new ones, as well as the clicky effect.
  • [ ] Insignia clicky effect - Seems to be a custom spell file, can just write a custom logic to handle it.

Other features impacted by this:

  • [ ] Guild Banner system is likely very similar to this mechanic, so once done likely can be extended to also include banner mechanics.

xackery avatar Feb 06 '19 18:02 xackery

There is a https://github.com/EQEmu/Server/blob/f690c64f9e9916a65057b8e19bdb4fdb386a5d94/common/patches/rof2_structs.h#L647 canplacecampsite flag in the struct already.

xackery avatar Feb 06 '19 19:02 xackery

Invite: Inviting <Player> to your fellowship.

Make leader with no person selected, message box: "Please select a member to promote" Make leader w/ person selected, message box: "Promote %s to leader, are you sure?" Create camp nobody nearby: "You do not have enough nearby fellowship members to create the camp" Generic fail error in red: "You can't create a campfire for some reason. Perhaps your wood is wet?"

xackery avatar Feb 09 '19 22:02 xackery

Need 3 in the fellowship near by. This is to prevent say a rogue from running somewhere thanks to SoS and basically teleporting the group there. (Or I assume that's why)

mackal avatar Feb 09 '19 22:02 mackal

There is a 20 hour delay timer before you can be invited to a new fellowship after leaving one.

xackery avatar Feb 11 '19 01:02 xackery

They later changed the "gaining experience while offline" into the vitality system.

In the September 15, 2011 patch, Fellowship Experience Sharing was changed:

*** Fellowships ***

  • The current method of experience sharing has been changed to a vitality system:
  • Experience splitting for fellowship members that have sharing enabled remains the same. However, rather than going directly into the receiving player's experience, the shared experience goes into two vitality pools, one for regular experience and one for AA experience.
  • When a player with vitality in their pools plays, they gain regular and AA experience at a significantly increased rate for kills.
  • The bonus is up to 5x for regular experience and up to 3x for AA experience. Normal per-kill caps on experience apply.
  • The vitality pools have caps: approximately enough for 10 levels of regular experience, and enough to reach your AA cap for AA experience.
  • When a receiving player's vitality becomes capped, their experience sharing is automatically disabled (this is displayed in the fellowship window). It automatically re-enables if some of that vitality is used.
  • Messages about when you receive, use, and deplete your vitality pools are given in chat. Eventually these will be augmented and/or replaced with visual vitality indicators on your experience bars.
  • You may now join a fellowship only once every 20 hours.

In the October 12, 2011 patch, the "vitality bars" were added to the UI:

  • Added vitality bars to the experience and alternate experience gauges in the inventory window. They appear as a green bar at the bottom of the experience bars. The bars represent the percentage of available vitality compared to the vitality cap. When they are full of vitality, the bar will be full. When they have no vitality (or when the max is 0) they will have an empty bar.

xackery avatar Feb 11 '19 01:02 xackery

the "how" keyword in dialog is what summons the insignia

xackery avatar Feb 11 '19 02:02 xackery

if you placed a campfire in a location in the past, and nobody is in zone.. you can use the insignia to teleport to it. I'm not sure the decay timer for this.

xackery avatar Feb 11 '19 02:02 xackery

toggle sends a packet, a character leveling up does not send a packet until a member of the fellowship zones (the packet is sent to the remaining of fellowship?)

xackery avatar Feb 13 '19 03:02 xackery

You gain party experience! You have received vitality from your fellowship.

You gain party experience! Vitality was applied to your regular experience gain. Your vitality of regular experience is now depleted.

xackery avatar Feb 13 '19 05:02 xackery

campfires appear to last about 2 hours.

xackery avatar Feb 24 '19 07:02 xackery

You can create a campfire while in combat

xackery avatar Feb 25 '19 03:02 xackery

in yellow: The ground is too steep to camp.

xackery avatar Feb 25 '19 13:02 xackery

100m radius for fellowship cam pcreation, it looks like, i need to do more testing to isolate exactly edit: confirmed, exactly 100m

xackery avatar Feb 26 '19 04:02 xackery

The campfires are basically "auras that apply to a fellowship" rather than a player :P

mackal avatar Feb 27 '19 01:02 mackal

Yeah, I haven't tested heavily the auras of campfires. Will need to investigate more how it works.. and if we can just piggy back/emulate the aura system in place..

xackery avatar Feb 27 '19 17:02 xackery

  • Normal level restrictions apply. The receiver must be within the normal group experience sharing level range. (Receiver must be 2/3 level of the donor.)
  • Shared experience received can go to level experience, AA or any combination of the two just as it is set in the receiver's AA window.
  • If a toon receiving shared experience is maxed out (100% in 100 or 100 AA banked) the exp then goes to waste.

I think the above was changed. I need to verify this, but I've been testing this with 0% AA EXP set, all normal experience, and my vitality for AA exp has been going up. This goes against the second line item.

xackery avatar Feb 27 '19 19:02 xackery

likely channel 21 for /fsay

xackery avatar Feb 27 '19 19:02 xackery

perhaps your wood is wet errors when a campfire already exists

xackery avatar Feb 28 '19 09:02 xackery

perhaps your wood is wet errors when a campfire already exists

Have you tried summoning one underwater? In a bit into water?

mackal avatar Feb 28 '19 17:02 mackal

there's details about banners noting: Once a Standard of Honor banner is planted, it will last indefinitely if there is at least one guild member in the zone. Otherwise it will disappear one hour after all guild members leave the zone. The banner can also be removed via a button control in the guild management window if you have the proper permission.

All other banners last 60 minutes.

chances are campfires follow similar rules. I know they aren't indefinite, though.. but the expiration timer is likely close.

I will try water soon enough

xackery avatar Mar 01 '19 21:03 xackery

Any info on this?

Structs would be fire too.

splose avatar Dec 19 '21 22:12 splose

create fellowship: [Core]-> 0x7121 refresh list: [Core]-> 0xC12

xackery avatar Dec 30 '22 23:12 xackery