PMMO Advancement Triggers
Silvertide7 opened this issue ยท 0 comments
Describe the solution you'd like
Emit triggers for advancements very similar to loot predicates. Something maybe like:
{
"trigger":"pmmo:skill_level",
"conditions": {
"player": [
"condition": "pmmo:skill_level",
"predicate": {
"skill":"skillname", //required
"level_min": 10, //optional
}
}
}
}
Why is this feature needed
Allowing for advancements to be made through achievement in pmmo skills opens up limitless doors in customization and integration of pmmo and other mods. An MMO game is heavily achievement based and putting in long hours and dedication into your character progression is a great place to give those achievements.
At a baseline an advancement would allow a player to feel a sense of accomplishment (looking at you EA) in unlocking the plaque or advancement itself. This is enough of a reason for many achievement hunter style players, which are common place in MMO's. Further this allows you to give rewards as well, like unlocking recipes or giving the player loot or experience. You could even do things like give special colored armor that can't be obtained any other way.
Unlocking recipes can be an interesting game design in itself, allowing for a community to have to come together to get things done. If only a higher level builder can craft specific decorations or functional pieces, the players would need to come to them for their services. Or a high level mage crafting a better version of a wand, or an engineer able to build attachments for a rocket or upgrades for a backpack. Gating some of the higher level items behind players who have achieved skills high enough to craft them can make for an interesting economy and force community interaction.
Simply announcing to the server (for advancements configured to do so) that a player has achieved something not only increases that players reputation but also gives a reason for players to comment in global chat or congratulate each other, increasing chances for community interaction.
The real special sauce here is in using functions as a reward. Functions can integrate into other mods and vanilla minecraft itself in extremely interesting and almost limitless ways. Things like:
- Enabling or disabling features (ex: Parcool parkour abilities can be enabled and disabled through advancement functions, tying the unlocking of new parkour abilities through an agility skill level up on top of the pmmo perks is just awesome and rewarding).
- Unlocking titles for players to equip in a title mod (I'm actually not sure if this exists but I'd bet so) So they can equip that they've mastered a skill.
- Changing stages using game stages.
to name a few. Advancements with functions that can modify the game or player in countless ways opens up a lot of options for PMMO systems to be built around.