Code Monkey home page Code Monkey logo

astrum-core's Introduction

astrum-core

Source code for a generic rotmg private server. Join the Discord server

Feel free to contribute in any way you want, just send a message in the discord server and we'll talk.

astrum-core's People

Contributors

zolmex avatar

Stargazers

kevin avatar Versified avatar miu avatar Habib A. avatar Syed Abbas avatar  avatar SaquarTM avatar

Watchers

 avatar

Forkers

universerealms

astrum-core's Issues

Player death (account stars, legends board, etc)

  • Calculate total fame gained and add to account fame.
  • Legends board.
    • Compare the char's death info with legends' top 10 char.
    • Update the legends board by week, month and all time.
    • Cap the amount of legends shown in client at 20. Order in descending fame.
  • Increase account stars according to the class fame goal.
  • Spawn gravestone on death.

Player sight in client-side

Remove the sight calculation for tiles in the server and move it into the client.

  • Load maps in client.
  • Calculate visible tiles.
  • Draw visibile tiles on map.
  • Discard entities out of the client-calculated sight tiles.
  • Load + render tiles only when the client receives a NewTick packet. This avoids players continuing to move through the world even when the server is lagging.

Inventory system

  • Inventory slots.
    • Save to character.
    • Export stats.
  • Item Data.
  • Item swap.
  • Item drop.
  • Item use.
    • Player abilities. (Wizard, Warrior, Archer, Priest)
    • Dungeon keys.

New map editor

Objectives:

  • Standalone SWF app.
  • Able to edit multiple maps at once.
  • Good zoom/navigation/draw controls.
  • Able to edit/create big maps like realm.
  • Show map stats. (width, height, object count, etc)
  • Able to enter commands for precision tasks.
  • Able to treat setpieces as "small maps" that you can copy and use in other maps.
  • Ability to copy/paste content from one map to the other.
  • Ability to paint tiles/objects in different shapes.
  • Customizable pencil size.

Tasks:

  • Loading content.
  • Editor view.
    • Map grid view.
    • Render tile textures.
    • Render entities/static objects.
    • Render regions.
    • Toolbox.
      • Zoom (input).
      • Select tool. Hotkey 'm'
      • Move tool. Hotkey 't'
      • Pencil tool with increasing size. Hotkey 'b'
      • Bucket/Fill tool. Hotkey 'g'
      • Texture (instead of color) picker. Hotkey 'i'
      • Eraser tool. Hotkey 'e'
      • Edit tool (object strings). Hotkey 'd'
      • Copy/Paste. Hotkey only.
      • Undo/Redo (ctrl + z, ctrl + y).
      • Multi-optional switch button for switching between ground, objects or regions for tool work.
      • Make tiles selected after pasting and change tool to select.
      • Make ESC key remove tiles selected.
      • Move selected tiles around the map when dragging with select tool.
    • View tile info panel (tile pos, object, region).
    • Object selection view.
      • Elements list view.
      • Search query filter.
      • Object properties filter (enemy, god, encounter, character, etc).
    • Draw default ART texture when the texture isn't found.
  • Controls
    • Zooming
    • Moving with mouse.
    • Draw tiles.
    • Erase tiles.
    • Draw element tooltip.
  • Load an actual map to map view.
  • Load .wmap maps.
  • Edit multiple maps at once.
  • Save map.
  • Save map in .wmap

Vault

  • Buying vault slots.
  • Saving vault chest data to vaults db inventory.
  • Loading and arranging the chests properly.
  • Gift chests.

Realms

  • Loading realm maps.
  • Oryx (realm controller)
    • Spawn realm enemies by terrain type.
    • Ensure the population of realm enemies.
    • Spawn realm bosses aka events.
    • Close the realm after X amount of realm bosses are killed.
    • Quake all players to Oryx Castle.
    • Remove realm portal and add a new realm.

New map editor tools

  • Pencil changeable size.
  • Line tool. Hotkey 'l'
  • Shape tool. Hotkey 'u'
  • Import assets button.

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.