Hi to all,
I have developed a plugin for myself, but I think it might be useful to someone.
cellicom's d20 tools
RPG Maker MV Plugin
cellicom
Features
● Roll a d20 and return the result (and store it in a variable)
● Show an animation or text (or both) during the roll.
● Roll a d20 with advantage or disadvantage (Dnd rules)
● Check if passed an ability check
How to use
PREREQUISITES:
Animations: This plugin can also work without animations, but to give
a "magic touch" to the plugin I suggest you activate them.
YOU MUST CREATE 20 animations consecutive in your database
starting from number 1 up to number 20.
Recommended duration 120 frames, but it is not mandatory.
You can use anything you want, I used a red rolling d20.
Spoiler: SCRIPT
// roll a d20 - all parameters should be true or false
// return the result (1-20)
// cellicom.d20.roll(showAnimation, showText)
JavaScript: - cellicom.d20.roll()
- cellicom.d20.roll(true, true)
复制代码
// roll a d20 with advantage or disadvantage - all parameters should be true
// or false
// return the lower result if isDisadvantage is true, otherwise the higher
// cellicom.d20.rollWithAdvantage(showAnimation, showText, isDisadvantage)
JavaScript: - cellicom.d20.rollWithAdvantage()
- cellicom.d20.rollWithAdvantage(true, true, false)
复制代码
// enable cheat for only next roll - rolled will be the result (1-20)
// cellicom.d20.activateCheat(rolled)
JavaScript: - cellicom.d20.activateCheat(20)
- cellicom.d20.roll(true, true)
复制代码
All roll function return an integer value of the result of the roll, so you
can use it if you want manipulate or check after the roll.
Ex. an ability check or some else.
// ability check - bonus can be positive or negative
// return if the rolled dice plus an optional bonus is higher of the check
// rolled can be number or undefined, if undefined become getLastRoll (see below)
// cellicom.d20.abilitycheck(check, bonus, rolled)
JavaScript: - if (cellicom.d20.abilityCheck(17, 3, cellicom.d20.roll())) {
- //passed
- } else {
- //not passed
- }
- if (cellicom.d20.abilityCheck(17, 3)) {
- //passed
- } else {
- //not passed
- }
复制代码
// get last roll - ONLY if save is activated on VariableID. Otherwise return 0.
// return the value of the last result
// cellicom.d20.getLastRoll()
JavaScript: - if (cellicom.d20.abilityCheck(15, -1, cellicom.d20.getLastRoll())) {
- //passed
- } else {
- //not passed
- }
复制代码
How to Install
- Copy the script file into your project's /js/plugins/ folder.
Plugin
Get it here
Screenshot
Credit and Thanks
- cellicom
Terms
Free to use in any RPG Maker MV project including commercial. Credit are appreciated
Enjoy!
本贴来自国际rpgmaker官方论坛作者:cellicom处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/cellicoms-d20-tools-rolls-a-d20-with-animation-and-text.156052/