This is an inactive repository, and only exists so Foundry can find manifest URLs and get you to the right place.
The new repository is https://github.com/foundryvtt-dcc/dcc
Foundry Tabletop System for Dungeon Crawl Classics RPG
License: MIT License
The new repository is https://github.com/foundryvtt-dcc/dcc
Players using 2handed weapons or Halflings dual wielding could use an option to roll a d16 for initiative or attack rolls. Ideally they could set the d16 for specific weapons.
Right now you can drag an attack into the macro hotbar, but not attributes.
You should be able to drag an attribute label into the hotbar to roll Luck checks, for example.
For Spells, a box could be added to allow a GM to add a RollTable that the spell check will roll on when the d20 button is pressed next to a spell. They would have to add the table themselves.
Crome PDF veiwer and adobe deal with formatting as described in the book when grabbing text.
Doing some basic filtering before applying the selection logic could be could to support direct copy and paste from Goodman m Games PDF content.
This is standard output from a PDF book- it has the CR and LF (or \n and \r i think?) tags because of the books formatting
I tried to edit the code, but im not very skilled at javascript.
export function parseNPC(npcString) {
let npc = {};
npcString = npcString.replace("\n", " ");
npcString = npcString.replace("\r", "");
npc.name = npcString.replace(/(.):./, "$1").replace(/ ?(\d+)/, "");
npc["data.attributes.init.value"] = npcString.replace(/.Init ?(.+?);./, "$1");
I could not get this to work, so i may be missing something- but taking it into notepad ++ and removing the CR and LF manually does the trick!
I create 2 PCs - one named Warrior, one named Cleric. When I change the Cleric to Cleric, Warrior is also a Cleric. If I change Warrior to Warrior, Cleric becomes a Warrior. This is with nightly code downloaded 8/17 at 9AM.
Many rolls are hardcoded to roll a d20 instead of the actor's action die. The action die stat should be used where appropriate.
The Roll improvements on the latest alpha branch interact badly with how we display attack roll results
We should find a way to rework this that works under the new system without breaking it for users of the current stable release.
Right now the chat message is fully hard-coded - would be better to use localized phrases with variable placeholders.
Specifically: change this line to use a localized string: https://github.com/cyface/foundryvtt-dcc/blob/96f0ee5ad01f7fd4e1aba43704727ffb03e5e90e/module/actor.js#L139
Players should be able to set their hit die and roll it from their sheet.
I was trying a character with 18 strength and noticed that the strength modifier is not being applied to the damage in melee combat. I think it's another bug.
Currently there is no place on the sheet for currency.
It would be nice to support treasure parcel items that can be dragged into a sheet from the items list to allow dishing out treasure to players quickly. The item would be immediately removed but added to the actor's currency.
On the NPC version of the character sheet the D20 doesn't roll the weapon.
Error in console is:
Uncaught (in promise) Error: The dice roll formula 1d20 + undefined did not produce a numeric outcome.
at Roll.roll (foundry.js:7522)
at DCCActor.rollWeaponAttack (actor.js:93)
at Object.rollDCCWeaponMacro (dcc.js:105)
at eval (eval at execute (foundry.js:27684), :1:10)
at Macro.execute (foundry.js:27684)
at Hotbar._onClickMacro (foundry.js:21559)
at HTMLLIElement.dispatch (jquery.min.js:2)
at HTMLLIElement.v.handle (jquery.min.js:2)
If I drag a Thief skill to the macro bar and click the macro, they won't roll, even with the token selected. The error I get in console is:
SyntaxError: redeclaration of formal parameter actor
callScriptMacroFunction https://bloatware.asuscomm.com:30000/modules/furnace/Macros/Macros.js:176
renderMacro https://bloatware.asuscomm.com:30000/modules/furnace/Macros/Macros.js:197
executeMacro https://bloatware.asuscomm.com:30000/modules/furnace/Macros/Macros.js:221
_onClickMacro https://bloatware.asuscomm.com:30000/scripts/foundry.js:21674
jQuery 2
dispatch
handle
DDC is a very popular game in Brazil, so I started to translate the form into Brazilian Portuguese, first for my players and then contribute with your excellent work. However, the chosen font does not support special characters and accents, common in several languages other than English (such as French, Spanish and Portuguese).
An illustrative image follows.
I tried lots of rolls. But all the fumble rollings always result in 0 in the Roll table.
On some sheets, the data fields show a grey number that is the "default" that you can just type over. In the DCC sheet I have to select everything to delete it before I enter my number, or backspace/delete key it.
Checking for natural 1s on spell rolls would indicate when corruption or a misfire occured. it could also check for natural 20s to add double caster level.
edit: actually, I see now you get a red number on a 1. That should work. Natural 20 could double caster level which would be nice.
A setting to alphabetize these lists would be nice.
Rolling an attack with lvl 0 sheet and getting a natural 19 is doing a critical hit. The correct isn't only a natural 20?
Purple Sorceror supports generating characters as plain text (actually HTML) or JSON (500 characters at a time only).
The Zero level generator supports both Plain Text and JSON modes while the upper level generator supports only the plain text modes.
Parsing these will make it very easy to quickly bring pregenerated characters into FoundryVTT. Using Purple Sorceror for character generation avoids dependency on the many tables that are required to correctly generate a DCC character.
Long term it would be interesting to investigate whether adding a button to directly query Purple Sorceror for a character would be feasible (with appropriate permission and a solution to overcome any CSRF issues).
Plain text zero level example:
https://purplesorcerer.com/create.php?oc=rulebook&mode=3d6&stats=&abLow=Any&abHigh=Any&hp=normal&at=normal&display=text&sc=1
JSON zero level example:
https://purplesorcerer.com/create.php?oc=rulebook&mode=3d6&stats=&abLow=Any&abHigh=Any&hp=normal&at=normal&display=json&sc=1
Plain text upper level example (should be supported once upper level characters are added):
https://purplesorcerer.com/create.php?oc=rulebook&mode=3d6&stats=&abLow=Any&abHigh=Any&hp=normal&hpUp=normal&at=normal&lv=1&rnd=1&cl=cleric&al=lawful&ar=unarmored&w1=None&m1=0&w2=None&m2=0&display=text1u&sc=1&eu=true
If I tab through defenses on the NPC sheet, I get Ref, Fort, Will
In stat blocks, it is usually Fort, Ref, Will
Right now, the NPC parser's regex doesn't handle (well) attacks that don't do damage.
See this test https://github.com/cyface/foundryvtt-dcc/blob/master/module/tests/npc-parser.test.js#L105
You should be able to click on a damage roll in the chat and apply that damage to a token.
If someone forgets to enter a +x to hit, or enter a damage value, we are throwing a console error. Would be better to log this to chat so people know what they need to fix.
Not entirely sure how we want to handle the Deed Die in the Warrior character sheet. If it were up to me, I would have there be a field that the user can populate within the "Warrior" tab that would apply itself ontop of any attack rolls done in the "Equipment" Tab.
To fit more in line with the current design philosophy, however, there could be a field in the "Warrior" tab that can be populated with what the Deed Die is and then have a button that rolls it specifically. Then, when they want to attack, they press the Attack button and it adds the value of the previously rolled Deed Die to their To Hit and Damage rolls. That way, they know if they successfully do the Deed immediately as it is a separate roll.
It would be nice if rolls included some kind of framework for adding spellburn, luck, and for dice chain upgrades/downgrades.
Maybe any time a dice roll is made, it could prompt for that (optionally)
This would be nice as a judge when you add a special item for a player and want to move it back to the items directory or a compendium, or for transferring unique items to players without typing everything out again (or copy pasting several text fields).
On the down side making areas of the sheet containing form fields draggable is awkward as it's no longer possible to drag select text in the fields.
Maybe we could make the thumbnail draggable for this purpose, and add thumbnails to weapons and armor (though the weapon and armor view on zero level characters is already cramped).
Users should be able to add more items with an "Add" button in addition to the default weapons and armor.
This seems like I'm going crazy. I was testing critical hits with Warriors - both Warriors I have created can't roll crits. The default is 19-20 which seems like it makes 18 the highest roll he can roll.
If I adjust it down - to 11 - 10 becomes the highest number he can roll.
Fumble works fine, but I can't crit with the Thief or Cleric either.
To clarify, it seems like it just won't allow me to roll a 20, or whatever is in the Critical Hit range. I tried hundreds of rolls.
If I drag the Deed roll, or Lay On Hands, to the macro bar, they are black. If the screen has a black background or lots of fog of war, they are really tough to see. If the icon were white, like the other equipment icons, it should work OK for a new player.
regex.replace() leaves the full statline in any fields whose regex doesn't match, which can cause problems for NPCs with an incomplete statline.
I've been working on tidying this up (see mooped@d4e57a1), but I need to improve how it handles the separators. If saves aren't present the pattern that should match the last stat won't match as it's expecting a semicolon, not a period.
The scorpion familiar in Emerald Enchanter is an extreme example of this, but it also has completely different separators.
I was hoping to accept commas, periods, and semicolons as terminators, but this if falling over in some of the unit tests (possibly special abilities containing commas, but I've not confirmed that yet).
I'm hoping to find some time to sort this out soon!
While it isn't necessarily expected that the user be able to get the text from the table in the chat when rolling a spell, considering everything else is rolled in the chat, it would be expected for the user to be able to roll spell checks in the chat.
For example:
Green-robed smultist (1): Init +4; Atk dagger +5 melee (1d4+3); AC 11; HD 5d4+5; hp 21; MV 20โ; SP 3d6 control check, able to cast arms of the angel, squid-mass (when killed, an squid-mass emerges; see stats below); Act 1d20; SV Fort +3, Ref +4, Will +0; AL C. Equipment: bird-shaped talisman of gold tied on a leather thong (worth 10 gp; see level 3).
As discussed under #52
Users could roll Disapproval from their sheet by entering a number of D4s, then rolling against a table like:
let rollTable = game.tables.getName("Deity Disapproval");
let customRoll = new Roll(numberOfD4 - @abilities.lck.mod
);
rollTable.draw({ roll : customRoll });
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.