PDA

View Full Version : Multiple Item Copying Extension



Minty23185Fresh
May 2nd, 2021, 23:20
THIS EXTENSION IS NO LONGER AVAILABLE.

## STOP!! ##
## Before downloading and trying to use this extension READ,
## UNDERSTAND and be willing to COMPLY with the instructions
## and limitations stated in posts #1 - 4 of this thread.
## STOP!! ##

This extension allows the DM to copy multiple items in each of the RecordSet Libraries all at one time, instead of having to do it one at a time. E.g. copy 10, 20 or more NPCs into a new Category (a.k.a. Group). (See post #2 of this thread for more details.)

This extension was implemented in the CoreRPG ruleset, so it should work with all rulesets that use CoreRPG as their base. Though that has not been verified. I developed the extension specifically for use in Fantasy Grounds Unity, 5E, so it has been verified to work in that ruleset, but it has not been thoroughly tested.

The following posts to this thread contain additional information that you should read, understand, and be willing to comply with:
#2 - What it does, how and why. Plus restrictions and licensing.
#3 - Versioning information.
#4 - (reserved for future use)

Minty23185Fresh
May 2nd, 2021, 23:21
Extension Necessity:
I spend a fair amount of time importing PDFs to Fantasy Grounds Modules. Specifically older 5E Adventurers League Seasons. While doing so, I typically have to copy 10, 20 or 30 monsters from the 5E SRD into the new module. Doing this one NPC at a time can quickly bore one to tears, and then begin to infuriate one.

If you haven't done this before, when one copies an NPC from one group to another in the Recordset Library dialog, it re-sorts after each copy. This isn't too much of an issue when you're copying NPCs from the top of the list, but when you have to incessantly scroll down to the bottom of the list for the next NPC, because of the re-sort, it's more than just, "trying".

This extension assists the DM with this madding single record copying behavior. Using the extension you can now copy multiple items in a Recordset Library from multiple sources into a new Group, all at one time. This functionality is helpful to homebrew world builders too, when you create your compendiums of NPCs, Items, Spells, or what-have-you.

Extension Use:
As shown in the composition of screen shots below, all one needs to do is Ctrl-click the links of the items one wishes to copy, then right-click on the destination Group and pick the "Paste Selected Items" menu option. That's it.
46290

Extension Caveats:
Some Do's and Don'ts:

Make sure you Ctrl-click the the Category's "link" icon.
Ctrl-clicking toggles selection, Ctrl-click once to select, Ctrl-click again to unselect.
Don't copy to the "(All)" Group. Behavior is erratic if you do so.
Don't use this extension with my Druid Wild Shapes Implementor Extension. This extension was extracted from DWSI. They most assuredly will interact negatively.
Currently this only works with the Recordset Library dialogs and it only works within a dialog. You can't copy into another dialog. For instance you can't multi-copy Spells from the Spells Recordset Library into a Character Sheet.
It works with most Recordsets and or most records, but not all of them (for example, typically not "Story"). These restrictions have to do with protected information and the restrictions are enforced by Fantasy Grounds builtin functionality.
It only works for the DM. Client instances don't have access.
It's intent is for module building. I don't believe it would have much utility in game sessions.


Extension Interactions:
Many new users of Fantasy Grounds see the huge variety of community developed extensions available to them and they load 'em up. "What could be better than all this additional functionality?" The answer might be none of it! But certainly, less of it. If you are not actively using an extension's functionality, don't load it. Community developers work in a bit of a vacuum. I don't pay attention to what's out there, unless I want or need it. Because the more extensions I have loaded the greater the chances are that those extensions might adversely interact with one another - giving errant results, undesired behaviors or crashing. I make sure my extensions work with the rest of my extensions and with those that I use from other community developers. But not every other extension out there.

This extension, though uncomplicated, wholesale replaces some CoreRPG ruleset code thereby increasing the possibility of conflicts. Especially with other extensions that change the default functionality of the Recordset Library dialogs.

If you have problems with this extension, it is your responsibility to determine if the fault is extension conflicts. The first thing I will ask you is: "Do you use any other extensions?" If so, "Have you unloaded all the other extensions? Do you still have a problem?" So you might as well figure it out beforehand. If you don't know how to go about it, take a look at post #18 of this thread (https://www.fantasygrounds.com/forums/showthread.php?34099-Extension-interaction-Attn-ext-users-and-ext-developers-(soliciting-comments)/page2).

Extension Copyright:
This extension is copywritten by me, in its entirety. The copyright does not prevent you from modifying it for your own use. But you may not share nor publish the modified extension with anyone as long as it has any of my copywritten code in it.

Minty23185Fresh
May 2nd, 2021, 23:21
Version Information
May 02, 2021 - v0.0.1 - Initial release

Minty23185Fresh
May 2nd, 2021, 23:22
(reserved for future use)

Kelrugem
May 6th, 2021, 21:36
Very cool, just tried it out finally :) Seems to work so far :) (though it may be a while until I use it in practice, I was not able to prepare any game since 17 months :D)

Zygmunt Molotch
June 15th, 2021, 05:31
it works for NPCs and Items, in PF1e, but not for Story Elements, is that something which could be implemented?

Minty23185Fresh
June 15th, 2021, 06:51
it works for NPCs and Items, in PF1e, but not for Story Elements, is that something which could be implemented?
See the caveats section in post #2.

Zygmunt Molotch
June 15th, 2021, 07:19
See the caveats section in post #2.

yes, uh, sorry does that somehow mean that it wont be implemented?

Story elements are copyable normally by just dragging and dropping, I'm not sure how bulk selecting is different to that, per se (as it's easy to copy to your own module by just dragging and dropping)

it's fine if it's not going to be, just asking

Minty23185Fresh
June 15th, 2021, 07:30
@Zygmunt Molotch
It can not be implemented for copy protected material, but I think it works for other (personal) material. I’ll double check.

Zygmunt Molotch
June 15th, 2021, 08:34
@Zygmunt Molotch
It can not be implemented for copy protected material, but I think it works for other (personal) material. I’ll double check.

see that makes a lot of sense, in one way

so, is it just a theoretical legal grey area, "better not do this, just in case?", type of thing?

because non of any official modules' story elements are locked or uncopyable, by default (at least, the one's I own, see below)

practically, however nothing stops a user drag-copying anything from any campaign, right?

I've never seen a copy protected story element (albeit, maybe this is some new functionality, so I have no knowledge about it :) )

anyway, this is just me being inquisitive, its a cool extension (and selfishly I want to use it for condensing minimums for some of my campaigns, hence the qu. about story elements :D )!

Minty23185Fresh
June 15th, 2021, 18:46
@Zygmunt Molotch
I’ll try to explicitly restate this, and maybe we can put this to bed.

It is my experience (in 5e) that there ARE members of some recordsets (e.g. Story) in some modules (e.g. Princes of the Apocalypse) that one cannot copy manually. These experiences caused me to make a note of such in my Caveats section.

This extension uses ruleset functionality to perform the actual copying of each selected recordset element. The extension does not precheck each selected element to see if it is copyable. It also does not deny copying. And it does not specifically deny selectability. Any denial of any of that functionality is done by the ruleset.

I have no intention of trying to override any of those denials. Smiteworks may have placed them in the rulesets or in the builtin functionality for their own reasons, copyright being the most obvious.