Latest version | 1.0.3 |
---|---|
Minimum Core | |
Compatible Core | |
Last updated | 1 year ago |
Created | 1 year ago |
Authors |
|
Languages |
English |
Systems | All systems |
Project source | Project URL |
Report bugs | Bug tracker URL |
This tool was written to cover a need I had, while running a roleplaying game with my players. Many players would declare that their character was one alignment, but during game play, I noticed that their actions were more chaotic, when they declared to be lawful, or they played their character more evil, when they stated their character was good. It's not the players fault, generally character alignments are not really considered during character creation, and seldom are they even selected for the character.
This tool allows the gamemaster to keep track of the character's actions, and tweak the character's alignment based on these actions. Then be able to have it presented in a graph format, to then do what you wish in your game setting/story.
In the end, it doesn't change anything with the gameplay, but could be used by gamemasters that want to incorporate the characters actions into the storyline: Maybe your "lawful good" paladin actually tends to play more as "lawful evil" and they come across a cursed weapon that only evil characters can handle without having damage inflicted upon them. Looking at the graph will show this. Truly the applications are endless.
This is all wrapped up in an easy to use UI interface, so the gamemaster is not burdened with any of the details.
But this module also has an API exposed for developers that wish to interface with the alignment tracker for their needs.
trackers(actorId) = AlignmentTracker.getAllTrackers();
trackers[] = AlignmentTracker.getTrackersForUser(userId);
Parameter | Type | Description |
userId | string | Required: UUID assigned by Foundry |
tracker = AlignmentTracker.getByTrackerId(trackerId);
Parameter | Type | Description |
trackerId | string | Required: Tracker UUID assigned by Foundry |
tracker = AlignmentTracker.getByActorId(actorId);
Parameter | Type | Description |
actorId | string | Required: Actor UUID assigned by Foundry |
tracker = AlignmentTracker.create(userId, actorId);
Parameter | Type | Description |
userId | string | Required: UUID assigned by Foundry |
actorId | string | Required: Actor UUID assigned by Foundry |
tracker = AlignmentTracker.updateByTrackerId(trackerId, alignmentObject);
Parameter | Type | Description |
trackerId | string | Required: Tracker UUID assigned by Foundry |
alignmentObject | object | Required: Allows the caller to update either (or both of) the chaosLevel or evilLevel for an actor. The range of values is 0: (good/lawful) - maxValue (evil/chaotic,) whereas maxValue will be defined in the tracker. This allows for gradients in alignment. Object Structure: { chaosLevel: {value}, evilLevel: {value} } |
tracker = AlignmentTracker.updateByActorId(actorId, alignmentObject);
Parameter | Type | Description |
actorId | string | Required: Actor UUID assigned by Foundry |
alignmentObject | object | Required: Allows the caller to update either (or both of) the chaosLevel or evilLevel for an actor. The range of values is 0: (good/lawful) - maxValue (evil/chaotic,) whereas maxValue will be defined in the tracker. This allows for gradients in alignment. Object Structure: { chaosLevel: {value}, evilLevel: {value} } |
tracker = AlignmentTracker.adjustChaoticByTrackerId(trackerId, adjustment);
Parameter | Type | Description |
trackerId | string | Required: Tracker UUID assigned by Foundry |
adjustment | integer | Required: Negative numbers move towards lawful, positive towards chaotic |
tracker = AlignmentTracker.adjustChaoticByActorId(actorId, adjustment);
Parameter | Type | Description |
actorId | string | Required: Actor UUID assigned by Foundry |
adjustment | integer | Required: Negative numbers move towards lawful, positive towards chaotic |
tracker = AlignmentTracker.adjustEvilByTrackerId(trackerId, adjustment);
Parameter | Type | Description |
trackerId | string | Required: Tracker UUID assigned by Foundry |
adjustment | integer | Required: Negative numbers move towards good, positive towards evil |
tracker = AlignmentTracker.adjustEvilByActorId(actorId, adjustment);
Parameter | Type | Description |
actorId | string | Required: Actor UUID assigned by Foundry |
adjustment | integer | Required: Negative numbers move towards good, positive towards evil |
AlignmentTracker.deleteByTrackerId(trackerId);
Parameter | Type | Description |
trackerId | string | Required: Tracker UUID assigned by Foundry |
AlignmentTracker.deleteByActorId(actorId);
Parameter | Type | Description |
actorId | string | Required: Actor UUID assigned by Foundry |
AlignmentTracker.deleteAllByUserId(userId);
Parameter | Type | Description |
userId | string | Required: UUID assigned by Foundry |
AlignmentTracker.deleteAll();
AlignmentTracker.removeOrphans();
To install this package, open your Foundry Setup screen and navigate to your Module tab and click the Install Module button.
From there, you can either search for the package unique name: alignment-tracker or copy its manifest URL:
And paste it to the input box at the bottom of your window.
You can install this package directly to your Forge account.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Advertisement cookies are used to deliver visitors with customized advertisements based on the pages they visited before and analyze the effectiveness of the ad campaign.