Code Monkey home page Code Monkey logo

tes3mp-xp's Introduction

tes3mp-xp

Features

  • Fully re-implemented leveling system
  • Extensive configs to customize derived stats, xp gain, and xp cost to level
  • Experience gain on kill
    • Option to share between allied players
  • Experience gain on quest completion
    • quest xp is based on player level
  • Experience gain on reading books
  • Experience gain on discovering dialogue topics
  • Experience gain from reputation increase
  • Configurable attribute/skill/level caps
    • Includes per-attribute and per-skill caps
  • Ability to respec a players skills & attributes
  • Gives player a "Training Journal" after chargen which they can use to access leveling/respec functions
  • Experience penalty on death and jail time

Install

  • Place the json files from the vanilla Data folder in server/data/custom/tes3mp-xp
    • If using Tamriel Rebuilt, Skyrim Home of the Nords, and/or Project Cyrodiil copy the files from vanilla data/PT
  • Place everything else in server/scripts/custom/tes3mp-xp
  • xpCalc.ods is a spreadsheet with formulas you can use to tune xp gain config values
  • Add the following to customScripts.lua
xpLeveling = require("custom.tes3mp-xp.xpLeveling")
xpGain = require("custom.tes3mp-xp.xpGain")
xpDeath = require("custom.tes3mp-xp.xpDeath")
  • The "Additional Resources" folder contains instructions for dumping non-vanilla data to json files, if you go down this path I won't provide assistance other than the instructions in the folder.

xp_override.json

  • This json can be used to override level/xp values per:
    • creature/npc refid
    • quest
      • should be in the format of <quest>_<index>
    • skill book
    • dialogue topic
  • The "xp" value will be prioritized
  • Example entries are present by default

Chat Commands

  • Global commands
    • /xpstatus to show progress to next level
    • /levelup to open the levelup menu when ready to level up
    • /respec to open respec confirmation menu
  • Admin commands (staff rank 2 by default)
    • /xpoverride <type> <id> <level/xp> <value> to add a record to the xp_override table
    • /forcelevelup <pid> to give a player a level (does not affect xp)
    • /givexp <pid> <amount> to give a player xp

Known Issues

  • Level xp cost formula has had very little testing and may result in strange leveling rates
  • Will not work with existing characters
  • Respecced levels may be tedious to re-levelup at very high levels depending on the value of your xpConfig.skillLvlsPerSkill setting

tes3mp-xp's People

Contributors

boyos999 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

piercelbrooks

tes3mp-xp's Issues

Respec

Initial respec system worked fine, I was able to allocate points where I wanted, however I only allocated trait points for no reason other than I wanted to. Half way through my respec I decided to start over again. My max level went from 14 to 9, I kept all my trait points despite the journal telling me I never spent any. I was able to respend my trait points, most of my traits were very high and with 90+ points I could have had everything at 100 by level 3. I never spent any points on skills during this time b/c once I saw how I borked the script I rerolled a backup character.

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.