Server
Server copied to clipboard
Fellowship System (TBS feature)
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.
There is a https://github.com/EQEmu/Server/blob/f690c64f9e9916a65057b8e19bdb4fdb386a5d94/common/patches/rof2_structs.h#L647 canplacecampsite flag in the struct already.
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?"
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)
There is a 20 hour delay timer before you can be invited to a new fellowship after leaving one.
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.
the "how" keyword in dialog is what summons the insignia
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.
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?)
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.
campfires appear to last about 2 hours.
You can create a campfire while in combat
in yellow: The ground is too steep to camp.
100m radius for fellowship cam pcreation, it looks like, i need to do more testing to isolate exactly edit: confirmed, exactly 100m
The campfires are basically "auras that apply to a fellowship" rather than a player :P
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..
- 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.
likely channel 21 for /fsay
perhaps your wood is wet errors when a campfire already exists
perhaps your wood is wet errors when a campfire already exists
Have you tried summoning one underwater? In a bit into water?
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
Any info on this?
Structs would be fire too.
create fellowship: [Core]-> 0x7121 refresh list: [Core]-> 0xC12