- Added basic support for translation, added czech and polish localization (not yet 100% done)
- Mob experiences gained after kill may now be adjusted on a race or class level
- Improved tab-autocompletition for skills
- Parts of the plugin now may be reload at runtime, the goal is to make all configurations reloadable on the fly
- Added yet another way how to create skills.
- Its a mix of HOCON configurations and a very simplified JavaScript code
- To simplify JavaScript code as much as possible there are now some fuctions which reduce boilerplate code.
- https://ore.spongepowered.org/NeumimTo/NT-Rpg/pages/Developers/functions
- Skills are defined in the file Skills-Definition.conf
Example configuration:
Skills: [
{
#This skill is equivalent of a javaskill cz.neumimto.skills.active.SkillMegabolt.
# Id must be unique
Id: "ntrpg:megabolt2"
# The name of the skill.
# Name may be changed per each skilltree, but there must not be multiple skills with the same name
# skills may be executed via /skill <skill:id> or /skill <skill-name>
Name: megabolt
# Parent node defines if the skill is type of Active/passive - its requires to target an entity etc
# Parent node may change which variables maz be referenced in the Script section.
# Eg. Inheriting from active wont make accessible varible _target
Parent: active
# Skill types
Skill-Types: [
"ntrpg:aoe",
"ntrpg:lightning"
]
# If the skill may deal damage there must be node DamageType.
# If the skill deals no damage to anyone (eg simple healing) this node should not be defined
Damage-Type: "magic"
# Optional node, some extra informations related to skills, skill lore can be found in ingame inventory menus
Lore: [
line1
"&4line2"
]
# Brief description of the skill, skill description can be found in some ingame inventory menus
Description: "Damages nearby entities with a lightning strike"
# Default config nodes you with to use, this section has to have all nodes, if you wish to execute skills via /nadmin command, otherwise it may be left empty
Settings: {
"damage": 10
"damage_levelbonus": 5
"range": 15
"range_levelbonus": 1
"mana": 10
"mana_levelbonus": 10
}
# How you with to load the skill, lets keep there js for now
Loader: js
# The bussines logic for a sklll
# The script is called AFTER all validations such as mana pool check, cooldowns etc
# If you need to debug anything simply call function log(<data>)
# For more documentations check out wiki, or functions.md file
Script:
"""
var totalDamage = param("damage", _context);
var totalRange = param("range", _context);
for_each_nearby_enemy(_caster, totalRange, function(entity) {
var location = get_location(entity);
if (damage(_caster, entity, totalDamage, _context)) {
spawn_lightning(location);
}
}
);
"""
}
-
fixed lots of bugs related to inventory menus, skill execution etc..
-
Refactored large portion of skills which makes entire system more flexible.
-
Make some changes to prepare the plugin to allow skill packs (jar files) to be reloadable on the fly
-
Changed way how the plugin manages the database schema. If you are running mysql or postgres hibernate no longer generates tables automatically, this approach is generally more safe.
-
Bunch of another features which i already forgot about.
-
Added some placeholders which you can use together with placeholderapi
- race - returns characters race
- class - returns characters primary class
- char_name - returns character name
- primary_class_or_spec - returns a name of a primary class, or a highest tier of its specialization
- primary_class_level - returns a level of a primary class
- mana - returns current amount of mana
- max_mana - returns maximal volume of manapool
-
Its now possible to configurate skills that they will cost specific amount of items to be casted.
- If the player has not enough items to cast the skill its possible either deny the attempt to cast the spell, or adjust its configuration, for example change skill cooldown.
- Its possible to define whenever the items should be removed from players inventory
Example:
InvokeCost {
Items: [
{
Amount: 10
ItemType: "minecraft:paper"
Consume: false
}
],
Insufficient: [
{
Id: "ntrpg:adjusted_skill_settings_value"
Key: "cooldown"
Value: "{{value}} + 25000"
}
]
}
You can grab skills here: https://github.com/Sponge-RPG-dev/NT-RPG/releases/tag/NT-RPG-1.0.12-RC-1 (as usual you place the skills jar to the ntrpg config addons directory)
-
Dont forget to download NT-Core https://ore.spongepowered.org/NeumimTo/NT-Core
-
Thanks to @GlassSpirit Theres now Bridge between this plugin and forge mod custom npc. Lets you to configu exp gain per npc kill or quest completition; The classes needs to have ExperienceSource QUESTING https://github.com/Sponge-RPG-dev/NT-RPG-Mods-Bridge
Very simple examples how to setup classes, races and skilltrees may be found here. https://github.com/Sponge-RPG-dev/NT-RPG-Configs-And-Assets
The documentation is lacking and due to complexity its not so easy to configure this correctly :( For more question reach me out on discord: