Giter Site home page Giter Site logo

angelotadeucci / maple2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kochirasu/maple2

18.0 0.0 15.0 3.38 MB

Server emulator for MapleStory2.

License: GNU Affero General Public License v3.0

C# 99.75% Dockerfile 0.10% Batchfile 0.01% PowerShell 0.14%

maple2's Introduction

MapleStory2 Server Emulator

This is an open source MapleStory2 server emulation project created in C#. It is being developed completely for educational purposes only. This software is being provided "as-is", completely for free. As a result, we, nor anybody who chooses to contribute, are not responsible for any damages or other liability as a result of this software.

Setup Guide: https://github.com/AngeloTadeucci/Maple2/wiki/Prerequisites

Join the community discord!

maple2's People

Contributors

angelotadeucci avatar budomike avatar darkvergus avatar dreary avatar gwagwaflamingo avatar julianvu avatar kochirasu avatar mettaursp avatar natoweg avatar shuabritze avatar skyrossm avatar zintixx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

maple2's Issues

Maid - Payment and striking

Payment refers to the payment system - where a maid has to be paid its salary in time, otherwise it will expire. While expired, the maid refuses to do any type of work.

The salary, and currency type, a maid requires is defined in table maidsalary.

The employment time of a maid is defined in constants by PeriodOfMaidEmployment, while MaidReadyToPay defines the amount of days before contract expiration where maid payment will start to be available.

The status of that contract can affect dialog options, as seen with maid_expired, maid_day_before_expired and maid_ready_to_pay in NpcScriptCondition.

While expired, the maid will stop moving, and its action will change to the one defined by attribute maidExpired in its npc xml.

Maid - Closeness system

Closeness reffers to Affinity, also known as the maid level system. It can be increased by item manufacturing and certain dialog scripts, such as the salary payment scripts.

The amount of exp required per level is defined in the table maidexp.
The amount of exp gained per craft is defined by the recipe's MaidExp in either MaidRecipe tables.
The affinity level affects the recipe groups a maid has unlocked, as seen in maidrecipegroup.
The maximum affinity level is defined in constants by MaidAffinityMax.

Affinity can also affect dialog conditions, as seen with the attributes maid_affinity_time and maid_affinity_grade.
Like maid_mood_time, maid_affinity_time may refer to the amount of seconds since affinity was last through modified.
maid_affinity_grade in the other hand, refers to the level of the affinity.

Club - Buff

Activating and deactivating club buff depending if club members are present in field.

Saving and setting the club buff

Daily and Weekly Reset

Implement daily and weekly

Will affect but not limited to:

  • Accumulated prestige exp
  • Prestige rewards claimed
  • Premium Club rewards
  • Housing rewards
  • Alliance daily quest refresh

Room Timers

Some rooms have timers (usually Hidden Realm Maps) that need to be handled. This is not using Triggers

Shops - Use Server data

A current version of shops exists in emulator. Need to swap to the server data shop_game and shop_game_info

Dynamic allocation of channels port

Add some channels. Currently without any channels, there is some wonky behavior with 2 or more characters entering the same non instanced map.

Maid - Mood

Mood refers to the happiness of the maid. It can be increased or decreased with certain dialog options, as well as decrease with offline time.

The amount of mood that is decreased with offline time, and the amount of that time, is defined in constants in decreaseMaidMoodValue and decreaseMaidMoodMinutes.

An example of dialog options that increase/decrease mood is Rebecca (11000758)'s script IDs 30-32.
Upon beginning dialog with Rebecca, if the option "Let's chat!" is available, the dialog will be redirect to script IDs 30-32.
The scripts then present multiple dialog branches, all of which can decrease or increase mood, as seen in the server-sided npcScriptFunction.

Depending on the mood meter, the maid mood varies from normal (So-So), good (Good) and very_good (Very Good).
The mood then in turn affects the craft time of any recipe the maid manufactures, as seen in either MaidRecipe tables, as well as the jackpot rate, as seen in MaidGradeInfo.

Mood can also affect dialog conditions, as seen by the attribute maid_mood_time.
Though it is unclear what exactly maid_mood_time means, it may refer to the amount of seconds since mood was last modified. So in the example of most maids, the player would be able to go through the mood-raising dialogs only 30 minutes after they last through went them.

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.