-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Direct Data Pull #32
Comments
A little update, the example can now handle multiple inputs |
I'm shit at JS, but do I understand correctly that you found a way to get final character values instead of raw JSON that you need to reimplement all mechanics? |
@mivalsten , It's not an easy language to learn at all! |
Nice. <3 Love it very much. |
Wow, just tested it and I fricking love how fast it works! <3 |
Haha, I'm glad you like it so much :) |
I know you guys implimented iframes as using the direct json wasn't a good option, so i have been looking how I can basically use the javascript that D&D Beyond use for calculating and processing the json files.
Today I managed it!
The result of my test implementation is here:
https://github.com/TeaWithLucas/DNDBeyond-DM-Screen/blob/JSON/test-direct-data.user.js
Basically, for now, the retrieved data is just logged to console, the output sample is below.
These are exactly what the character sheet outputs and if any of their code changes, it won't affect this script as thie code is imported.
I am currently modifying the main script so that on autoreload, instead of deleting everything and doing the script from scratch, only the innerhtml in the specified elements are changed which so also speed things up!
Each character can be loaded with the parsedata(characterId)
Any feedback or questions are welcome!
{ abilities: Array(6) [ {…}, {…}, {…}, … ], abilityLookup: Object { 1: {…}, 2: {…}, 3: {…}, … }, activatables: Array(24) [ {…}, {…}, {…}, … ], age: 17, alignment: Object { availableToCharacter: true, description: "Chaotic neutral (CN) creatures follow their whims, holding their personal freedom above all else. Many barbarians and rogues, and some bards, are chaotic neutral.", id: 6, … }, armorClass: 18, attacks: Array(5) [ {…}, {…}, {…}, … ], attacksPerActionInfo: Object { value: 2, restriction: "" }, attunableArmor: Array [], attunableGear: Array [], attunableWeapons: Array [], attunedSlots: Array(3) [ {…}, {…}, null ], avatarUrl: "https://www.dndbeyond.com/avatars/6595/531/636991657997905650.png?width=150&height=150&fit=crop&quality=95&auto=webp", background: Object { customBackground: {…}, definition: {…}, hasCustomBackground: false, … }, carryCapacity: 150, choiceInfo: Object { proficiencyModifiers: (14) […], expertiseModifiers: [], languageModifiers: (6) […], … }, classes: Array [ {…} ], conditions: Array [], creatures: Array(3) [ {…}, {…}, {…} ], currencies: Object { cp: 0, ep: 0, gp: 286, … }, currentXp: 165888, customItems: Array(8) [ {…}, {…}, {…}, … ], customSkills: Array [], deathSaveInfo: Object { failCount: 0, successCount: 0, isStabilized: false, … }, encumberedWeight: 50, equipped: Object { armorItems: (1) […], weaponItems: (4) […], gearItems: (5) […] }, eyes: "Brown", fails: 0, faith: null, feats: Array [ {…}, {…} ], gender: "", hair: "Beige Feathers", hasInitiativeAdvantage: false, hasMaxAttunedItems: false, hasSpells: true, heavilyEncumberedWeight: 100, height: "4'11", hitPointInfo: Object { baseHp: 94, baseTotalHp: 109, possibleMaxHitPoints: 165, … }, immunities: Array [], initiative: 4, inspiration: false, inventory: Array(34) [ {…}, {…}, {…}, … ], levelSpells: Array(10) [ [], (3) […], (6) […], … ], name: "Rhillik Qreqiss", notes: Object { allies: "Clan of the Star Mountains", backstory: "\tGrew up in Star Mountins near Unicorn Run, most Aarakocra killed by achent green dragon, clan wants to find and kill them.\n\tExplorer, seen around the world, hates dragons.\n\n\nYou have advantage on animal handling with owlbears.", enemies: "An unknown Ancient green dragon \nChromocratic dragoniods \n", … }, pactMagicSlots: Array [], passiveInsight: 18, passiveInvestigation: 12, passivePerception: 18, preferences: Object { abilityScoreDisplayType: 2, encumbranceType: 1, enforceFeatRules: true, … }, proficiencyBonus: 5, proficiencyGroups: Array(4) [ {…}, {…}, {…}, … ], pushDragLiftWeight: 300, race: Object { isSubRace: false, baseRaceName: "Aarakocra", entityRaceId: 4, … }, resistances: Array [ {…} ], ritualSpells: Array [], ruleData: Object { minExhaustionLevel: 1, maxExhaustionLevel: 6, maxDeathsavesFail: 3, … }, savingThrowDiceAdjustments: Array [ {…}, {…} ], senses: Object { 1: 0, 2: 0, 3: 0, … }, situationalBonusSavingThrowsLookup: Object { }, size: Object { id: 4, entityTypeId: 127108918, name: "Medium", … }, skills: Array(18) [ {…}, {…}, {…}, … ], skin: "", speeds: Object { walk: 35, fly: 60, climb: 0, … }, spellCasterInfo: Object { characterLevel: 15, firstAvailableSpellSlotLevel: 1, lastAvailableSpellSlotLevel: 4, … }, spellSlots: Array(4) [ {…}, {…}, {…}, … ], startingClass: Object { definitionId: 0, entityTypeId: 1446578651, hitDiceUsed: 0, … }, successes: 0, totalClassLevel: 15, totalWeight: 147.5, traits: Object { appearance: null, bonds: null, flaws: null, … }, unequipped: Object { armorItems: [], weaponItems: [], gearItems: (24) […] }, vulnerabilities: Array [], weaponSpellDamageGroups: Array [], weight: 147.5, weightSpeedType: "normal", xpInfo: Object { classLevel: 15, currentLevel: 15, currentLevelXp: 165888, … } }
The text was updated successfully, but these errors were encountered: