Solarflare's Miscellaneous Plugins [SFG]

● ARCHIVED · READ-ONLY
Started by Solar_Flare 55 posts Page 3 of 3 View original ↗
  1. Yeah, I'm definitely using quite a bit of plugins, but it looks like its the same thing when I use it in a brand new project. Here is the JS settings:
    1632777797093.png

    My goal was to keep the normal TP gains from attacks and taking damage that I have instead of using the formula in your plugin. Basically, all I'm trying to do is create an Absorb TP ability that displays the amount of TP drained. The way I was currently doing this without your plugin is typing this in the formula:

    a.gainTp(35); b.gainTp(-35); 0

    But there's a couple of problems with it.. it doesn't show the amount of TP absorbed and it shows a 0 for damage taken. The ability is only meant to absorb TP, not deal damage.

    I also have another ability that absorbs HP, MP, and TP all in one ability, and it currently only displays HP and MP absorbed. Ideally, I'd like all 3 to be shown.
  2. Okay… your follow-up post has confused me about what the actual issue is. Is the problem that a TP drain skill does not, in fact, drain any TP? Or is the problem simply a visual problem, in that you don't see TP "damage numbers"?

    (If it's hard to tell because you have no TP gauge for enemies, you can try giving the skill to an enemy and see if it reduces your party members' TP when it attacks.)
  3. Solar_Flare said:
    Okay… your follow-up post has confused me about what the actual issue is. Is the problem that a TP drain skill does not, in fact, drain any TP? Or is the problem simply a visual problem, in that you don't see TP "damage numbers"?

    (If it's hard to tell because you have no TP gauge for enemies, you can try giving the skill to an enemy and see if it reduces your party members' TP when it attacks.)
    I can see the character's current TP.

    Before trying to use your plugin I was able to setup an attack that allows me to drain TP, but it did not display the TP drained and it required a 0 in the damage formula if I did not want the enemy to take damage. That is why I wanted to try your plugin. To show the TP absorbed and not a 0 for damage.

    The attack I showed a picture of a couple of posts ago drains HP, not TP, with your plugin and notation. Even with a brand new game with those plugin settings it did not work.
  4. Okay, got it. I'll find some time to test it out myself and figure out what's wrong. It might take a few days for me to get to it though.
  5. I've uploaded the latest versions of all my plugins. The following plugins have changes:
    • SFG_Utils
    • SFG_BookFiles – Adds logic to ensure the books are loaded before getting into the game. Note: I have limited evidence that this can in some cases prevent the game from loading at all. I'm still investigating this and will update again when I learn more.
    • SFG_ExpandedTP – Adds a "don't gain TP when damaging self" option, and formulas for max TP can reference the class object… I think that's the only changes here.
    • SFG_SortKeys – If I recall correctly, this update fixes a small bug when using SortKeys in certain contexts.
    • SFG_SwitchCommand – This is mostly just a documentation update. The only actual logic change is that the plugin now recognizes a full-width at sign as equivalent to a normal at sign. The point of this is that now you can just copy-paste the examples into an event and they will function.
    I reuploaded all the plugins, even those with no changes. There might be some other minor changes that I didn't mention above. All the plugins in this thread are now attachments on the forum. You can also grab them all from my website if you prefer.

    In addition to plugin updates, I have added 3 more plugins that weren't previously posted in this thread. One or two of them may have been posted in other threads. Anyway, the full info is in the opening post, but I'll summarize it them here as well.

    FIrst are two very simple plugins:
    1. SFG_EquipParams: This allows you to prohibit equipping certain items based on an actor's stats. For example, you might require a certain strength to wield a greatsword, a minimum agility to wield a longbow, or even a minimum "bravery" to wear a bikini.
    2. SFG_VariableTime: This allows you to vary the passage of time on the map using traits. For example, you could add a state that makes time move more slowly so that you can reach town before your poisoned character dies.
    And then a somewhat bigger plugin: SFG_ReserveActions.

    [EDIT: I decided to start a new thread for ReserveActions.]

    This adds a new system that allows "reserve actors", that is, actors who are in your party but would normally not participate in battle, to occasionally leap into the fray based on certain conditions. It's an idea inspired by a 3DS game called Radiant Historia: Perfect Chronology.

    In short, when certain events occur, such as ambushing the enemy, protecting an ally and nearly dying, or getting a critical hit and almost killing the enemy, the plugin searches the reserve members of your party to find one who can use a reserve skill in the given context. If any are found, the plugin picks one at random, and then that member hops out onto the field, uses the chosen skill, and then immediately retreats back off the edge. This is intended for use with side-view battle – I have not tested it with front view.

    A work-in-progress of this plugin was previously posted here, but after a long hiatus, I've now gotten it to a point where I think it's ready to be used – that is, as mentioned above, the cosmetic part where the actor actually appears on the battlefield has finally been implemented. It is also explicitly made compatible with SRD_SummonCore, in the sense that the battler sprites will be correctly stacked.

    Some may notice that the help for that plugin mentions another which is not released. Since it is mentioned there, I'm considering releasing it soon, but I don't think it's quite ready for that yet.

    Also, as a side note, I am considering porting some of these plugins to MZ. If anyone has any requests on which one to port first, feel free to mention it. If and when I do port any, I'll open a new thread for them.
  6. I uploaded new versions of the following plugins:

    • SFG_AutoBattle - no changes
    • SFG_EventTriggers - now fully working in MZ
    • SFG_ExtraMaps - add MZ plugin commands
    • SFG_MapHierarchy - no changes
    • SFG_SortKeys - no changes
    • SFG_SwitchCommand - now works in MZ
    • SFG_Utils

    The ones with no changes were just marked as compatible with MZ, so the editor won't warn that they may not be compatible anymore.

    Obviously, if you're using MV, none of these new versions are worth grabbing.
  7. I've uploaded new versions of the following plugins:

    • SFG_AutoBattle
    • SFG_ExpandedTP
    • SFG_ExtraMaps
    • SFG_ParamAdd
    • SFG_Utils
    • SFG_VariableTime

    Recently, I suddenly realized that custom trait and effect IDs don't have to be numbers. As such, all my plugins that define custom traits and effects now use Symbols to guarantee uniqueness. That covers all of the above except SFG_Utils and SFG_ExtraMaps. It also applies to SFG_PartyBattleFormation, which I've added a link to in the opening post.

    The change to SFG_ExtraMaps is to fix a bug that all map folders share the same set of self switches. If event 1 on map 1 sets self switch A, and you then switched map folders and loaded a different map 1, event 1 on that map would detect that self switch A was set. With this new version, that doesn't happen – the two maps each have their separate self switches, as they should. I also added experimental support for self variables from Himeworks (HIME_SelfVariables). This has not been tested.

    I won't go into detail about the changes in SFG_Utils, but one significant thing that changed is that modifying v and s in any damage formulas used in my plugins will now request a map refresh immediately, by calling the variable or switch onChange callback. Previously, writing to a variable in a formula would write directly to the internal variable storage and not trigger the callback.
  8. Hi Solar Flare! Cool plugins! I have a question for you about your Death States plugin! In the Help docs, you mentioned several ways in which Death States will be evaluated by the battle engine when determining if it should cause game over, target selection, etc.

    Do these notes apply mutatis mutandis to enemy troop? Suppose a skill that applies a "petrified" state, which is an alt death state, and afflict all enemies in a troop with it - will player win the battle at that point? And will All Enemies (DEAD) items target all those petrified enemies?
  9. Yes, it applies to both troops and the player party. I don't think it has been tested with an "All Enemies (Dead)" skill, as that's not an option built in to the engine, but they'd be targeted by "All Allies (Dead)" when used by an enemy (assuming you configure the plugin to treat them as dead). If you do have a plugin that adds an "All Enemies (Dead)" scope, there's a good chance it would work, but I can't be certain.
  10. Solar_Flare said:
    Yes, it applies to both troops and the player party. I don't think it has been tested with an "All Enemies (Dead)" skill, as that's not an option built in to the engine, but they'd be targeted by "All Allies (Dead)" when used by an enemy (assuming you configure the plugin to treat them as dead). If you do have a plugin that adds an "All Enemies (Dead)" scope, there's a good chance it would work, but I can't be certain.
    got it, thank you very much! once again awesome plugins.
  11. I've uploaded new versions of some of my plugins.

    • SFG_EventTriggers 1.2: Fix the range syntax <horz:a~b>, and ensure that the event triggers on the tile it's placed on regardless of horz/vert settings. It now checks the current tile first, so it'll never fail there.
    • SFG_SortKeys 1.2: Now uses traditional lexicographical ordering instead of "shortlex" ordering for comma-separated key lists. (The difference is that in shortlex, ab comes before aaa, because it's shorter.)
    • SFG_SwitchCommand 1.4: The "When" clauses can now take comma-separated lists, you can now use switch commands in custom page conditions (with HIME_CustomPageCondition), and this in the switch and #() formula will refer to the current event interpreter. (If you're wondering where version 1.3 is… I literally just forgot to release it, so I guess I've skipped a version.)
    • SFG_Utils 1.7: If the first event page of a troop event is set to "Don't Run", then note tags placed in comment commands on that page will be treated as note tags applying to the entire troop. That is to say, you'll be able to read them from $dataTroops[n].meta.
    • SFG_Wait 1.3: In addition to fixing the WaitForWeather command (which didn't work), I reworked the plugin internally with a view to making it MZ-compatible. It's not quite done yet, but once I get version 1.4 out, it will work in both MV and MZ.

    The new versions can be found in the opening post, or on my website (which is linked in the opening post).
  12. I've uploaded a new version of SFG_ExpandedTP (version 1.3). It adds a trait to modify TP Cost Rate (equivalent to the built-in MP Cost Trait S-Parameter).
  13. I've made some updates to several plugins.

    • SFG_AltDeathState 1.3.1: Fix battle not ending if hidden enemies (set to Appear Halfway) exist and have not yet appeared.
    • SFG_ExtraMaps 2.2: Add compatibility with YEP_SavedEventLocations. Saved event locations using that plugin now shouldn't leak between map folders.
    • SFG_EventTriggers :
      • Airship trigger can now be set on a per-page basis.
      • Add allowButtonTrigger note tag to permit Below or Above Characters events to be triggered from the side with the interact key, as if they were Same As Characters.
      • Fix airship triggering non-airship events that happen to be on the same tile (or in line with the tile, if using horz/vert).
      • Fix horz/vert not working correctly with arguments. (eg, <horz:4> or <vert:9~12>)
    • SFG_Utils 1.8:
      • Enable referencing variables and switches by name in formulas that use Utils.eval. This applies to any formulas used in note tags or plugin parameters for my plugins. It does not include the default damage formula.
      • Allow case-insensitive note tags for plugins that use the standard meta field to access their note tags.
      • If you use the MZ CustomLogo plugin in MV, it now enforces it to be loaded before SFG_Utils.
    • SFG_Wait 1.4:
      • WaitForCondition can now access the event interpreter as this. It can no longer access it as self.
      • Fix WaitForSound plugin command.
      • I'm not sure if this happened in 1.4 or the previous 1.3, but it's now MZ-compatible with a full suite of MZ plugin commands.

    There will likely be more updates coming soon. In particular, SFG_Utils can now be downloaded from my itch page (meaning you don't need a forum account to download it if my website happens to go down), and I have updates to SFG_ExpandedTP, SFG_ParamAdd, and SFG_EquipParams almost ready to post.

    I also added the entire code of SFG_PassiveStates to the opening post, to allow people who don't have an account here to download it (since my website is currently down and it's linked from one of my Itch pages).
  14. I've updated 3 more plugins, making them compatible with MZ, and also released them on itch.io.

    • SFG_ExpandedTP 1.4:
      • There is now an option to apply the Init TP formula to actors with Preserve TP when they first join the party.
      • For MZ only, there is now an option to not grey out the TP bar for actors who do not have Preserve TP.
      • Base max TP for a class can now be set as a comma-separated list of numbers, instead of a formula or a single constant value. If any zeroes are found in the list, those slots are filled in by interpolating between linearly the nearest two non-zero values.
      • There is now an option to drain TP on skill invocation. This is equivalent to the built-in TP Gain function, but with a negative value.
      • Max TP rate trait and TP Cost Rate trait can now be represented as a percentage rather than a ratio (both formats are supported).
      • There are now plugin parameters to set the vocabulary for referring to Maximum TP and TP Cost Rate.
      • I actually forgot to implement the <tp_recover> note tag.
      • Several bugfixes, some of them quite significant.
        • Fix ignoring Show TP in Status plugin parameter.
        • Fix TP Cost Rate conflicting with TP Charge Rate.
        • Fix max TP breaking save games.
        • Fix missing buff icons.
        • Fix TP (de)buffs not expiring or being removed after battle.
        • Fix <tp_formula> Recover skills reducing TP instead of increasing it.
        • Fix TP traits replicating themselves whenever a game is loaded or a new game is started, resulting in cumulative effects over time in a given session.
      • I may have missed some things as well…
    • SFG_EquipParams 1.1:
      • No longer limited to just basic parameters. This plugin can now require particular values of level, special parameters, extra parameters, and even custom parameters as long as they can be read as a.something.
      • It's now possible to require a maximum value, instead of a minimum value. An exact value is supported as well. For parameters that are a ratio, they can be specified as a percentage.
      • There is now logic to indicate to the player why an item cannot be equipped. This can be disabled in the plugin parameters. This only accounts for requirements on level and the basic parameters, however.
    • SFG_ParamAdd 1.2:
      • Now supports adding to special parameters as well. (Extra parameters are not included, because they are additive by default.)
      • If SFG_ExpandedTP is installed, you can also add to the Max TP and TP Cost Rate parameters.
  15. I've dumped some of these on CodeBerg. The ones I didn't put there are scheduled to be released (probably with updates) on Itch.io before this site goes down in December, though I don't have an exact time frame; still, they'll continue to be available from here until then.