GithubHelp home page GithubHelp logo

zanedubya / medievalandspublic Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 1.0 989 KB

MedievaLands [closed source] is a a recreation of an early MMORPG. The desktop client runs on .NET Framework on Windows and macOS. The server runs on .NET Core on Linux. The website is written in PHP and runs on Apache on Linux. 126,500 lines of C#.

medievalandspublic's People

Contributors

zanedubya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

wildgenie

medievalandspublic's Issues

Fix six breaking issues

  • Fix breaking error when calculating critical type at WorldData\Battle\Mechanics.cs:line 105
  • Fix breaking error when recalculating map events after casting teleport at WorldData\Map.cs:line 154
  • Skills have stopped working outside of combat. When did this break?
  • Can't find Cleowyn's Key in the upper parts of the Mine. WorldData\Maps\AMapScripted.cs:line 476
  • ItemCheck is broken
  • CAN MAKE SKILLS MORE THAN LEVEL 12!! Bad protocol, immediately rejected by server.

Polish: Dungeon viewport asset clipping

The various assets that make up the dungeon view need to be clipped when combined with each other in certain permutations. Clipping will eliminate the remaining graphical bugs seen in the UiDungeonView control.

This is polish.

Show player's gold in item buy / sell screen.

The client does not currently show the player's gold in the item buy/sell screen of the Keep.

As part of this issue, make sure the server is sending the client's gold amount when it changes (on buy/sell).

Add sound effects assets.

CommunityKit already has an excellent sound effect system programmed. But I have no sound effects in the resource files. Time to hunt some down and add them!

Necessary sound effects:

Movement

  • Footstep
  • Opening a door
  • Closing a door
  • Hitting a wall

Items

  • Picking up an item
  • Dropping an item.
  • Using a potion
  • Equipping/Unequipping: Clothes, Leather, Chain, Plate, Weapon, Wooden, Amulet/Ring

UI

  • Open/Close bag
  • Open/Close sheet

Spells/Skills

  • Lockpick
  • Beneficial magic
  • Harmful magic
  • Teleport
  • Shield Magic

Combat

  • Physical hit
  • Bow

Show "level up" modal message box in Keep.

Right now, a level up is silent - the only indication that the player has leveled up is the increment of their level number (and the additional skill/spell/attribute points).

There should be a modal box announcing the level up.

Add pixel effects to RoundPacket

These are just the legacy effects.

I'll replace these with modern effects in the future.

Effects to add:

  • Blood on hit
  • Magic on hit (positive)
  • Magic on hit (negative)

Graphics start at 494 in MainTsu

Should buffs replace existing buffs of the same type?

Except this really isn't the case.

Passive buffs can stack (for example, Duelist insignias and the Fencing skill both add a Fencing skill buff).

I guess what I want is for more powerful versions of the same buff to replace the existing buff.

And debuffs should be replaced by new instances of the same power of debuff.

I'm going to leave this as is for legacy, with an eye towards refreshing the behavior (and all skills and spells) for modern.

Implement chat in Dungeon

This is a big one: I need to develop the interface for chat in the dungeon's exploration/encounter modes.

An important question is whether chat should be modal or modeless?

  • Modeless (always present) chat interfaces encourage community interaction and discussion.
  • Modal (only present when invoked) will allow use of WASD+QE or Arrow keys to move the party.
  • I'm against giving players the option to choose right now - that would be more work on my part!

I am a huge fan of modeless chat, like you would find in UO and SWG. But I am also a huge fan of WASD movement.

Patcher: enumerate issues.

I would like to have a separate "Patcher" program that is able to update the client. This should probably be separate from the actual client program.

What features are necessary for the patcher program?

How does it (or the client) detect that the client is out of date and needs to be updated?

How can we make this cross platform? I'd like to deploy on both Mac and Windows, but this relies on the MonoGame platform. Is it possible to download new executables/libraries using this platform?

If I can't make it cross platform, how do I account for having different patch strategies on Mac/Windows?

Implement portraits/monster icons in Explore and Encounter mode.

When you meet a denizen of the dungeon, you should be able to confront them face to face. To do this, I'll add portraits for both humanoids and monsters in both the Explore and Encounter modes.

As part of this issue, I will also show the correct icons for monsters on the Encounter board (currently every enemy you meet is a wolf), and show the 'death' icon for dead players.

Only trinkets should confer a benefit when worn in the trinket slots.

This is an issue about trinkets - things like wreaths, amulets, and medallions. A player has two trinket slots in their paper doll.

Right now, the ServerPlayer object sums up all bonuses from any items held in the first six equipment slots.

But this means that you could put a nice helm or weapon in the trinket slots, and gain the benefits from that even though it shouldn't work that way!

Two options: either limit the trinket slots to trinkets only (as with weapons/armor/helms/etc; you can only wield a weapon in the weapon slot), or only allow trinkets to bestow benefits in these slots.

Combat: add pick-pocket skill.

This is the one remaining combat skill left to be added! On successful pick pocket, a player should be able to add a new item to the loot list.

Tavern: enumerate issues.

The Tavern is the social center of CommunityKit, where players collect and communicate between adventures.

The Chat window dominates the interface of the Tavern. This is a long list of chat messages sent by people in the Tavern. People who chat have their messages, emotes, and whispers show up here. Below the Chat window is a non-modal Chat box, where you can type your messages. This control is the exact same as the Chat box in the Dungeon, but is always on the screen, as opposed to being summoned by pressing Enter. So long as the Chat window is open, the Chat box accepts keyboard input.

On the right side of the Tavern is a list of all players in the Game at this time. The players are by default sorted alphabetically. Player names are hued with their guild's color. Next to each player's name is an icon indicating what that player is doing at this time. By hovering over a player's name, you can see their face and stats. Clicking on a player's name will open a /whisper prompt.

Below the list of player names is a set of buttons: BOARDS, POST OFFICE, CONFERENCE, OPTIONS, and PLACES. Each of these activates a sub-mode of the Tavern, except for PLACES, which returns the player to the overworld map. Most of these features will not be available at launch; these will be added after hypercare and stabilization.

Add music assets.

There needs to be some music in this game. I'll need themes for:

  • The overworld map.
  • The tavern/keep.
  • Exploring the dungeon (three themes).
  • Combat (standard/dangerous/final).

Server: orphaned items should be deleted.

Right now the server never deletes items that belong to characters that are deleted.

I need to add three checks to take care of this:

  • When a character drops an item, delete the item.
  • When a character is deleted, delete all the items in that character's inventory.
  • When loading the actor database, indicate when an orphaned item appears and then delete it.

Fix heal/mana restore potion messages.

Items effectively cast spells when used. As a side effect of this behavior, the player receives a message that indicates that they cast a spell! This is inappropriate for heal potions and mana restore potions.

Feature: Additional party management UI.

Right now, there is a "Join party" button is always visible.

What should be there is a "Other people" or somesuch button that shows everyone else on the map, and allows you to join or challenge them.

Features to add:

  • Make leader
  • As leader, kick party member
  • If party leader is dead, automatically promote first living party member.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.