The AES_* Collection - Newest: AES_BattlerGauge (flexible multi-resource gauges)

Discussion in 'JS Plugin Releases (RMMV)' started by Aesica, May 27, 2019.

  1. Aesica

    Aesica undefined Veteran

    Messages:
    784
    Likes Received:
    744
    Location:
    SW5GMW 4xVHk
    First Language:
    English
    Primarily Uses:
    RMMV
    So for awhile, I wasn't sure if I was going to "officially" release these, although they've been on my github (signature link) for awhile now. What are they? Well, they're...kind of a collection of several small, but (IMO) useful QoL and minor but impactful feature improvements for the core engine. And yes, they all (mostly) work with the Yanfly suite. Here's a (probably incomplete) list of what they do:

    Important: A change to the Aesica.Toolkit component (a shared mini-library for note tag parsing mostly) was made that will probably cause conflicts with older versions of these plugins. Also command functions have been split off from AES_BattleCore to form their own plugin, AES_CommandControl. In light of these changes, it's highly recommended that you update them all to the latest versions!

    AES_Core (2.7)
    • Take control of the options menu and config manager by choosing how the initial settings should be. Want "Always Dash" to be enabled by default the first time the game is launched? A master volume control? Now you have these things.
    • A very simple "Instant Text" setting (also shown in the options menu if desired)
    • Tired of the shop "Possessed" counter not including equipped items? This has a patch to fix that.
    • Additionally, you can set the sell price multiplier to something besides the 0.5 default.
    • By default, bushes only partially obscure the player's bottom half with 50% opacity. Now you can customize both the opacity and the height when walking through bushes.
    • Plugin commands for removing skills from actors in bulk. A note tag can be used to force certain skills to remain intact.
    • Plugin parameters for customizing the color and opacity of the battle log window.
    • Plugin commands for giving the player gold, items, weapons, and armors in a visually-similar way each time. For example, "ObtainGold 500" will give the player 500 gold, play a custom sound, and display a dialog message to let them know. No more need to manually add an item or gold, followed by a dialog message with "500G was found"
    • Advanced: Includes JS functions for reading/changing event self switches in bulk. You can turn off every D self switch in a specific map, count how many objects with a specified note tag have A turned on in the current map, etc.
    AES_BattleCore (2.01)
    • Crit modifier adjustment, both baseline and via note tags in skills/etc
    • Customize the starting TP in battle. No more lame randomization.
    • Methods to access a battler's weapon stats for use in combat formulas. a.weaponAtk for example
    • Can set min and max damage caps
    • Can create and use extra "fake" custom stats via note tags (not displayed on status screens without custom plugins, however)
    • Optionally revive dead party members and recover a custom amount of HP/MP after each battle.
    • Can sort skills alphabetically, by skill id, including skills added by states, equips, etc. By default, these added skills are tacked on at the end, regardless of order
    • Can add specific skills directly to an actor's command window if desired
    • Can use a note tag on skills/items to hide the "Harold attacks!" or similar text (or the skill/item name when using YEP_BattleEngineCore) when an action is executed. This allows basic attacks (or other types of attacks) to appear more as they do in vintage final fantasy games. Works best with something like YEP_BattleEngineCore, as it doesn't suppress the damage/miss/etc text that the base engine generates afterward. (this feature somehow never made it live the first time around. Oops!)
    • Added "Zone Effects" which allows you to inflict certain effects on actors (and/or enemies!) based on note tags attached to a given zone. Volcanoes can deal fire damage every round, anyone without a space suit can suffocate, or you can even duplicate FF4's Lodestone Cavern effect by paralyzing anyone using metallic equipment.
    • Want more "game over" states besides the standard death state? Now you can add extra death states--the party having any combination of which will result in a game over.
    • Advanced: Create uniform combat formulas for use in the formula box, so Aesica.BattleCore.damage(a.atk, 5, b.def) can be placed in the damage formula box instead of a normal formula, and it will use whatever formula is set in the plugin parameters. Useful if you want to make sure your formulas remain consistent.
    • Recolor and adjust the opacity of the battle log window (another feature that somehow got swallowed up without going live)
    • Advanced: Special "Gravity/HP Damage" formula. Example: Aesica.BattleCore.gravity(b, 0.75) will deal 75% of the target's HP as damage. The advantage of using this over b.mhp * 0.75 is that the <Immune to Gravity> note tag can be added to bosses or powerful enemies to prevent these effects from working on them.
    AES_CustomMP (1.7)
    • MP Aliasing allows you to customize how the MP bar looks and what it's called on a class-by-class basis. Screenshot here - this affects how they're displayed in and out of combat.
    • Allows for customizing how HP/MP is recovered, as well as auto-revive, after combat on a per-class basis.
    • Can control how Recover All restores (or reemoves) HP and MP on a per-class basis.
    • Can use note tags to simulate tp or rage-style mechanics by recovering mp when dealing and/or receiving physical, magical, and/or certain hit damage
    • Note: v1.7 or higher is required for proper compatibility with AES_BattlerGauge
    AES_CommandControl (1.0)
    • Basic Limit Break system. Upon TP reaching a specific threshold (like 100%) changes the basic attack command to a "Limit" skill category (which you create and add skills to) which allows the player access to any "Limit" skill they've currently learned.
    • Options to disable Attack, Guard, and Item--a fairly common micro-plugin feature already. This takes it a step further by allowing these commands to be also be disabled or enabled on case-by-case basis. So if you want only your Alchemist to use Item, or you want actors to equip a shield before they can Guard, you can do that!
    • Allows actor/enemy, class, equip, and state note tags to replace an actor's default attack command with a specific skill. So equipping a Fire Rod could replace Attack with something like Fire Bolt.
    • Allows basic attacks to sometimes trigger a different skill, based on either random chance or specific formulas. Note tags for this can be placed on actors/enemies, classes, equips, and states. It's functionally similar to Yanfly's unleash plugin, and was added mostly due to incompatibility with that plugin.
    • Allows Guard to add one or more states to either the actor or the whole party based on note tags on actors/enemies, classes, gear, and states. Now you can create a shield that say, protects the whole party from fire damage each time the wearer guards. This is in addition to guard's basic functionality, and multiple effects can be applied by multiple sources
    AES_BattlerGauge (1.2, formerly AES_EnemyGauge) (new!)
    • Display gauges for battlers with your choice of HP, MP, TP, or any/all of the above
    • Able to display a different gauge width for bosses to help set them apart from normal foes
    • Display gauges for custom resource stats added by other plugins, provided they can be accessed via (for example) battler.buttPoints and battler.buttPointsMax instead of battler.buttPoints() and battler.buttPointsMax()
    • Display ATB gauge if using Yanfly's ATB plugin (note--far less resource-hungry than Yanfly's enemy ATB gauge plugin, which is part of why I made this)
    • Can hide gauges on a per-enemy basis via note tags
    • Briefly displays the before/after values when a gauge decreases
    AES_Autosave (1.1)
    • Can utilize autosaving in your game using a number of methods
    • AutoSave: Automatically save in slot 1. This slot can be to renamed to something to make it stand out (ie, "Auto Save") or even locked to prevent manual saving into it if desired. (recommended)
    • SaveGame: Automatically saves the game in the last accessed slot. New games cannot use this until they manually save once in order to prevent saving over existing data from another game.
    • SaveInSlot n: Save in the designated slot. Not recommended unless you know what you're doing as a developer.
    • Fully compatible with YEP_SaveCore, as in locking slot 1 will allow you to load the slot from the party menu, but not save or delete it.
    AES_RaceCore (1.5)
    • Allows you to assign races to actors and enemies
    • Can use note tags: <Attack vs x: y> and <Defense vs x: y> to deal or receive modified damage vs specific race types.
    And probably some other things I forgot. So yeah, here. Hopefully these are useful.

    Get them here: https://github.com/Aesica/RMMV

    (Not So) Frequently Asked Questions:
    • Why the huge frankenplugins? Each component just felt too small to include as a stand-alone plugin. Besides, various components of both plugins can be completely disabled in the plugin parameters if the functionality is either not desired. So if MP Aliasing or the shop possessed counter patch is causing problems with something, they can be completely disabled.
    • Terms of use? Can I use this in my commercial game? Refer to the Terms of Use on my github repository's readme.md.
    • Do they work with [insert Yanfly plugin here]? For the most part, yes. AES_CustomMP's skill cost display clashes with YEP_SkillCore's, so if using both, AES_CustomMP needs to be placed below YEP_SkillCore or the skill costs will show MP regardless of any aliasing in effect. The options menu control may conflict with Yanfly's options menu, but then again, so do a lot of things from what I can tell.
    • Plugin order? AES_Core, AES_SkillCore, then the others in no particular order. They should all at least be below YEP_CoreEngine and YEP_BattleEngineCore or (if using MP Aliasing) AES_CustomMP should be below YEP_SkillCore. Finally, AES_EnemyGauge should be placed below YEP_X_BattleSysATB if you want to use the enemy ATB gauges.
    Let me know if there's any bugs/weirdness/things I could improve/etc. I figure they're close enough to release quality, but I'll probably still add to them in various ways. I hope people find them useful/not too terrible/etc. :)
     
    Last edited: Sep 23, 2019
    #1
    Frogboy, CoryH, atoms and 9 others like this.
  2. Jenova

    Jenova Because you are...a puppet! Veteran

    Messages:
    174
    Likes Received:
    112
    Location:
    Hawaii
    First Language:
    English
    Primarily Uses:
    RMMV
    Holy crap, this is super useful. This has so many things I could and want to use. Thank you! I can get rid of like 10+ plugins now!
     
    #2
  3. Aesica

    Aesica undefined Veteran

    Messages:
    784
    Likes Received:
    744
    Location:
    SW5GMW 4xVHk
    First Language:
    English
    Primarily Uses:
    RMMV
    Just a quick note, I've split the MP aliasing portion off into its own plugin and added some extra functionality to it, such as the ability to tweak after-combat HP/MP regen and auto-revive on a per-class basis as well as means to customize how Recover All restores HP/MP

    :D I'm glad someone finds it useful so far. :)
     
    #3
    gambitben likes this.
  4. Jenova

    Jenova Because you are...a puppet! Veteran

    Messages:
    174
    Likes Received:
    112
    Location:
    Hawaii
    First Language:
    English
    Primarily Uses:
    RMMV
    Updated! :)

    I was hoping that maybe you could have a more extensive Limit Break system to where certain characters would use a certain skill (Final Fantasy inspired) instead of just one for everyone.
     
    #4
  5. Aesica

    Aesica undefined Veteran

    Messages:
    784
    Likes Received:
    744
    Location:
    SW5GMW 4xVHk
    First Language:
    English
    Primarily Uses:
    RMMV
    Yeah, everyone can have their own special limit breaks. I probably wasn't clear in the instructions, but you'll want to teach those characters the limit skills they're supposed to use, although all limit break skills go under the designated limit break command/category.

    Thus, you'd have Cloud learn "Cross Slash" and Vincent would learn "Galian Beast." Even though they're both in the limit break category, Only cloud would be able to use Cross Slash and only Vincent would be able to use Galian Beast. The characters themselves shouldn't be given the lImit break skill type though. The plugin will switch attack out for it automatically when the TP threshold is met.
     
    #5
  6. Jenova

    Jenova Because you are...a puppet! Veteran

    Messages:
    174
    Likes Received:
    112
    Location:
    Hawaii
    First Language:
    English
    Primarily Uses:
    RMMV
    OH, SO THE SKILL TYPE CATEGORY!

    Pfft, I'm so retarded. Thank you!

    EDIT: So will this work with SV Battles by default or do I need to add it to that as well?
     
    Last edited: May 29, 2019
    #6
  7. Aesica

    Aesica undefined Veteran

    Messages:
    784
    Likes Received:
    744
    Location:
    SW5GMW 4xVHk
    First Language:
    English
    Primarily Uses:
    RMMV
    Yeah. It should work with either style.
     
    #7
  8. Aesica

    Aesica undefined Veteran

    Messages:
    784
    Likes Received:
    744
    Location:
    SW5GMW 4xVHk
    First Language:
    English
    Primarily Uses:
    RMMV
    Just some quick updates:

    Added a bugfix that was causing AES_CustomMP to rely on AES_Core when it wasn't intended. AES_CustomMP is supposed to be able to stand on its own.

    Added a bit of extra functionality to AES_CustomMP to allow it to affect the vanilla engine's verbose combat log text. So if MP is renamed to something like Energy on Harold, draining Harold's MP will show "Energy" instead of "MP/Magic/Mana/Whatever."

    Added some combat log window customization options, such as color/opacity, as well as a way to suppress the initial combat log text when certain skills are used. ("Harold attacks!" with the basic engine, or "Attack" and other skill names when used with a plugin like YEP_BattleEngineCore.

    Here's a peek at what the skill text suppression looks like when used with YEP_BattleEngineCore:

    [​IMG]

    Note how Dual Attack's name displays, but standard Attack's does not. This can be assigned to any skill or item.

    PS: Some of the battle log window customization is visible in that gif as well. The opacity has been set to 128 in it, up from the default of 64.
     
    Last edited: Jun 5, 2019
    #8
    Jenova and DarkHunter like this.
  9. gambitben

    gambitben Veteran Veteran

    Messages:
    124
    Likes Received:
    87
    First Language:
    Spanish English
    Primarily Uses:
    RMMV
    I don't know why, but I'm using a fresh game file and I keep getting this error when trying to give the party an item via your command:

    /D:/Resources%20for%20RPG%20Makers%20and%20My%20Games/Mentoring/js/plugins/AES_Core.js:546
    Uncaught SyntaxError: Unexpected token =
    /D:/Resources%20for%20RPG%20Makers%20and%20My%20Games/Mentoring/js/plugins/AES_BattleCore.js:388
    Uncaught SyntaxError: Unexpected token =

    Also, the race core doesn't sem to work. I tried all of them without any other plugins (apart from your own, of course) and still no avail… could it be because I'm using 1.5.2? I don't know if it's my bad, I think I'm notetagging correctly :ysad:

    I'm using all your plugins except for the MP one (I'll add it later :rwink:) All in all, thank you for these, they are amazing!
     
    Last edited: Jun 12, 2019
    #9
  10. Aesica

    Aesica undefined Veteran

    Messages:
    784
    Likes Received:
    744
    Location:
    SW5GMW 4xVHk
    First Language:
    English
    Primarily Uses:
    RMMV
    I can't seem to reproduce any of these errors. Check the file versions with what's currently up on github. For for a short while, I had a defective copy of Race Core uploaded, but it has since been fixed.

    Testing just now, Race Core should work. If it isn't and the versions all check out, post a screenshot of your note tags.
     
    #10
  11. gambitben

    gambitben Veteran Veteran

    Messages:
    124
    Likes Received:
    87
    First Language:
    Spanish English
    Primarily Uses:
    RMMV
    upload_2019-6-12_2-2-16.png
    As for notetags, I'm just copying the ones you provide. I triple checked them and they are fine. I'm starting to suspect it might be somehting bad on my end, but it doesn't make much sense cause I only have 3 more plugins, being yanfly's core and battle core. The Project is a fresh 1.5.2 Project :rsad:
     
    #11
  12. Aesica

    Aesica undefined Veteran

    Messages:
    784
    Likes Received:
    744
    Location:
    SW5GMW 4xVHk
    First Language:
    English
    Primarily Uses:
    RMMV
    Can you take a screenshot of your plugin manager for me?
     
    #12
  13. gambitben

    gambitben Veteran Veteran

    Messages:
    124
    Likes Received:
    87
    First Language:
    Spanish English
    Primarily Uses:
    RMMV
    Fixed it, it was because I was using 1.5.2. It gives no error when using 1.6.2. Thank you for respoding so quickly, all fixed, turns out it was my bad all along. Sorry for all the trouble and thanks for all the plugins!

    Ps: May I add a small suggestion for the RaceCore? A flat bonus would be great to have ;)
     
    #13
    Aesica likes this.
  14. Finnuval

    Finnuval World (his)story builder and barrel of ideas Veteran

    Messages:
    1,260
    Likes Received:
    3,705
    First Language:
    Dutch
    Primarily Uses:
    RMMV
    Okay this looks like its going to be very useful indeed. Thanks for sharing it with the community :)
     
    #14
    Aesica likes this.
  15. Aesica

    Aesica undefined Veteran

    Messages:
    784
    Likes Received:
    744
    Location:
    SW5GMW 4xVHk
    First Language:
    English
    Primarily Uses:
    RMMV
    Perhaps, although at the moment, it modifies the final damage result (after all defense, resistances, etc have been applied) so any flat damage added would be pretty much a fixed bonus.

    Note that you can sort of add flat bonuses to skills by using something like in a skill intended to deal extra damage to a specific race:

    Code:
    c = OFFENSIVE_FORMULA; (b.getRace() == RACE_NAME ? c + FIXED_DAMAGE_BONUS : c) - DEFENSIVE_FORMULA
    
    // Example to deal 500 extra damage to humans (before applying defense)
    c = a.atk * 4; (b.getRace() == "Human" ? c + 500 : c) - b.def * 2
     
    #15
    gambitben likes this.
  16. Aesica

    Aesica undefined Veteran

    Messages:
    784
    Likes Received:
    744
    Location:
    SW5GMW 4xVHk
    First Language:
    English
    Primarily Uses:
    RMMV
    Just thought I should note that AES_CustomMP can now allow mp to simulate rage/tp/etc by allowing recovery by either dealing or receiving physical, magical, and/or certain hit damage. The note tags used for this can be applied to actors, enemies, classes, equips, and states. An optional modifier note tag can be applied to those as well as skills--mainly for preventing certain skills from generating mp, but also to allow others (as well as items, states, etc) to, say, recover mp when hit with spells and soforth.

    Edit: Also, how do I rename this thread? It seems to have evolved into a general-purpose plugin release thread rather than "two simple plugins" or whatever.
     
    #16
    gambitben and zerobeat032 like this.
  17. slimmmeiske2

    slimmmeiske2 Little Red Riding Hood Moderator

    Messages:
    5,531
    Likes Received:
    4,121
    Location:
    Belgium
    First Language:
    Dutch
    Primarily Uses:
    RMXP
    Thread Tools -> Edit Thread.
     
    #17
    Aesica likes this.
  18. Jenova

    Jenova Because you are...a puppet! Veteran

    Messages:
    174
    Likes Received:
    112
    Location:
    Hawaii
    First Language:
    English
    Primarily Uses:
    RMMV
    Might be worth the mention, it the only way to do this is edit the original thread post and not any of the responses.

    Could be wrong, but most forums operate like this.
     
    #18
  19. gambitben

    gambitben Veteran Veteran

    Messages:
    124
    Likes Received:
    87
    First Language:
    Spanish English
    Primarily Uses:
    RMMV
    Hey, @Aesica, I've been using your plugins quite extensively and they are amazing. They cover so much and add many more :rwink:

    That said, there is a function for your damage core I have in mind, which I have no idea how hard is to make, but would love to see it realized:

    I'm using your a.weaponAtk (best thing ever btw) and I was toying around with Yanlfy's Equip core, in order to give equipment different stats based on actor level and all that stuff. The thing is, a.weaponAtk doesn't get those stats, it just gets the base ones. Again, I don't know how difficult would be to take those into consideration or if it's even a thing you want to do, but I think it would be a great feature, as it'd open way more posibilities for all fo us :rhappy:

    http://yanfly.moe/2015/10/15/yep-10-equip-core/

    Hope you consider it and thank you for your 11/10 plugins.
     
    Last edited: Jun 18, 2019
    #19
    Aesica likes this.
  20. Jenova

    Jenova Because you are...a puppet! Veteran

    Messages:
    174
    Likes Received:
    112
    Location:
    Hawaii
    First Language:
    English
    Primarily Uses:
    RMMV
    I've noticed that it MIGHT be this plugin, but i'm not sure, but when used with Yanfly's Weapon Unleash and using the <Replace Attack: x> notetag, it won't replace the attack, you automatically use #001 Skill.

    How do I know?

    I replaced Harolds attack with one that makes a red flash on the screen as an animation and it doesn't even do it at all. It just uses his regular animation and attack.

    Again, not sure if this is YOUR plugin doing it, you know, the Limit breaks, but I just wanted to let you know just in case it is. :)
     
    #20
    Aesica likes this.

Share This Page