Version 4.00
Another RPG Engine » Devlog
- The
isDone
property has been renamed toactive
and its logic has been flipped, e.g. situations that would have setisDone
totrue
now setactive
to false. Apologies for any problems this causes, but it will make code clearer going forward for other initiative models. - Battle passages have been renamed for greater clarity and consistency. "Battle!" is now "Player Phase", "Preparation" is now "Battle Preparation", "end of round" is now "RoundEnd", and all phases are now capitalized.
- The
endOfRound
widget has been renamed to "endTurn" for consistency withnewTurn
. The existingendturn
widget has been renamed to "endRound" for clarity. - Code used in
newTurn
andendTurn
have been compartmentalized into additional widgets to reduce code redundancy. This will also allow you to more easily implement these features in other contexts. - Characters will no longer regenerate HP if they are under a
healBlock
effect. - Energy stats have been made default properties of the
Actor
constructor, but they will only be defined if anen
property is defined in the corresponding database entry. Default values can also be provided through thesetup
variablesMAX_EN
andEN_REGEN
. - Energy regeneration has been added as part of the core
newTurn
widget. If you want to opt out, simply deleteMAX_EN
in your custom StoryInit section. - New action function:
cancelAction
. It will remove the target's readied action if they have one. - New
Actor
properties: noENregen
: Similar tohealBlock
, it will returntrue
if the character has an effect with the same property, and will disable Energy regeneration innewTurn
. It will also returntrue
if the character isdead
or has noen
property. The core effects "Winded" and "Petrified" have been modified to use this property.interruptGuard
: Checks if character has an effect with the same property. If true, protects againstcancelAction
.- Corresponding property getters have been added to the
Effect
class. - Action execution code has been compartmentalized for greater modularity. Pre-action code can now be found under the
preAction
passage, and post-action code under thepostAction
passage.custom end of action effects
has been renamedpostAction custom
for readability and consistency with other custom passages. - Selecting an action now forwards the player to an "Action Handler" passage instead of directly to the action phase. This allows you to perform pre-processing and rerouting before executing the action itself. Currently, it exists to check for actions with
waitTime
under the timeline model, and otherwise forwards the player straight to the action phase. - New
Action
property:base
. This is a flat value added to an action's damage output, and is 0 by default. - Default damage formulas have been adjusted to incorporate
base
damage, and a new formula has been added that just uses base damage with no other fluff. - Action tooltips have been redone with snazzy images to convey important information. Images were taken from The Noun Project, with attributions listed on the game's page.
- The damage formula
switch
now converts the input to lower case before reading it. This avoids potential errors arising from mixed case. - Stat names have been standardized as part of a
STAT_NAMES
object, which is part ofsetup
. - Stat minimums and maximums have been implemented. These can be defined in StoryInit as part of the
STAT_MIN
andSTAT_MAX
objects. Returned stat values will be clamped between these two values. - If exceptions are necessary, such as e.g. the Forsaken effect, a new
Actor
property has been added:noMinimum
. This is initialized as an empty array for all new Actors, and will ignoreSTAT_MIN
for any stat names included within. In the core code, Forsaken has been modified to use this property instead of aforsaken
flag. - Shorthand functions have been created for accessing
STAT_NAMES
,STAT_MIN
, andSTAT_MAX
. Seesupport_functions.js
for details. - The functionality of the "Protector" effect has now been generalized to a property, "
guard
", that can be enabled in effect definitions. Iftrue
, the target of the ability will be flagged as protected by the subject. - Instead of manually checking in both damage and effects, protection is now checked only once, in the "action effects" passage before an action is executed.
- Accuracy, shield, and multiple hit logic have been changed. An action's
act
function is now executed once for everyhit
property (default 1), and accuracy and shields are checked on every iteration. As a result, themultihit
action function has been depreciated. - Spread and noRedundant behavior have been changed to Action properties instead.
- New
Action
properties: finisher
: Function that executes only on the final hit of an action. Emulatesmultihit
's previous rule for extensions (running only after all hits have been executed). Note that this finisher occurs instead of the regularact
function.onMiss
: Function that excecutes if an action misses. Increase the risk to your reward. Perhaps if your character attempts a bombastic jumping attack but misses, they land poorly and sprain an ankle?- Fixed an error in
Effect.calculatePower
.
Files
rpgengine source.zip 6.5 MB
Dec 31, 2021
Get Another RPG Engine
Another RPG Engine
Engine for creating RPGs in Twine 2 and SugarCube.
Status | In development |
Author | Another RPG Enthusiast |
Genre | Role Playing, Interactive Fiction |
Tags | Game Design, Game engine, Minimalist, Singleplayer, Text based, Turn-based, Turn-Based Combat, Twine |
Languages | English |
Accessibility | Color-blind friendly |
More posts
- Version 6.00Jan 04, 2024
- Version 5.01Aug 27, 2022
- Version 5.00.1 hotfixAug 08, 2022
- Version 5.00: Inventory OverhaulAug 07, 2022
- Version 4.03Jul 16, 2022
- Experiment 03: It's About TimeJun 12, 2022
- Version 4.02.1May 26, 2022
- Version 4.02May 22, 2022
- Version 4.01Jan 31, 2022
Leave a comment
Log in with itch.io to leave a comment.