Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for guilds. #445

Open
ZaneDubya opened this issue May 12, 2019 · 4 comments

Comments

Projects
None yet
1 participant
@ZaneDubya
Copy link
Owner

commented May 12, 2019

From the cookbook. I will not be implementing some but not all of these features:

*   Guilds
    *   Identity
        *   Name
        *   Abbreviation
        *   Heraldry/visuals
    *   Membership
        *   Join
            *   Leave
            *   Kick
        *   Powers structure
            *   Delegation
            *   Tiers
            *   Change of leader
        *   Shared inventories
            *   Banks
            *   Enemy guilds/PvP flagging
        *   Shared ownership of structures

@ZaneDubya ZaneDubya added the Feature label May 12, 2019

@ZaneDubya ZaneDubya added this to the IX. Post-Release Features milestone May 12, 2019

@ZaneDubya

This comment has been minimized.

Copy link
Owner Author

commented May 15, 2019

  • Guilds framework:
    • GuildSystem that ties into World.Load and World.Save, has GetGuild by guildID and GetGuild by player, and IEnumerable collection.
    • Guild object with serialization/deserialization, ID, Name.
    • Guild abbreviation.
    • Player has variables GuildID, GuildRank, string GuildTitle, bool GuildTitleIsPrefix
    • Player serialization/deserialization has guild section.
    • Initially only two guild ranks: member (0) and manager (127).
    • Guild object has methods AddMember, RemoveMember, ManageMemberInfo.
    • Guild object loads list of members after world load.
  • GuildSystem minimum feature set:
    • Guild creation screen, where player identifies the guild name, abbreviation, and description.
      • Guild creation screen sends CmsgCreateGuild packet.
      • Creating player is initial guild manager.
      • Server responds with SmsgCreateGuildAck, either pending or failed for various reasons:
        • Name or Abbreviation not unique.
    • After creation, the guild will go into a pending status, where it will need to be approved by me.
      • Pending status in Guild screen.
    • After approval, you will be able to invite new members with /ginvite (manager only).
    • A guild manager can also promote another member to manager with /gpromote.
    • Other commands: /gkick (manager only) and /gleave (any guild leader).
    • Guild features:
      • MOTD
      • Titles
      • Guild-only board.
      • Guild status updates in guild chat channel.
  • User interface necessary:
    • No guild: "You are not currently in a guild. Would you like to create a guild or view all the guilds on the server?"
    • Guild Creation Screen
      • Identify guild name and abbreviation
      • Set description
      • Submit button (to pending status)
      • On revisit
        • Pending status
        • Cancel button
    • Guild Management
      • Set description
      • Set MOTD
    • Guild Roster
      • Set own title
      • Manager can set roles (at this time, only member and manager)

@ZaneDubya ZaneDubya referenced this issue May 15, 2019

Open

MedievaLands Outreach: Week 8 #464

0 of 5 tasks complete
@ZaneDubya

This comment has been minimized.

Copy link
Owner Author

commented May 19, 2019

Guild framework finished. Working on UI / packets

@ZaneDubya

This comment has been minimized.

Copy link
Owner Author

commented May 20, 2019

Working on the way home. Will be done tonight.

@ZaneDubya

This comment has been minimized.

Copy link
Owner Author

commented May 21, 2019

As it turns out, it's difficult to work in the back of a car. Hopefully have this done tomorrow. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.