Version 5.01
Another RPG Engine » Devlog
- Restructured
statInfo
. Each attribute is now an object containing all the data previously stored inSTAT_MIN
,STAT_MAX
,hiddenStats
, and the oldstatInfo
, which have all been depreciated. All existing references to the old objects (should) have been updated, so no code changes should be necessary. - In addition to descriptions and min/max values, the new objects also contain properties for "short" (three-character) names, and default values for cases where you do not want the minimum value to be the default.
- The new
statInfo
also includes the Boolean attributepercentile
, which will add a percent sign after displaying the stat. - A similar object named
SECONDARY_STATS
has also been created. This object contains corresponding info for all non-core stats, such as HP, Energy, and regeneration values. You must define an entry for HP or there will be problems. Other secondary stats can be deleted if you do not wish to use them. - The
Actor
constructor has been slightly tweaked to account for these changes. It is now possible to create an Actor without anystats
property in its database entry, for instance. - The code block defining various damage formula constants (
base
,damper
, etc.) has now been condensed into a single object. All existing referents should have been updated. - Tweaked
Actor
methods for getting and setting stat data. There are more checks for invalid data types, and the code no longer requires stats to have defined minimums and maximums. - Long-overdue change: HP and EN are now
FillStats
, rather than current HP/EN being separate variables. Getters and setters have been adjusted, so there should be no need to change game code. instant
andbasic
properties forActions
have now been folded into thetags
property. Just include the strings "instant" and "basic" in the tag list and they'll work as before. The getters for these properties have been updated, so this update will be compatible with existing code.- Streamlined action tag display.
Action.toString
now prints every tag in thetags
property. - If you want some tags to be invisible to the player and used only in internal code, include them in the new
setup
variableHIDDEN_TAGS
. - New
Actor
methods:standardEquip
andstandardRemove
. This provides a shorthand for the most common forms ofonEquip
andonRemove
code (direct stat modification). It draws data from the item'sspecial
property and automatically detects if the property names refer to an affinity, tolerance, or core stat. Actor.equip
andActor.unequip
will now only reference inventory items if theActor
is aPuppet
. This allows enemies and NPCs to have equipment without interfering with the player's inventory.- It is now possible to define both
flat
andpercent
values for elemental affinities via the database and equipment mods. Simply define the element's entry as an object with the propertiesflat
andpercent
. If the entry is only a number, it will be assumed to refer to the percent affinity. - You can now define a custom filename for the image used for Energy costs via the
setup
variableenergyPic
. - Actions will now display their HP costs on the right-hand side, below Energy costs.
- The status button and status pane have been reworked. The status button is now a small image in the upper-right of the actor box, rather than a link, and displays stat information as a mouseover tooltip. The status pane no longer displays stat information, and displays effects in a dedicated screen rather than underneath all screens. Additionally, the status pane has been modularized with separate passages for each screen, stored in the new file
status battle screens.tw
. - The
status
widget has been depreciated with this change. The functionality for the status button is now contained in the "Actor Box Status" passage instead, located in the fileWidgets (Actor Box).tw
. Widgets (Misc).tw
has been depreciated. The widgets for stat, soak, resistance, and tolerance display code have all been moved tostatus battle screens.tw
and the widget for menu stat display has been moved toparty menu-status.tw
. This should help keep relevant code together.- The
res
andtol
widgets have been given the full names ofresistance
andtolerance
for clarity. Existing referents should have been updated; tell me if you see any bugs. - Additionally, the menu stat display widget has been tweaked to allow you to eschew the base + mod format. If the stat's
statInfo
entry has thenoBase
property set totrue
, the stat will just be displayed as one number. - New
Effect
property:extendable
. This is a Boolean determining whether duration will be extended by new applications or remain the same. True by default. - Given how many changes I've been making to
user storyinit
, I decided to move the file to the core folder and mark it as an example page. It will give you an idea of what variables you can modify and will be updated regularly, but shouldn't be used as an actual custom page because it will be overwritten by new updates. Copy the file and place it in your custom folder to carry out any changes. - Fixed the unequip button erroneously appearing in the status page.
- The Zweihander in the default database should no longer break the inventory. (I forgot to update it for the recent changes to equipment data; sorry about that.)
- Fixing the Zweihander bug revealed another bug that prevented filler objects from being removed when multi-slot equipment was removed; this has also been fixed.
unequip
will no longer log an error message if it is run on an empty equipment slot.- The HP/MP listing in the party menu now has a slight bottom margin to keep it from overlapping with the HP/MP meters.
- Selecting a slot in the equipment menu will now turn it black instead of gray.
- Discovered some actions are still throwing errors about undefined targets. I've officially thrown my hands up and just hardcoded the battle logic to copy the subject to the target if the target is undefined. There's just too much stuff that references a target and I can't make control branches for them all. Hopefully this doesn't cause more problems down the line.
- Also just now discovered the in-battle item list broke thanks to me forgetting
Array.filter
doesn't modify the original array. Should be fixed now. - The stock marker for in-battle items is now bold.
Files
rpgengine source.zip 6.6 MB
Aug 27, 2022
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.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
- Version 4.00Dec 31, 2021
Leave a comment
Log in with itch.io to leave a comment.