aliharu / foundry-ex3 Goto Github PK
View Code? Open in Web Editor NEWFoundry module for Exalted Third Edition
License: MIT License
Foundry module for Exalted Third Edition
License: MIT License
I've been asking around on the JB2A discord and they've directed me here to inquire about how to do this. I can get exalted to trigger the weapon effect easily enough by using the custom input. But I want it to trigger like the macro I've outlined above. How can I go about having the custom input call to the above macro to trigger it, when the weapon damage roll is executed, the same way it would JP2A's animations?
Thanks!
Players who already played the current turn must not be reordered in front of players who haven't played on the current turn regardless of init since withering attacks can change init while the turn is going on. Also, some charms allow for iterrupts and so having a way for the GM to reorder the turn at any time could be required some times.
Keep going, nice job!
Firefox requires SVGs to have specified width and height values or it can't load them, resulting in this error and hung loading bars for affected scenes
Foundry Error Msg.txt
Hi,
I'm trying to create a macro for my decisive attacks and witherings of my main weapons, but I don't know how to run the function that calls openAttackDialogue, could you help me with that? If you prefer, call me to Discord Carlos Castro#9944
Hey, I've been messing around with the new update, thanks a lot for the work you've all put in. I installed the Token FX into my exalted game and started trying to get the effects to show up to see how they look. Unfortunately, either by manually adjusting the anima level or moving it up by using charms, the effects don't appear to be showing. I have the lib wrapper installed, and I've made sure to turn the option on. I'm unsure if there is something I'm missing or if there is something going wrong. I don't see any errors showing up in the console.
Thanks!
When my players attack a target with a withering attack, they get a bunch of permission errors. This seems like it makes the combat tracker a lot less useful if the ST has to update all the values.
Here are the errors my players are getting.
Foundry VTT | Rendering MacroDirectory foundry.js:5058:15
Foundry VTT | Rendering ChatLog foundry.js:5058:15
Foundry VTT | Created Macro with id [KhyAui8SkiMXHvSc] commons.js:6939:20
Foundry VTT | Created ChatMessage with id [tvTC5RGMA6mXB0KK] commons.js:6939:20
Foundry VTT | Rendering RollForm foundry.js:5058:15
User Riobe lacks permission to update Combatant [YdR8LkaFR7xXKNoa] in parent Combat [dTYpwIWV2AGADkLY] foundry.js:58907:78
Foundry VTT | Created ChatMessage with id [uCato6e1PHrV9pS5] commons.js:6939:20
Uncaught (in promise) Error: User Riobe lacks permission to update Combatant [YdR8LkaFR7xXKNoa] in parent Combat [dTYpwIWV2AGADkLY]
[No packages detected]
foundry.js:2872:46
User Riobe lacks permission to create ActiveEffect [VoI5KLYUdxFNJFyq] in parent Actor [0sVGwt7W4iinJIxA] foundry.js:58907:78
Uncaught (in promise) Error: User Riobe lacks permission to create ActiveEffect [VoI5KLYUdxFNJFyq] in parent Actor [0sVGwt7W4iinJIxA]
[No packages detected]
foundry.js:2872:46
Both Crafts and Martial Arts can be taken multiple times for new/different techniques or styles but there does not appear to be a method to add additional abilities to a Character actor.
Not really a bug, but I'm not sure how lunars work, how to transform a character from one from to another, collect hearts blood etc. I checked the wiki but it doesn't look like it's been updated with how to configure a lunar character.
Currently, the Dragon-Blooded character sheet includes a tracker for the Elemental Aura mechanic which is absent from the character sheets of other Exalted types. This makes sense, since Dragon-Blooded are the only characters who normally engage with that mechanic; however, in cases where an Artifact or other unique situation gives a non-DB access to Elemental Auras, it would be nice to be able to enable the tracker on their sheets, possibly via the Character Sheet settings similar to the way the different crafting and sorcery fields can be enabled or disabled.
While the module Dynamic Active Effects is enabled, if there are any Active Effects that are inactive for a character, all of that character's dice rolls will fail to occur. This is new behavior starting some time between 1.7.2 and 1.7.6, but still exists in 1.8.2.
Expected behavior
Inactive effects are ignored. Dice rolls occur as if they do not exist.
Actual behavior
Dice rolls fail to occur for characters with inactive Active Effects. In the console, the dice count is "NaN," resulting in roll descriptors like "NaNd10cs>=7". Characters without inactive Active Effects are unaffected.
In Foundry-Ex3 v1.7.6, the failed dice roll is produced in chat as if "NaN" is the number of dice. No dice are rolled.
In Foundry-Ex3 v1.8.2, no chat output is produced, but the result of "NaN" is still visible in the console.
This behavior does not occur when the DAE module is active in the dnd5e or pf2e systems.
Versions
Core: v10.291
System: Foundry-Ex3 v1.8.2
Module: Dynamic Active Effects 10.0.20
Hi, let me start by expressing my gratitude for your great work! Thank you!
The issue I would like to point out is that because the "Accuracy" step and the "Damage" step of an attack are currently done simultaneously from a single menu. Because of this, we cannot use charms such as "Hail-Shattering Practice" and "Reckless Fury Discard" which interacts with the attackers attack roll but before applying the defender's defense value.
It is also worth noting that these charms cannot be fully automated since the character using them can choose not to exploit the full amount of 1's and 2's from the attackers’ roll in order to conserve motes creating the need for the player or DM to input information after the attacker's roll is known but before applying the defender's defense value.
Both these examples would also modifie by which margin the attack would hit the target, modifying the amount of damage dices rolled if not making the attack miss entirely.
(Sorry if my post is hard to understand, english is not my native language. Please let me know if any part of my post is unclear, I will try to better explain myself.)
https://github.com/Aliharu/Foundry-Ex3/wiki/Active-Effects
I was using the guide here to attempt active effects that alter parameters but it doesn't seem to be working.
As a test I did the following:
Key | Change Mode | 1
system.attributes.(strength).value | Upgrade | 1
The idea here is that activating the effect will grant +1 strength and then when the effect is deactivated it will automatically remove the +1 strength.
Here is the attributes as they are on this test.
Activating the effect shows as being active, which is great.
But when I check the attributes section, strength remains 1. a new blank attribute has been created. And when I roll any ability that calls to strength, say Athletics 0 with Strength...
Only 1 die rolls, which is the 1 Strength, which in theory, it should be 2 die for the +1 due to the active ability.
Am I doing something wrong or is there a problem with the effects?
When importing charms copied directly from the Exalted 3E core book any charm that has a minimum line that is split breaks the importer. If importing one charm importing just fails, if importing multiple the charm with a broken line and all subsequent charms won't import.
It's easily worked around (collapse the split rows into one), but there's no notification of failure.
Book text screenshot included as example.
I've got a custom charm that has a round-cooldown effect which should be added when the supplemental charm is used. The supplemental charm works as intended with added dice, however the active effect which has a 12 round duration does not get applied to the actor when the charm is used, meaning the 12 round cooldown does not begin.
Hey just wanted to request something small. I like making macros to help lightly or heavily automate certain kinds of rolls and I'm noticing that there is a critical lack of ways to make any sort of roll using macros. Nor can you drag items from your sheet into your macro hotbar to make macros that way.
Ideally some kind of endpoint under actor
called .rollSaved()
where you pass the name of the saved roll and when ran simply launches the dialog as if you had clicked the roll on your sheet would be really nice.
And optionally but really desireable is to allow users to use the RollForm class so they can make custom rolls when needed. I attempted to imitate the code in the system to see if I could make a roll in such a way but alas the console says that RollForm is not defined, which likely means this class is not exposed or usable by the end user at all.
This is the test macro I made:
if(actor){
let item = actor.items.find(x=>x.name === "Phneuma Glaive");
if(item){
new RollForm(actor,{event:event},{
rollType: 'withering',
attributes: item.data.data.attributes,
ability: item.data.data.ability,
accuracy: item.data.data.witheringaccuracy,
damage: item.data.data.witheringdamage,
overwhelming: item.data.data.overwhelming,
weaponType: item.data.data.weapontype,
isMagic: item.data.data.magic
}).render(true);
}
}
Hey, so I run Exalted Modern and there's some abilities I wanted to be able to tie into weapon and charm use. I tried using craft and martial arts as placeholders, but they don't work quite right. Is there a way to implement adding new abilities such as: Drive, Pilot, Computers, Firearms, etc. in a way that I can hook them in on charms and select them for attacks (such as using Dex + Firearms for using a gun)) that is distinct from archery?
Thanks for supporting this amazing system on foundry and all your fantastic work!
Hello,
I'm following the template format do import adversaries, but I'm experiencing some probles.
One I was able to find a fix: The merits line kept showing a failed on line text message, nut I was able to bypass it using the word "Merit", instead of "Merits".
The seconfd one os with the attack line. No matter how many variables I use, I keep getting the failed on line text.
Example of text used: Attack (Unarmed): 8 dice (Damage 8); Tags: Bashing, Brawl, Grappling, Natural
I see that poison effects have been added to weapons, I think this is entered correctly?
However when the attack connects using this weapon, I don't see anything having been done in the roll results nor do I see the effect applied to the target and I don't see any damage being dealt at the end of each round. Am I doing this right? I checked the readme wiki but it doesn't mention how poisons are used anywhere.
Hi! Today, when I put all of my game systems to update, I received a error: eternally in "package" loading. Before that, I click in "update" and the "Exalted Third Edition" updated the Exalted Essence game system. And now I can't load the "Exalted Third Edition" game system...
Just what it says on the tin, the data.motes.peripheral.total
and data.motes.personal.total
properties should be renamed to data.motes.peripheral.max
and data.motes.personal.max
so that these fields can be detected by FoundryVtt as "resources" and thus able to be assigned to a token's bar. Seeing as this is a key resource to every exalted, being able to set up your motes as a token bar is crucial for ease of use.
As far as data migration goes, the field could simply be initialized as 0 to start and the Sheet simply now points to this field instead of the old .total
field.
Whenever I try to install this game system from Foundry I get an file not found error. Also, the version in the Foundry UI doesn't match up with what's being downloaded
Repro steps:
Expected: The version in Foundry should match the latest, and install successfully
Actual: Foundry throws an error attempting to download version 1.0.5.
Error: An unexpected error occurred when downloading file https://github.com/Aliharu/Foundry-Ex3/releases/download/v1.0.5/release1.0.5.zip: Not Found at fetchWithTimeout (file:///foundryvtt/resources/app/common/utils/http.mjs:42:11) at runMicrotasks (<anonymous>) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async file:///foundryvtt/resources/app/dist/files/downloader.mjs:1:616
Importing a Charm formatted according to the example results in a Charm where the Essence is set to 0, even when the Charm is properly specified in the importer with an Essence value above 0.
Example input:
Testing Import Prana
Cost: 3m, 1i, 2wxp; Mins: Lore 2, Essence 1
Type: Supplemental
Keywords: None
Duration: Instant
Prerequisite Charms: Sourcing Data Method
With this charm, the Lawgiver tests the import functionality of the Exalted: Third Edition system in Foundry v10. When making a Social Influence roll to report an issue in Github, make the roll with double 9s, and reroll 1s until 1s fail to appear.
Result:
The Charm is imported with an Essence of 0. All other data appears to be correct.
System info:
Foundry v10, build 291, running on The Forge
System: exaltedthird, v1.6.2
I've been using the quick character to import entities from the Hundred Devil's Night Parade book and for the most part, it seems to work well. However it seems to break on charms all the time. It will only import the first charm, then cram all the remaining stuff into that entry.
Here's the format:
Fang-Blossom
Description A few generations ago, a Dragon-Blooded sailor fancied a lovely species of flowering plant native to the West. Ignoring the islanders’ warnings, she uprooted the bulbs of these beautiful scandent vines and returned home to the Blessed Isle. The invasive species flourished there with alarming vitality. Emboldened by the Center’s rich soil, these fang-blossoms — as the Dynast eventually dubbed them — multiplied in droves: first one seedling from each plant, then five, then twenty, and eventually they overran the walls of her estate and germinated in the wild. The mystery of pets gone missing without explanation dogged the prefecture for months, but no one blamed the plants until the grisly devouring of a visiting foreign dignitary prompted a political feud that persists to this day. The fang-blossom’s flowers are wide and circular, displaying a riot of dazzling colours. Each plant begins as a yellow-green root roughly the size of a watermelon, then develops a thick stem, countless tendrils, and large blooms. Curated, it maintains a reasonable size for a garden plant and limits its carnivorous tendencies to wild animals. Left to feed and sprout freely, fang-blossoms develop dozens of thick vines and can swallow an unfortunate passerby whole. Storyteller Tactics Fang-blossoms keep their maws closed and pretend to be nonthreatening until prey approaches within reach of their tendrils. They attack by grappling victims and dragging them into their flower-maws, but a fang-blossom keeps two vines free to use Defend Other to protect the core unless it’s desperate. Assign a starting number of vines equal to twice the number of enemies present. Fang-blossoms sense weakness, targeting non-combatants first, then the target standing closest to a flower or wearing the least armour.
Essence: 2; Willpower: 5; Join Battle: 7 dice
Personal Motes: 60
Health Levels: –0/–1x4/–2x3/–4/Incap.
Actions: Climb/Slither (vines only): 9 dice; Feats of
Strength: 8 dice (vines only; may attempt Strength 5
feats); Senses: 5 dice; Disguise/Stealth: 7 dice (see
Camouflage)
Resolve 4, Guile 4
COMBAT
Attack (Bite): 11 dice (Damage 12, minimum 3)
Attack (Vine grapple): 10 dice (12 to control)
Combat Movement: 8 dice (vines only)
Evasion 1, Parry 6
Soak/Hardness: 6/0SPECIAL ABILITIES
Needle-Tooth Bite: A fang-blossom’s carnivorous maw opens to reveal rings of sharpened teeth while its mass of tendrils immobilizes its prey. When it deals 5+ damage with a withering bite attack, it may forgo receiving any Initiative to instead make a reflexive grapple gambit against that enemy, without an Initiative roll or cost. Each Initiative point it would have gained instead adds one die to the control roll.MERITS
Camouflage: Whenever a fang-blossom’s maws are closed and it poses as an ordinary flowering plant, double 9s on Disguise/Stealth rolls. Tendril-Sprouting Nightmare: Each fang-blossom has a core plant with bulb, stem, and one blossom maw to start with. The core has the traits listed above and is immobile. Its vines can slither out to short range and perform actions as noted above; each vine acts as a separate target with its own health track that can defend the core, and the plant cannot become Incapacitated until all of its vines have been severed by depleting their health tracks. Each vine has the same traits as the core plant except that it has five –0 health levels instead of the core’s track.OFFENSIVE CHARMS
Swallow Whole (15m; Reflexive; Decisive-only; Instant; Essence 2): After dealing 3+ levels of damage to a grappled enemy with a decisive savage attack, the fang-blossom may swallow them alive as long as they’re within close range of a flower-maw. Within the plant’s stem, they contend with its digestive acids, an environmental hazard with damage 3L/round and difficulty 5. A swallowed enemy may attempt to cut their way free with a difficulty 5 gambit, but cannot otherwise attack it from inside without a relevant stunt. Even then, they contend with its full defenses. The fang-blossom may swallow a number of human-sized characters at a time equal to the number of flower-maws it has.MISCELLANEOUS CHARMS
Infinite Reaching Vines (5m, 2i or 10m, 4i; Simple; Instant; Essence 1): For five motes and two Initiative, the plant sprouts an additional vine. For ten motes and four Initiative, the plant grows another flower-maw and becomes larger.
And it looks like everything got imported, however...
See how Swallow Whole has Miscellaneous Charms and the entry for the charm stuck in it? this seems to happen on all entries. From what I can see, it looks like the format I'm using on the importer matches the example.
Hi,
currently the accuracy field on weapon slots determines the dice pool used for the attack for individual characters, exactly the way it works for quick characters. Our group had a bit of trouble adjusting to this, because the expectation for PCs is that weapon accuracy is added to the attack dice pool (Dexterity + Melee) on withering attacks on the fly.
If you are interested in making this change, but don't have the time or want to prioritize other changes, I could make a PR.
Hi, The healthboxes are reversed for lethal and agravated, new lethal and agravated health levels should enter the health bar from the left not from the right.
Would it be possible to have an actual inventory with drag & drop functionality for managing items in the PC actor sheet, maybe above or below the character description? While it's possible to simply write down any owned/carried items in the description, a dedicated inventory would improve handling, and also make handing out pre-made items to players much simpler.
Hey,
I tried writing a full excellency charm with a pre-roll macro that automatically deducts the motes spent and adds dice to a roll.
this.object.cost.motes = this.object.cost.motes + this.actor.system.abilities[this.object.ability].value + this.actor.system.attributes[this.object.attribute].value;
this.object.dice = this.object.dice + this.actor.system.abilities[this.object.ability].value + this.actor.system.attributes[this.object.attribute].value;
this.object.charmDiceAdded = this.object.charmDiceAdded + this.actor.system.abilities[this.object.ability].value + this.actor.system.attributes[this.object.attribute].value;
When I roll it though the motes get deducted correctly but the new dice are not added to the roll. It shows "20 dice" instead of 10 on a 5/5 ability/attribute roll but they do not get calculated.
I tried this with dice, diceModifier, charmDiceAdded to no effect.
I'm confused as to how the ranged calculations work, if they're right or not?
Fig1
So the character in this example has Dex 5, Archery 5 and the bow has accuracy 1 (as a test). Fig.1
Fig6 and 7
Short range should be Accuracy +5, with no die penalty applied.
Fig2 and 3
But when I roll, 14 die are thrown. But it should be Dex 5 + Arch 5 + Acc 1 + 5 Range for a total of 16 dice. Implying it's not taking short range into account or... the weapon accuracy? I'm not really sure!
Fig 4
So as a test I change the range to Medium. Which should be Accuracy +3, meaning it should be 5+5+1+3 for 14 die thrown.
Fig 5
However, only 9 die are thrown here. But there should be no die penalty, the only requirement is a preemptive aim action.
There seems to be an issue with custom abilities being registered. As seen in figure 1, Firearms, Operate Vehicle, Pilot, Computers and Artillery have been created, have specialties and dots applied.
However in figure 2, weapons are not registering them, so I'm unable to select artillery or firearms for associated weapons. I tried this on multiple and they're not showing.
if I delete the ability and re-create it, it allows it to work for that instance of the game, but it seems if I close the game and start it up later, the abilities don't register again and all the weapons set to firearm or artillery is now set to archery.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.