Version 3.00


  • Targeting logic has been overhauled. It is now handled through functions rather than widgets, and certain adjustments such as Firefly have been automated.
    • A Hitlist class has been defined to facilitate this. It is an array that takes a set of targets and tracks the chance of selection for each. Smart targeting effects have been placed in a method function, addFactors.
    • Added several additional smart targeting clauses.
    • Added an additional targeting factor: "Wallflower". This functions as the inverse of Firefly, halving the chance of being targeted.
    • Firefly and Wallflower adjustment factors can now be modified through the setup variables FIREFLY_FACTOR and WALLFLOWER_FACTOR.
    • Added support for enemies being affected by loss-of-control effects.
    • The functionality of threatTarget is now automatically provided by the Hitlist constructor.
    • Default calculation for threat values has been cut by 100, to better sync with other targeting adjustments. This includes THREAT_DECAY.
    • guardCheck and protectionCheck are now static methods of Hitlist and are automatically called whenever the returnTarget method of Hitlist is used.
  • Actors now have getters for their own party and the opposing party, because I got sick of having to write that out manually.
  • The getter for targetMod has been altered to automatically return relevant mods for the action. For example, piercing moves will add pierce and debuff-inflicting moves will add effect.
  • effectCount now takes an argument that will exclude sticky effects.
  • AI logic functions have been moved from database-enemies to a new file, logic-functions.js.
    • The functionality of dispelTarget has been adapted into the logic function dispelCheck.
    • A new logic function, cureCheck, has been created. This is the ailment version of dispelCheck, for enemies that use curative moves.
  • New Effect property: threat. This is the value checked by dispelCheck and cureCheck, rather than just a straight count. This allows you to weight certain effects more highly. By default, all effects have a threat of 1, except for Blessing and Curse, which have 3. Effects with indefinite durations have their threat doubled, and effects with definite durations have their threat increased by the duration over 4.
  • The multihit function has been slightly altered to avoid using widgets. It now lacks the potential for spread functionality; use multihitCustom for that.
  • immortal, large, and maskhp are now canonized as official Actor properties; you can assign them to database entries without needing to go through specialInit.
  • Created setters for Action properties to make them easier to edit. You'll no longer need to preface your properties with underscores.
  • New Actor property: lastDmg. This tracks the amount of damage the character inflicts with their attacks. It is reset at the start of every battle and every turn. This can be used for additional targeting logic, e.g. prioritizing the most dangerous character.
  • New Effect property: unique. This prevents multiple instances of the effect from existing in a party. A handler for dealing with this functionality has been added to addEffect.
  • I have started cleaning up enemy database entries by defining their actions in the action database, which will make them significantly less messy. These actions are defined in the enemy-actions.js file in the custom folder; it is separate from the database-actions file to keep that file clean. Currently, only Dipper and Mabel are done.
  • Existing effects and enemies have been split off into core files, as actions are.

Files

rpgengine source.zip 6 MB
May 08, 2021

Get Another RPG Engine

Leave a comment

Log in with itch.io to leave a comment.