diff --git a/less/original/apps.less b/less/original/apps.less index 53e37d78..728a3c71 100644 --- a/less/original/apps.less +++ b/less/original/apps.less @@ -426,11 +426,6 @@ border: none; margin-right: 5px; } - h4 { - margin: 0; - white-space: nowrap; - overflow-x: hidden; - } } } diff --git a/module/actor/entity.js b/module/actor/entity.js index c608ea12..a25fd738 100644 --- a/module/actor/entity.js +++ b/module/actor/entity.js @@ -1180,6 +1180,7 @@ export default class Actor5e extends Actor { /* -------------------------------------------- */ + /** * Transform this Actor into another one. * diff --git a/module/actor/sheets/newSheet/base.js b/module/actor/sheets/newSheet/base.js index 92a3da39..4638cd21 100644 --- a/module/actor/sheets/newSheet/base.js +++ b/module/actor/sheets/newSheet/base.js @@ -119,22 +119,44 @@ export default class ActorSheet5e extends ActorSheet { /* -------------------------------------------- */ /** - * Prepare the display of movement speed data for the Actor - * @param {object} actorData + * Prepare the display of movement speed data for the Actor* + * @param {object} actorData The Actor data being prepared. + * @param {boolean} [largestPrimary=false] Show the largest movement speed as "primary", otherwise show "walk" * @returns {{primary: string, special: string}} * @private */ - _getMovementSpeed(actorData) { + _getMovementSpeed(actorData, largestPrimary=false) { const movement = actorData.data.attributes.movement || {}; - const speeds = [ + + // Prepare an array of available movement speeds + let speeds = [ [movement.burrow, `${game.i18n.localize("SW5E.MovementBurrow")} ${movement.burrow}`], [movement.climb, `${game.i18n.localize("SW5E.MovementClimb")} ${movement.climb}`], [movement.fly, `${game.i18n.localize("SW5E.MovementFly")} ${movement.fly}` + (movement.hover ? ` (${game.i18n.localize("SW5E.MovementHover")})` : "")], [movement.swim, `${game.i18n.localize("SW5E.MovementSwim")} ${movement.swim}`] - ].filter(s => !!s[0]).sort((a, b) => b[0] - a[0]); - return { - primary: `${movement.walk || 0} ${movement.units}`, - special: speeds.length ? speeds.map(s => s[1]).join(", ") : "" + ] + if ( largestPrimary ) { + speeds.push([movement.walk, `${game.i18n.localize("SW5E.MovementWalk")} ${movement.walk}`]); + } + + // Filter and sort speeds on their values + speeds = speeds.filter(s => !!s[0]).sort((a, b) => b[0] - a[0]); + + // Case 1: Largest as primary + if ( largestPrimary ) { + let primary = speeds.shift(); + return { + primary: `${primary ? primary[1] : "0"} ${movement.units}`, + special: speeds.map(s => s[1]).join(", ") + } + } + + // Case 2: Walk as primary + else { + return { + primary: `${movement.walk || 0} ${movement.units}`, + special: speeds.length ? speeds.map(s => s[1]).join(", ") : "" + } } } @@ -352,7 +374,7 @@ export default class ActorSheet5e extends ActorSheet { 1: '', 2: '' }; - return icons[level]; + return icons[level] || icons[0]; } /* -------------------------------------------- */ diff --git a/module/actor/sheets/newSheet/character.js b/module/actor/sheets/newSheet/character.js index ea995442..be3e82ed 100644 --- a/module/actor/sheets/newSheet/character.js +++ b/module/actor/sheets/newSheet/character.js @@ -57,6 +57,9 @@ export default class ActorSheet5eCharacterNew extends ActorSheet5e { // Experience Tracking sheetData["disableExperience"] = game.settings.get("sw5e", "disableExperienceTracking"); sheetData["classLabels"] = this.actor.itemTypes.class.map(c => c.name).join(", "); + sheetData["multiclassLabels"] = this.actor.itemTypes.class.map(c => { + return [c.data.data.archetype, c.name, c.data.data.levels].filterJoin(' ') + }).join(', '); // Return data for rendering return sheetData; @@ -86,6 +89,18 @@ export default class ActorSheet5eCharacterNew extends ActorSheet5e { // Item details item.img = item.img || DEFAULT_TOKEN; item.isStack = Number.isNumeric(item.data.quantity) && (item.data.quantity !== 1); + item.attunement = { + [CONFIG.SW5E.attunementTypes.REQUIRED]: { + icon: "fa-sun", + cls: "not-attuned", + title: "SW5E.AttunementRequired" + }, + [CONFIG.SW5E.attunementTypes.ATTUNED]: { + icon: "fa-sun", + cls: "attuned", + title: "SW5E.AttunementAttuned" + } + }[item.data.attunement]; // Item usage item.hasUses = item.data.uses && (item.data.uses.max > 0); diff --git a/module/actor/sheets/newSheet/npc.js b/module/actor/sheets/newSheet/npc.js index d884d770..da67f782 100644 --- a/module/actor/sheets/newSheet/npc.js +++ b/module/actor/sheets/newSheet/npc.js @@ -115,7 +115,7 @@ export default class ActorSheet5eNPCNew extends ActorSheet5e { /** @override */ activateListeners(html) { super.activateListeners(html); - html.find(".health .rollable").click(this._onRollHealthFormula.bind(this)); + html.find(".health .rollable").click(this._onRollHPFormula.bind(this)); } /* -------------------------------------------- */ @@ -125,7 +125,7 @@ export default class ActorSheet5eNPCNew extends ActorSheet5e { * @param {Event} event The original click event * @private */ - _onRollHealthFormula(event) { + _onRollHPFormula(event) { event.preventDefault(); const formula = this.actor.data.data.attributes.hp.formula; if ( !formula ) return; diff --git a/module/actor/sheets/newSheet/vehicle.js b/module/actor/sheets/newSheet/vehicle.js index e34026c0..cba36ebd 100644 --- a/module/actor/sheets/newSheet/vehicle.js +++ b/module/actor/sheets/newSheet/vehicle.js @@ -56,6 +56,13 @@ export default class ActorSheet5eVehicle extends ActorSheet5e { /* -------------------------------------------- */ + /** @override */ + _getMovementSpeed(actorData, largestPrimary=true) { + return super._getMovementSpeed(actorData, largestPrimary); + } + + /* -------------------------------------------- */ + /** * Prepare items that are mounted to a vehicle and require one or more crew * to operate. @@ -86,13 +93,6 @@ export default class ActorSheet5eVehicle extends ActorSheet5e { /* -------------------------------------------- */ - /** @override */ - _getMovementSpeed(actorData) { - return {primary: "", special: ""}; - } - - /* -------------------------------------------- */ - /** * Organize Owned Items for rendering the Vehicle sheet. * @private diff --git a/module/actor/sheets/oldSheets/base.js b/module/actor/sheets/oldSheets/base.js index 961ba894..485a78b7 100644 --- a/module/actor/sheets/oldSheets/base.js +++ b/module/actor/sheets/oldSheets/base.js @@ -119,22 +119,44 @@ export default class ActorSheet5e extends ActorSheet { /* -------------------------------------------- */ /** - * Prepare the display of movement speed data for the Actor - * @param {object} actorData + * Prepare the display of movement speed data for the Actor* + * @param {object} actorData The Actor data being prepared. + * @param {boolean} [largestPrimary=false] Show the largest movement speed as "primary", otherwise show "walk" * @returns {{primary: string, special: string}} * @private */ - _getMovementSpeed(actorData) { + _getMovementSpeed(actorData, largestPrimary=false) { const movement = actorData.data.attributes.movement || {}; - const speeds = [ + + // Prepare an array of available movement speeds + let speeds = [ [movement.burrow, `${game.i18n.localize("SW5E.MovementBurrow")} ${movement.burrow}`], [movement.climb, `${game.i18n.localize("SW5E.MovementClimb")} ${movement.climb}`], [movement.fly, `${game.i18n.localize("SW5E.MovementFly")} ${movement.fly}` + (movement.hover ? ` (${game.i18n.localize("SW5E.MovementHover")})` : "")], [movement.swim, `${game.i18n.localize("SW5E.MovementSwim")} ${movement.swim}`] - ].filter(s => !!s[0]).sort((a, b) => b[0] - a[0]); - return { - primary: `${movement.walk || 0} ${movement.units}`, - special: speeds.length ? speeds.map(s => s[1]).join(", ") : "" + ] + if ( largestPrimary ) { + speeds.push([movement.walk, `${game.i18n.localize("SW5E.MovementWalk")} ${movement.walk}`]); + } + + // Filter and sort speeds on their values + speeds = speeds.filter(s => !!s[0]).sort((a, b) => b[0] - a[0]); + + // Case 1: Largest as primary + if ( largestPrimary ) { + let primary = speeds.shift(); + return { + primary: `${primary ? primary[1] : "0"} ${movement.units}`, + special: speeds.map(s => s[1]).join(", ") + } + } + + // Case 2: Walk as primary + else { + return { + primary: `${movement.walk || 0} ${movement.units}`, + special: speeds.length ? speeds.map(s => s[1]).join(", ") : "" + } } } @@ -352,7 +374,7 @@ export default class ActorSheet5e extends ActorSheet { 1: '', 2: '' }; - return icons[level]; + return icons[level] || icons[0]; } /* -------------------------------------------- */ diff --git a/module/actor/sheets/oldSheets/character.js b/module/actor/sheets/oldSheets/character.js index 51e181cf..dc28b205 100644 --- a/module/actor/sheets/oldSheets/character.js +++ b/module/actor/sheets/oldSheets/character.js @@ -46,6 +46,9 @@ export default class ActorSheet5eCharacter extends ActorSheet5e { // Experience Tracking sheetData["disableExperience"] = game.settings.get("sw5e", "disableExperienceTracking"); sheetData["classLabels"] = this.actor.itemTypes.class.map(c => c.name).join(", "); + sheetData["multiclassLabels"] = this.actor.itemTypes.class.map(c => { + return [c.data.data.archetype, c.name, c.data.data.levels].filterJoin(' ') + }).join(', '); // Return data for rendering return sheetData; @@ -76,12 +79,12 @@ export default class ActorSheet5eCharacter extends ActorSheet5e { item.img = item.img || DEFAULT_TOKEN; item.isStack = Number.isNumeric(item.data.quantity) && (item.data.quantity !== 1); item.attunement = { - 1: { + [CONFIG.SW5E.attunementTypes.REQUIRED]: { icon: "fa-sun", cls: "not-attuned", title: "SW5E.AttunementRequired" }, - 2: { + [CONFIG.SW5E.attunementTypes.ATTUNED]: { icon: "fa-sun", cls: "attuned", title: "SW5E.AttunementAttuned" diff --git a/module/actor/sheets/oldSheets/vehicle.js b/module/actor/sheets/oldSheets/vehicle.js index e34026c0..cba36ebd 100644 --- a/module/actor/sheets/oldSheets/vehicle.js +++ b/module/actor/sheets/oldSheets/vehicle.js @@ -56,6 +56,13 @@ export default class ActorSheet5eVehicle extends ActorSheet5e { /* -------------------------------------------- */ + /** @override */ + _getMovementSpeed(actorData, largestPrimary=true) { + return super._getMovementSpeed(actorData, largestPrimary); + } + + /* -------------------------------------------- */ + /** * Prepare items that are mounted to a vehicle and require one or more crew * to operate. @@ -86,13 +93,6 @@ export default class ActorSheet5eVehicle extends ActorSheet5e { /* -------------------------------------------- */ - /** @override */ - _getMovementSpeed(actorData) { - return {primary: "", special: ""}; - } - - /* -------------------------------------------- */ - /** * Organize Owned Items for rendering the Vehicle sheet. * @private diff --git a/module/apps/ability-use-dialog.js b/module/apps/ability-use-dialog.js index 079ea93d..a0f8b716 100644 --- a/module/apps/ability-use-dialog.js +++ b/module/apps/ability-use-dialog.js @@ -127,10 +127,13 @@ export default class AbilityUseDialog extends Dialog { }); } const canCast = powerLevels.some(l => l.hasSlots); + if ( !canCast ) data.errors.push(game.i18n.format("SW5E.PowerCastNoSlots", { + level: CONFIG.SW5E.powerLevels[lvl], + name: data.item.name + })); - // Return merged data - data = mergeObject(data, { isPower: true, consumePowerSlot, powerLevels }); - if ( !canCast ) data.errors.push("SW5E.PowerCastNoSlots"); + // Merge power casting data + return mergeObject(data, { isPower: true, consumePowerSlot, powerLevels }); } /* -------------------------------------------- */ diff --git a/module/apps/trait-selector.js b/module/apps/trait-selector.js index 5a9e48be..5e63d63d 100644 --- a/module/apps/trait-selector.js +++ b/module/apps/trait-selector.js @@ -49,7 +49,7 @@ export default class TraitSelector extends FormApplication { } // Return data - return { + return { allowCustom: this.options.allowCustom, choices: choices, custom: attr ? attr.custom : "" @@ -85,4 +85,4 @@ export default class TraitSelector extends FormApplication { // Update the object this.object.update(updateData); } -} \ No newline at end of file +} diff --git a/module/combat.js b/module/combat.js index ed12959b..b407c33a 100644 --- a/module/combat.js +++ b/module/combat.js @@ -13,7 +13,7 @@ export const _getInitiativeFormula = function(combatant) { let nd = 1; let mods = ""; - if (actor.getFlag("sw5e", "halflingLucky")) mods += "r=1"; + if (actor.getFlag("sw5e", "halflingLucky")) mods += "r1=1"; if (actor.getFlag("sw5e", "initiativeAdv")) { nd = 2; mods += "kh"; diff --git a/module/config.js b/module/config.js index 14ca3ee2..4008e13b 100644 --- a/module/config.js +++ b/module/config.js @@ -4,14 +4,13 @@ import {ClassFeatures} from "./classFeatures.js" export const SW5E = {}; // ASCII Artwork -SW5E.ASCII = `__________________________________________ - _ - | | - ___| |_ __ _ _ ____ ____ _ _ __ ___ -/ __| __/ _\\ | |__\\ \\ /\\ / / _\\ | |__/ __| -\\__ \\ || (_) | | \\ \V \V / (_) | | \\__ \\ -|___/\\__\\__/_|_| \\_/\\_/ \\__/_|_| |___/ -__________________________________________`; +SW5E.ASCII = ` + ___________ ___________ +/ _____/ \\ / \\ ____/ ____ +\\_____ \\\\ \\/\\/ /____ \\_/ __ \\ +/ \\\\ // \\ ___/ +\\______ / \\__/\\ //______ /\\__ > + \\/ \\/ \\/ \\/ `; /** @@ -315,6 +314,7 @@ SW5E.damageResistanceTypes = duplicate(SW5E.damageTypes); /* -------------------------------------------- */ + // armor Types SW5E.armorPropertiesTypes = { "Absorptive": "SW5E.ArmorProperAbsorptive", @@ -349,6 +349,19 @@ SW5E.armorPropertiesTypes = { "Versatile": "SW5E.ArmorProperVersatile" }; +/** + * The valid units of measure for movement distances in the game system. + * By default this uses the imperial units of feet and miles. + * @type {Object} + */ +SW5E.movementTypes = { + "burrow": "SW5E.MovementBurrow", + "climb": "SW5E.MovementClimb", + "fly": "SW5E.MovementFly", + "swim": "SW5E.MovementSwim", + "walk": "SW5E.MovementWalk", +} + /** * The valid units of measure for movement distances in the game system. * By default this uses the imperial units of feet and miles. diff --git a/module/item/entity.js b/module/item/entity.js index fc76affe..a1b64f0c 100644 --- a/module/item/entity.js +++ b/module/item/entity.js @@ -1,6 +1,5 @@ import {simplifyRollFormula, d20Roll, damageRoll} from "../dice.js"; import AbilityUseDialog from "../apps/ability-use-dialog.js"; -import AbilityTemplate from "../pixi/ability-template.js"; /** * Override and extend the basic :class:`Item` implementation @@ -419,7 +418,7 @@ export default class Item5e extends Item { // Handle power upcasting if ( requirePowerSlot ) { const slotLevel = configuration.level; - const powerLevel = slotLevel === "pact" ? actor.data.data.powerss.pact.level : parseInt(slotLevel); + const powerLevel = slotLevel === "pact" ? actor.data.data.powers.pact.level : parseInt(slotLevel); if (powerLevel !== id.level) { const upcastData = mergeObject(this.data, {"data.level": powerLevel}, {inplace: false}); item = this.constructor.createOwned(upcastData, actor); // Replace the item with an upcast version @@ -898,6 +897,7 @@ export default class Item5e extends Item { * Place a damage roll using an item (weapon, feat, power, or equipment) * Rely upon the damageRoll logic for the core implementation. * @param {MouseEvent} [event] An event which triggered this roll, if any + * @param {boolean} [critical] Should damage be rolled as a critical hit? * @param {number} [powerLevel] If the item is a power, override the level for damage scaling * @param {boolean} [versatile] If the item is a weapon, roll damage using the versatile formula * @param {object} [options] Additional options passed to the damageRoll function @@ -942,9 +942,9 @@ export default class Item5e extends Item { // Scale damage from up-casting powers if ( (this.data.type === "power") ) { - if ( (itemData.scaling.mode === "cantrip") ) { + if ( (itemData.scaling.mode === "atwill") ) { const level = this.actor.data.type === "character" ? actorData.details.level : actorData.details.powerLevel; - this._scaleCantripDamage(parts, itemData.scaling.formula, level, rollData); + this._scaleAtWillDamage(parts, itemData.scaling.formula, level, rollData); } else if ( powerLevel && (itemData.scaling.mode === "level") && itemData.scaling.formula ) { const scaling = itemData.scaling.formula; diff --git a/module/item/sheet.js b/module/item/sheet.js index fc13c5e0..d01cf51f 100644 --- a/module/item/sheet.js +++ b/module/item/sheet.js @@ -61,6 +61,9 @@ export default class ItemSheet5e extends ItemSheet { data.isFlatDC = getProperty(data.item.data, "save.scaling") === "flat"; data.isLine = ["line", "wall"].includes(data.item.data.target?.type); + // Original maximum uses formula + if ( this.item._data.data?.uses?.max ) data.data.uses.max = this.item._data.data.uses.max; + // Vehicles data.isCrewed = data.item.data.activation?.type === 'crew'; data.isMountable = this._isItemMountable(data.item); @@ -91,7 +94,7 @@ export default class ItemSheet5e extends ItemSheet { ammo[i.id] = `${i.name} (${i.data.data.quantity})`; } return ammo; - }, {}); + }, {[item._id]: `${item.name} (${item.data.quantity})`}); } // Attributes @@ -335,7 +338,7 @@ export default class ItemSheet5e extends ItemSheet { // Render the Trait Selector dialog new TraitSelector(this.item, { - name: a.dataset.edit, + name: a.dataset.target, title: label.innerText, choices: Object.entries(CONFIG.SW5E.skills).reduce((obj, e) => { if ( choices.includes(e[0] ) ) obj[e[0]] = e[1]; diff --git a/module/migration.js b/module/migration.js index 2e19c076..b627e0e3 100644 --- a/module/migration.js +++ b/module/migration.js @@ -127,7 +127,6 @@ export const migrateActorData = function(actor) { const updateData = {}; // Actor Data Updates - _migrateActorBonuses(actor, updateData); _migrateActorMovement(actor, updateData); _migrateActorSenses(actor, updateData); @@ -229,28 +228,14 @@ export const migrateSceneData = function(scene) { /* Low level migration utilities /* -------------------------------------------- */ -/** - * Migrate the actor bonuses object - * @private - */ -function _migrateActorBonuses(actor, updateData) { - const b = game.system.model.Actor.character.bonuses; - for ( let k of Object.keys(actor.data.bonuses || {}) ) { - if ( k in b ) updateData[`data.bonuses.${k}`] = b[k]; - else updateData[`data.bonuses.-=${k}`] = null; - } -} - -/* -------------------------------------------- */ - /** * Migrate the actor speed string to movement object * @private */ function _migrateActorMovement(actor, updateData) { const ad = actor.data; - const old = ad?.attributes?.speed?.value; - if ( old === undefined ) return; + const old = actor.type === 'vehicle' ? ad?.attributes?.speed : ad?.attributes?.speed?.value; + if ( typeof old !== "string" ) return; const s = (old || "").split(" "); if ( s.length > 0 ) updateData["data.attributes.movement.walk"] = Number.isNumeric(s[0]) ? parseInt(s[0]) : null; updateData["data.attributes.-=speed"] = null; @@ -302,7 +287,7 @@ function _migrateActorSenses(actor, updateData) { */ function _migrateItemAttunement(item, updateData) { if ( item.data.attuned === undefined ) return; - updateData["data.attunement"] = 0; + updateData["data.attunement"] = CONFIG.SW5E.attunementTypes.NONE; updateData["data.-=attuned"] = null; return updateData; } diff --git a/module/pixi/ability-template.js b/module/pixi/ability-template.js index e594319d..702343b2 100644 --- a/module/pixi/ability-template.js +++ b/module/pixi/ability-template.js @@ -29,8 +29,8 @@ export default class AbilityTemplate extends MeasuredTemplate { // Additional type-specific data switch ( templateShape ) { - case "cone": // 5e cone RAW should be 53.13 degrees - templateData.angle = 53.13; + case "cone": + templateData.angle = CONFIG.MeasuredTemplate.defaults.angle; break; case "rect": // 5e rectangular AoEs are always cubes templateData.distance = Math.hypot(target.value, target.value); diff --git a/packs/packs/species.db b/packs/packs/species.db index 7e03e4d4..8a8b39a4 100644 --- a/packs/packs/species.db +++ b/packs/packs/species.db @@ -42,9 +42,9 @@ {"_id":"Ka28NJkuuU4olwBu","name":"Geonosian","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

Biology and Appearance

Geonosians have a hard chitin exoskeleton that provided protection from physical impacts and bouts of radiation that occasionally shower their world. Geonosians are strong despite their thin builds, and are capable of constructing massive hives and factories in concert. The head of a Geonosian is elongated and large with their skulls ridged on the top and by the side where they have bulbous, thick-lidded eyes. Both are physically strong and covered with bony ridges which protected their arms, legs, and vital organs.

Society and Culture

Geonosian society is caste-based with little upward mobility, though some of the lower caste do develop ambition. Workers are conditioned to loathe even the concept of separation from their hive and the system of control. A low-ranking worker's normal life is one of endless toil and labor to satisfy the aristocracy, who are known to make spectacular demands. The warrior caste tend to be highly competitive and are eager to prove themselves. They are born with an abnormal level of intelligence, and one of their only hopes of escape from their rigid duty is entering voluntarily into gladiatorial combat. Should they survive, they are granted freedom. Ultimately, their society exist to benefit those few members that reside in the upper caste. Members of the aristocratic classes are known to be ambitious, domineering, and manipulative. They constantly move towards improving their standing and holdings while sumultaneously working to ruin their rivals.

Names

Geonosian names are usually harsh sounding. Lower castes don't get surnames. Upper caste surnames are familial.

  Male Names. Buck, Goshey, Nik, Sozz, Techtu

  Female Names. Datte, Kida, Miri, Nare, Tenessi

  Surnames. Chak, Hor, Lur, Marpes, Zol","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. You Dexterity score increases by 2, and your Constitution or Intelligence score increases by 1.

Age. Geonosians reach adulthood at 10 and live less than a century.

Alignment. Geonosians' greedy and self-serving nature causes them to tend toward the dark side, though there are exceptions.

Size. Geonosians typically stand from 5 to 6 feet tall and rarely weigh more than 80 lbs. Regardless of your position in that range, your size is Medium.

Speed. Your base walking speed is 30 feet.

Crafter. Geonosian culture promotes artisanry. You have proficiency in one set of artisan's tools of your choice.

Exoskeleton. You have a thick exoskeleton. While you are unarmored or wearing light armor, your AC is 12 + your Dexterity modifier.

Flight. You have a flying speed of 30 feet. To use this speed, you can't be wearing medium or heavy armor.

Geonosian Weaponry. You have proficiency in simple blasters.

Languages. You can speak, read, and write Galactic Basic and Geonosian. The Geonosian language consists of click consonants through use of a Geonosians' dual mandibles. This makes it difficult for other species to learn to speak it.

"},"skinColorOptions":{"value":"Gray, green, or orange"},"hairColorOptions":{"value":"None"},"eyeColorOptions":{"value":"Black"},"distinctions":{"value":"Hive-based, winged semi-insectoids"},"heightAverage":{"value":"5'5\""},"heightRollMod":{"value":"+2d4\""},"weightAverage":{"value":"60 lb."},"weightRollMod":{"value":"x(2d4) lb."},"homeworld":{"value":"Geonosis"},"slanguage":{"value":"Geonosian"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"source":"Expanded Content"},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.details.species","value":"Geonosian","mode":"=","targetSpecific":false,"id":1,"itemId":"WBiaOzIzielpRhTw","active":false,"_targets":[],"label":"Details Species"},{"modSpecKey":"data.abilities.dex.value","value":"2","mode":"+","targetSpecific":false,"id":2,"itemId":"WBiaOzIzielpRhTw","active":false,"_targets":[],"label":"Abilities Dexterity"},{"modSpecKey":"data.traits.size","value":"med","mode":"=","targetSpecific":false,"id":3,"itemId":"WBiaOzIzielpRhTw","active":false,"_targets":[],"label":"Traits Size"},{"modSpecKey":"data.attributes.movement.walk","value":"30","mode":"=","targetSpecific":false,"id":4,"itemId":"WBiaOzIzielpRhTw","active":false,"_targets":[],"label":"Attributes Speed"},{"modSpecKey":"data.attributes.ac.min","value":"12","mode":"=","targetSpecific":false,"id":5,"itemId":"WBiaOzIzielpRhTw","active":false,"_targets":[],"label":"Attributes Armor Class Min"},{"modSpecKey":"data.attributes.movement.fly","value":"30","mode":"=","targetSpecific":false,"id":6,"itemId":"WBiaOzIzielpRhTw","active":false,"_targets":[],"label":"Attributes Speed Special"},{"modSpecKey":"data.traits.weaponProf.custom","value":"simple blasters","mode":"+","targetSpecific":false,"id":7,"itemId":"WBiaOzIzielpRhTw","active":false,"_targets":[],"label":"Traits Weapon Prof. Custom"},{"modSpecKey":"data.traits.languages.value","value":"basic","mode":"+","targetSpecific":false,"id":8,"itemId":"WBiaOzIzielpRhTw","active":false,"_targets":[]},{"modSpecKey":"data.traits.languages.value","value":"geonosian","mode":"+","targetSpecific":false,"id":9,"itemId":"WBiaOzIzielpRhTw","active":false,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Geonosian.webp","effects":[{"_id":"pjSHHuM2UzrJ1wY8","flags":{"dae":{"transfer":true,"stackable":false}},"changes":[{"key":"data.details.species","value":"Geonosian","mode":5,"priority":5},{"key":"data.abilities.dex.value","value":2,"mode":2,"priority":20},{"key":"data.traits.size","value":"med","mode":5,"priority":5},{"key":"data.attributes.movement.walk","value":30,"mode":5,"priority":5},{"key":"data.attributes.ac.value","value":"12+@abilities.dex.mod","mode":5,"priority":1},{"key":"data.attributes.movement.fly","value":30,"mode":5,"priority":5},{"key":"data.traits.weaponProf.custom","value":"simple blasters","mode":0,"priority":0},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":0},{"key":"data.traits.languages.value","value":"geonosian","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null,"seconds":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Geonosian.webp","label":"Geonosian","tint":"","transfer":true}]} {"_id":"L4V0Gj83vTUPnRCZ","name":"Ardennian","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

Biology and Appearance

\n

Ardennians are sentient humanoid simians hailing from the tropical paradise of Ardennia. They are covered in fur from head to their wrists and ankles, with brown and grey being the most common fur colors. Ardennians sport four arms and prehensile feet. All six of their limbs are equally dexterous.

\n

Society and Culture

\n

The Ardennian people themselves are a friendly communal species that are well known for welcoming visitors and inviting newcomers to traditional feasts and dances on the sandy beaches of Ardennia. Rural Ardiennan's live in modern tree-villages in the thick, dim jungle canopy on the majority of the islands. Ground level accommodations are available for off world visitors even in the smaller villages. Most off-worlders stay in the large modern resort complexes which boast having miles of private beaches or in the modern cities. Several large cities exist, scattered around the world, which typically encompass an entire island or a series of smaller islands joined together.

\n

Ardennia's distance from the main hyperlanes makes it one of the lesser-known vacation destinations, but it's a popular one for those who don't mind the extra travel time. Some affluent visitors prefer the solitude that Ardennia offers, and occasionally end up purchasing one of the smaller islands to build their own home. Ardennia is notable for having the most beach per square meter in the galaxy.

\n

Names

\n

Ardennians' names are typically concise and rarely more than two syllables, with a familal surname.

\n

  Male Names. Rio, Jakar, Hul, Lup, Quil, Jerno

\n

  Female Names. Rac, Bras, Nuc, Kua, Karta, Sanya

\n

  Surnames. Betal, Durant, Jabut, Karon, Rambuan

","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. Your Dexterity score increases by 2, and your Charisma score increases by 1.

Age. Ardennians reach adulthood in their late teens and live less than a century.

Alignment. Ardennians' peaceful nature causes them to tend toward the light side, though there are exceptions.

Size. Ardennians typically stand 4 to 4 and a half feet tall and weigh around 60 lbs. Regardless of your position in that range, your size is Medium.

Speed. Your base walking speed is 30 feet.

Darkvision. You have a keen eyesight, especially in the dark. You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can't discern color in darkness, only shades of gray.

Four-Armed. Ardennians have four arms which they can use independently of one another. You can only gain the benefit of items held by two of your arms at any given time, and once per round you can switch which arms you are benefiting from (no action required).

Jungle Dweller. Growing up in the tree-villages of Ardennia has left an impact. You don't treat jungle terrain as difficult terrain.

Mask of the Wild. You can attempt to hide even when you are only lightly obscured by foliage, heavy rain, falling snow, mist, and other natural phenomena.

Prehensile Feet. You have supreme control over your feet and can use them to manipulate objects as well as your hands.

Strong-Legged. When you make a long jump, you can cover a number of feet up to twice your Strength score. When you make a high jump, you can leap a number of feet up into the air equal to 3 + twice your Strength modifier.

Treeclimber. You have a climbing speed of 25 feet. You have advantage on Strength saving throws and Strength (Athletics) checks that involve climbing.

Languages. You can speak, read, and write Galactic Basic and Ardennian. Ardennian has a bubbly, energizing tone to it.

"},"skinColorOptions":{"value":"Brown or black"},"hairColorOptions":{"value":"Brown to gray"},"eyeColorOptions":{"value":"Brown or black"},"distinctions":{"value":"Four arms, fur-covered, prehensile feet"},"heightAverage":{"value":"3'2\""},"heightRollMod":{"value":"+2d8\""},"weightAverage":{"value":"50 lb."},"weightRollMod":{"value":"x1 lb."},"homeworld":{"value":"Ardennia"},"slanguage":{"value":"Adrennian"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"source":"Expanded Content"},"flags":{"dynamiceffects":{"equipActive":true,"effects":[{"modSpecKey":"data.details.species","value":"Ardennian","mode":"=","targetSpecific":false,"id":1,"itemId":"N0nQEW5WU61tfyIg","active":false,"_targets":[],"label":"Details Species"},{"modSpecKey":"data.abilities.dex.value","value":"2","mode":"+","targetSpecific":false,"id":2,"itemId":"N0nQEW5WU61tfyIg","active":false,"_targets":[],"label":"Abilities Dexterity"},{"modSpecKey":"data.abilities.cha.value","value":"1","mode":"+","targetSpecific":false,"id":3,"itemId":"N0nQEW5WU61tfyIg","active":false,"_targets":[],"label":"Abilities Charisma"},{"modSpecKey":"data.traits.size","value":"med","mode":"=","targetSpecific":false,"id":4,"itemId":"N0nQEW5WU61tfyIg","active":false,"_targets":[],"label":"Traits Size"},{"modSpecKey":"data.attributes.movement.walk","value":"30","mode":"=","targetSpecific":false,"id":5,"itemId":"N0nQEW5WU61tfyIg","active":false,"_targets":[],"label":"Attributes Speed"},{"modSpecKey":"data.traits.senses","value":"Darkvision (60 ft.)","mode":"+","targetSpecific":false,"id":6,"itemId":"N0nQEW5WU61tfyIg","active":false,"_targets":[],"label":"Traits Senses"},{"modSpecKey":"data.attributes.movement.climb","value":"25","mode":"+","targetSpecific":false,"id":7,"itemId":"N0nQEW5WU61tfyIg","active":false,"_targets":[],"label":"Attributes Speed Special"},{"modSpecKey":"data.traits.languages.value","value":"basic","mode":"+","targetSpecific":false,"id":8,"itemId":"N0nQEW5WU61tfyIg","active":false,"_targets":[],"label":"Traits Language"},{"modSpecKey":"data.traits.languages.value","value":"ardennian","mode":"+","targetSpecific":false,"id":9,"itemId":"N0nQEW5WU61tfyIg","active":false,"_targets":[]}],"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Ardennian.webp","effects":[{"_id":"abUBIqj4EjIoc7yP","flags":{"dae":{"transfer":true,"stackable":false}},"changes":[{"key":"data.details.species","value":"Ardennian","mode":5,"priority":5},{"key":"data.abilities.dex.value","value":2,"mode":2,"priority":20},{"key":"data.abilities.cha.value","value":1,"mode":2,"priority":20},{"key":"data.traits.size","value":"med","mode":5,"priority":5},{"key":"data.attributes.movement.walk","value":30,"mode":5,"priority":5},{"key":"data.traits.senses","value":"Darkvision (60 ft.)","mode":2,"priority":20},{"key":"data.attributes.movement.climb","value":25,"mode":5,"priority":20},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":0},{"key":"data.traits.languages.value","value":"ardennian","mode":0,"priority":0},{"key":"flags.sw5e.maskOfTheWild","value":"1","mode":5,"priority":20},{"key":"flags.sw5e.strongLegged","value":"1","mode":5,"priority":20},{"key":"flags.sw5e.extraArms","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null,"seconds":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Ardennian.webp","label":"Ardennian","tint":"","transfer":true}]} {"_id":"LFw4fu1bKYufZDr2","name":"Gran","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

Biology and Appearance

Gran can easily be identified by their three eyes and their goat-like snout. Female Gran also have three breasts. They have excellent vision, able to resolve more colors than most species, and even able to see into the infrared, thus they are able to sense one another's emotions and disposition by noting subtle changes in body heat and skin color. Gran have two stomachs, having evolved from herbivorous grazing animals who lived in herds on the mountains and highlands of Kinyen. A single meal can take almost an entire day to finish, after that a Gran does not often need to eat for several days.

Society and Culture

The peaceful nature of Gran society is a reflection of their homeworld, Kinyen. Kinyen boasted large and rolling grasslands and highlands, a dense and beautiful forest, and one of the longest and clearest rivers in the Bes Ber Bikade sector. The beauty of this planet, and the need for primitive Gran to band together for defense against predatory animals, helped the Gran develop strong bonds of home and family in their society. \r\n\r\nThe Grans are also very protective of their families, and were some of the most devoted parents in the galaxy. This is because of their very powerful and sensitive sight, which can sense the emotions of their mates and their children. Gran society maintains its balance by setting up strict career quotas, and making sure young Gran are educated for a specific job that best served his or her talents.

Names

Gran names typically are monosyllabic and accompanied by a surname, which is familial.

  Male Names. Ask, Dree, Ree, Pax, Nic

  Female Names. Yan, Alijia, Meeb, Sir, Zeek

  Surnames. Moe, Leem, Yees, Wix, Naaq","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. Your Constitution score increases by 2, and your Wisdom score increases by 1.

Age. Gran reach adulthood around their late teens and live up to 80 years.

Alignment. Gran highly organized society cause them to tend toward lawful alignments, though there are exceptions..

Size. Gran typically stand between 5 and 6 feet tall and weigh around 170 lbs. Regardless of your position in that range, your size is Medium.

Speed. Your base walking speed is 30 feet.

Slow Metabolism. You are able to go a number of days without food equal to 3 + twice your Constitution modifier before suffering exhaustion.

Keen Sight. Through use of infrared vision, you have advantage on Wisdom (Perception) checks that rely on sight.

Reader of Hearts. Through identifying subtle variations in a target's body heat, the Gran are able to better understand their emotions and intentions. You are proficient in the Insight skill.

Toughness. Your hit point maximum increases by 1, and it increases by 1 every time you gain a level.

Languages. You can speak, read, and write Galactic Basic and Gran. It is rare to hear Gran spoken on any world other than Kinyen.

"},"skinColorOptions":{"value":"Blue or tan"},"hairColorOptions":{"value":"None"},"eyeColorOptions":{"value":"Black, purple"},"distinctions":{"value":"Three eyes and goat-like snout"},"heightAverage":{"value":"4'10\""},"heightRollMod":{"value":"+2d10\""},"weightAverage":{"value":"115 lb."},"weightRollMod":{"value":"x(2d4) lb."},"homeworld":{"value":"Kinyen"},"slanguage":{"value":"Gran"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"source":"Expanded Content"},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.details.species","value":"Gran","mode":"=","targetSpecific":false,"id":1,"itemId":"uSOMaDF0wbLAz0qi","active":false,"_targets":[],"label":"Details Species"},{"modSpecKey":"data.abilities.con.value","value":"2","mode":"+","targetSpecific":false,"id":2,"itemId":"uSOMaDF0wbLAz0qi","active":false,"_targets":[],"label":"Abilities Constitution"},{"modSpecKey":"data.abilities.wis.value","value":"1","mode":"+","targetSpecific":false,"id":3,"itemId":"uSOMaDF0wbLAz0qi","active":false,"_targets":[],"label":"Abilities Wisdom"},{"modSpecKey":"data.traits.size","value":"med","mode":"=","targetSpecific":false,"id":4,"itemId":"uSOMaDF0wbLAz0qi","active":false,"_targets":[],"label":"Traits Size"},{"modSpecKey":"data.attributes.movement.walk","value":"30","mode":"=","targetSpecific":false,"id":5,"itemId":"uSOMaDF0wbLAz0qi","active":false,"_targets":[],"label":"Attributes Speed"},{"modSpecKey":"data.skills.ins.value","value":"1","mode":"+","targetSpecific":false,"id":6,"itemId":"uSOMaDF0wbLAz0qi","active":false,"_targets":[]},{"modSpecKey":"data.traits.languages.value","value":"basic","mode":"+","targetSpecific":false,"id":7,"itemId":"uSOMaDF0wbLAz0qi","active":false,"_targets":[]},{"modSpecKey":"data.traits.languages.value","value":"gran","mode":"+","targetSpecific":false,"id":8,"itemId":"uSOMaDF0wbLAz0qi","active":false,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Gran.webp","effects":[{"_id":"2cpzxKWagRwrN2wf","flags":{"dae":{"transfer":true,"stackable":false}},"changes":[{"key":"data.details.species","value":"Gran","mode":5,"priority":5},{"key":"data.abilities.con.value","value":2,"mode":2,"priority":20},{"key":"data.abilities.wis.value","value":1,"mode":2,"priority":20},{"key":"data.traits.size","value":"med","mode":0,"priority":5},{"key":"data.attributes.movement.walk","value":"30","mode":5,"priority":5},{"key":"data.skills.ins.value","value":1,"mode":4,"priority":20},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":0},{"key":"data.traits.languages.value","value":"gran","mode":0,"priority":0},{"key":"flags.sw5e.toughness","value":"1","mode":5,"priority":20},{"key":"flags.sw5e.keenSenses","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null,"seconds":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Gran.webp","label":"Gran","tint":"","transfer":true}]} -{"_id":"M0j4gpd1ufV6pFCH","name":"Arcona","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

Biology and Appearance

\n

Arcona have anvil-shaped heads, claws, marble-like eyes, and protective skin. Cona is always hot, and has very little water, but the atmosphere is filled with ammonia vapor. Arcona adapted to this environment by eating the ammonia-converting roots of flora as a source of water. Arcona depended on the ammonia to live and, as a result, arcona living offworld have to take ammonia supplements. Despite their large eyes, arcona have very poor eyesight. Their eyes, made up of thousands of photoreceptors, can not detect fine shapes, only seeing blurry objects. To aid this, they have a small sensory organ between their eyes. Often mistaken for their nose, this organ detects heat patterns from living beings. Thus, arcona can recognize things by its heat pattern.

\n

Arcona are highly susceptible to addiction to spice and common salt, which serves as a hallucinogen with effects resembling that of intoxication. Their eyes shift to gold after prolonged addiction.

\n

Society and Culture

\n

Arcona normally think of themselves not as individuals but as a collective whole. Largely forsaking individuality, they often refer to themselves as “we” even when alone. The arcona live in loose, family-based communities called nests, which are ruled by a Grand Nest. Because arcona are born in nests underground, they obtain a close sense of family living in close quarters with siblings. Males raise the young, since females are typically impulsive thrill-seekers.

\n

Names

\n

Arcona names are quite diverse, named by their fathers in the nest. Surnames are either familial or nest-based.

\n

  Male Names. Bijrik, El, Jat, Kazat, Onalol, Shle

\n

  Female Names. Ak, Cimam, Cuten, He, Madan, Omik

\n

  Surnames. Cheen, -drell, -faxel, Shran, Takonak, -voll

","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. Your Charisma score increases by 2, and your Constitution score increases by 1.

\n

Age. Arcona reach adulthood in their late teens and live for more than a century.

\n

Alignment. Arcona tend toward no particular alignment. They can vary from the chaotic thrillseekers to the orderly lawkeepers. The best and worst are found among them.

\n

Size. Arcona typically stand 5 and a half to 6 and a half feet tall and generally weigh about 140 lbs. Regardless of your position in that range, your size is Medium.

\n

Speed. Your base walking speed is 30 feet.

\n

Claws. Your sharp talons are natural weapons, which you can use to make unarmed strikes. If you hit with them, you deal kinetic damage equal to 1d4 + your Strength modifier.

\n

Clever. You have proficiency in one Intelligence skill of your choice.

\n

Easily Addicted. Arcona are susceptible to spice addiction, and as a result you are taught to identify it from an early age. Additionally, consuming salt can cause them to hallucinate, potentially replicating the effects of spice. Whenever you make an ability check related to identifying salt or spice or seeing whether something contains salt or spice, you have advantage.

\n

Hide. You have a thick hide. When you aren’t wearing armor, your AC is 13 + your Dexterity modifier. Additionally, your thick hide is naturally adapted to hot climates, as described in chapter 5 of the Dungeon Master’s Guide.

\n

Keen Smell. You have advantage on Wisdom (Perception) checks that involve smell.

\n

Reptilian Senses. Whenever you make a Wisdom (Perception) check related to sensing heat, you are considered to have expertise in the Perception skill.

\n

Languages. You can speak, read, and write Galactic Basic and Arconese. Arconese is spoken through complex, guttural squeaks from the back of the throat. However, arcona born and raised in colonies outside of Cona often did not learn Arconese, but the local language instead.

"},"skinColorOptions":{"value":"Ebony to mahogany"},"hairColorOptions":{"value":"None"},"eyeColorOptions":{"value":"Green, blue, pink, gold when addicted"},"distinctions":{"value":"Flat heads, easily addicted"},"heightAverage":{"value":"5'0\""},"heightRollMod":{"value":"+2d10\""},"weightAverage":{"value":"95 lb."},"weightRollMod":{"value":"x(2d4) lb."},"homeworld":{"value":"Cona"},"slanguage":{"value":"Arconese"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false}},"source":"Expanded Content"},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Arcona.webp","effects":[{"_id":"NGgLg9M06MvvWwAh","flags":{"dae":{"transfer":true,"stackable":false}},"changes":[{"key":"data.details.species","value":"Arcona","mode":5,"priority":20},{"key":"data.abilities.cha.value","value":2,"mode":2,"priority":20},{"key":"data.abilities.con.value","value":1,"mode":2,"priority":20},{"key":"data.traits.size","value":"med","mode":5,"priority":20},{"key":"data.attributes.movement.walk","value":30,"mode":5,"priority":20},{"key":"data.attributes.ac.value","value":"13+@abilities.dex.mod","mode":5,"priority":1},{"key":"data.traits.languages.value","value":"arconese","mode":0,"priority":20},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":20},{"key":"flags.sw5e.keenSenses","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null,"seconds":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Arcona.webp","label":"Arcona","tint":"","transfer":true}]} +{"_id":"M0j4gpd1ufV6pFCH","name":"Arcona","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

Biology and Appearance

\n

Arcona have anvil-shaped heads, claws, marble-like eyes, and protective skin. Cona is always hot, and has very little water, but the atmosphere is filled with ammonia vapor. Arcona adapted to this environment by eating the ammonia-converting roots of flora as a source of water. Arcona depended on the ammonia to live and, as a result, arcona living offworld have to take ammonia supplements. Despite their large eyes, arcona have very poor eyesight. Their eyes, made up of thousands of photoreceptors, can not detect fine shapes, only seeing blurry objects. To aid this, they have a small sensory organ between their eyes. Often mistaken for their nose, this organ detects heat patterns from living beings. Thus, arcona can recognize things by its heat pattern.

\n

Arcona are highly susceptible to addiction to spice and common salt, which serves as a hallucinogen with effects resembling that of intoxication. Their eyes shift to gold after prolonged addiction.

\n

Society and Culture

\n

Arcona normally think of themselves not as individuals but as a collective whole. Largely forpaking individuality, they often refer to themselves as “we” even when alone. The arcona live in loose, family-based communities called nests, which are ruled by a Grand Nest. Because arcona are born in nests underground, they obtain a close sense of family living in close quarters with siblings. Males raise the young, since females are typically impulsive thrill-seekers.

\n

Names

\n

Arcona names are quite diverse, named by their fathers in the nest. Surnames are either familial or nest-based.

\n

  Male Names. Bijrik, El, Jat, Kazat, Onalol, Shle

\n

  Female Names. Ak, Cimam, Cuten, He, Madan, Omik

\n

  Surnames. Cheen, -drell, -faxel, Shran, Takonak, -voll

","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. Your Charisma score increases by 2, and your Constitution score increases by 1.

\n

Age. Arcona reach adulthood in their late teens and live for more than a century.

\n

Alignment. Arcona tend toward no particular alignment. They can vary from the chaotic thrillseekers to the orderly lawkeepers. The best and worst are found among them.

\n

Size. Arcona typically stand 5 and a half to 6 and a half feet tall and generally weigh about 140 lbs. Regardless of your position in that range, your size is Medium.

\n

Speed. Your base walking speed is 30 feet.

\n

Claws. Your sharp talons are natural weapons, which you can use to make unarmed strikes. If you hit with them, you deal kinetic damage equal to 1d4 + your Strength modifier.

\n

Clever. You have proficiency in one Intelligence skill of your choice.

\n

Easily Addicted. Arcona are susceptible to spice addiction, and as a result you are taught to identify it from an early age. Additionally, consuming salt can cause them to hallucinate, potentially replicating the effects of spice. Whenever you make an ability check related to identifying salt or spice or seeing whether something contains salt or spice, you have advantage.

\n

Hide. You have a thick hide. When you aren’t wearing armor, your AC is 13 + your Dexterity modifier. Additionally, your thick hide is naturally adapted to hot climates, as described in chapter 5 of the Dungeon Master’s Guide.

\n

Keen Smell. You have advantage on Wisdom (Perception) checks that involve smell.

\n

Reptilian Senses. Whenever you make a Wisdom (Perception) check related to sensing heat, you are considered to have expertise in the Perception skill.

\n

Languages. You can speak, read, and write Galactic Basic and Arconese. Arconese is spoken through complex, guttural squeaks from the back of the throat. However, arcona born and raised in colonies outside of Cona often did not learn Arconese, but the local language instead.

"},"skinColorOptions":{"value":"Ebony to mahogany"},"hairColorOptions":{"value":"None"},"eyeColorOptions":{"value":"Green, blue, pink, gold when addicted"},"distinctions":{"value":"Flat heads, easily addicted"},"heightAverage":{"value":"5'0\""},"heightRollMod":{"value":"+2d10\""},"weightAverage":{"value":"95 lb."},"weightRollMod":{"value":"x(2d4) lb."},"homeworld":{"value":"Cona"},"slanguage":{"value":"Arconese"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false}},"source":"Expanded Content"},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Arcona.webp","effects":[{"_id":"NGgLg9M06MvvWwAh","flags":{"dae":{"transfer":true,"stackable":false}},"changes":[{"key":"data.details.species","value":"Arcona","mode":5,"priority":20},{"key":"data.abilities.cha.value","value":2,"mode":2,"priority":20},{"key":"data.abilities.con.value","value":1,"mode":2,"priority":20},{"key":"data.traits.size","value":"med","mode":5,"priority":20},{"key":"data.attributes.movement.walk","value":30,"mode":5,"priority":20},{"key":"data.attributes.ac.value","value":"13+@abilities.dex.mod","mode":5,"priority":1},{"key":"data.traits.languages.value","value":"arconese","mode":0,"priority":20},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":20},{"key":"flags.sw5e.keenSenses","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null,"seconds":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Arcona.webp","label":"Arcona","tint":"","transfer":true}]} {"_id":"Ml2v48CH0up32k47","name":"Besalisk","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

Biology and Appearance

\n

Male Besalisks' heads sported prominent crests and four arms hung at their sides; females of the species could have as many as eight arms, but like Humans had a primary hand and a limited range of functionality with the others. The addition of the extra appendages required a hearty metabolism, and these bulky beings were able to store food and water for many days, and if the need arose, they could survive for long periods without either. Scruffy sensory whiskers lined the area below their noses, just above the robust wattle most adult Besalisks possessed.

\n

Society and Culture

\n

Because of Ojom's harsh environment, large cities were never developed on the world; instead small communes of about a thousand families claim territories around the world and are each led by an elected leader. The communes have a strict policy of keeping the size of their groupings equal to avoid conflict. When too many families grow in one area, the leader would ask certain families to break away and start a new community on another glacier. While not involved in galactic politics and because they do not produce any of their own technology, the Besalisks established large orbital space stations where offworlders could come to do business. Any violence on these stations is committed by offworlders as Besalisks avoid confrontation and focus on trading and making deals.

\n

Names

\n

Besalisk names are generally words that embody them, with a surname attached to their commune.

\n

  Male Names. Darius, Dexter, Plun, Pong

\n

  Female Names. Delia, Mora, Ren, Teen

\n

  Surnames. Jettster, Kil, Krell, Ugg

","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. Your Strength score increases by 2, and your Wisdom score increases by 1.

Age. Besalisks reach adulthood in their early teens and generally live to be about 70.

Alignment. Besalisks tend toward no particular alignment. The best and worst are found among them.

Size. Besalisks tower over almost all other species, with the smallest standing at 6 feet tall and weighing 200 lbs., and the largest approaching 8 feet tall and 400 lbs. Regardless of your position in that range, your size is Medium.

Speed. Your base walking speed is 30 feet.

Four-Armed. Besalisks have four arms which they can use independently of one another. You can only gain the benefit of items held by two of your arms at any given time, and once per round you can switch which arms you are benefiting from (no action required).

Long-Limbed. When you make a melee attack on your turn, your reach for it is 5 feet greater than normal.

Powerful Build. You count as one size larger when determining your carrying capacity and the weight you can push, drag, or lift.

Languages. You can speak, read, and write Galactic Basic and Besalisk.

"},"skinColorOptions":{"value":"Brown or green"},"hairColorOptions":{"value":"None"},"eyeColorOptions":{"value":"Yellow"},"distinctions":{"value":"Bony headcrest, four arms, inflatable wattle"},"heightAverage":{"value":"6'0\""},"heightRollMod":{"value":"+2d12\""},"weightAverage":{"value":"175 lb."},"weightRollMod":{"value":"x(2d6) lb."},"homeworld":{"value":"Ojom"},"slanguage":{"value":"Besalisk"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"source":"Expanded Content"},"flags":{"dynamiceffects":{"equipActive":true,"effects":[{"modSpecKey":"data.details.species","value":"Besalisk","mode":"=","targetSpecific":false,"id":1,"itemId":"OfqpLI0sAuyY7h9Q","active":false,"_targets":[],"label":"Details Species"},{"modSpecKey":"data.abilities.str.value","value":"2","mode":"+","targetSpecific":false,"id":2,"itemId":"OfqpLI0sAuyY7h9Q","active":false,"_targets":[],"label":"Abilities Strength"},{"modSpecKey":"data.abilities.wis.value","value":"1","mode":"+","targetSpecific":false,"id":3,"itemId":"OfqpLI0sAuyY7h9Q","active":false,"_targets":[],"label":"Abilities Wisdom"},{"modSpecKey":"data.traits.size","value":"med","mode":"=","targetSpecific":false,"id":4,"itemId":"OfqpLI0sAuyY7h9Q","active":false,"_targets":[],"label":"Traits Size"},{"modSpecKey":"data.attributes.movement.walk","value":"30","mode":"=","targetSpecific":false,"id":5,"itemId":"OfqpLI0sAuyY7h9Q","active":false,"_targets":[],"label":"Attributes Speed"},{"modSpecKey":"data.traits.languages.value","value":"basic","mode":"+","targetSpecific":false,"id":6,"itemId":"OfqpLI0sAuyY7h9Q","active":false,"_targets":[]},{"modSpecKey":"data.traits.languages.value","value":"besalisk","mode":"+","targetSpecific":false,"id":7,"itemId":"OfqpLI0sAuyY7h9Q","active":false,"_targets":[]}],"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Besalisk.webp","effects":[{"_id":"Z2nTY93aynxgDvrZ","flags":{"dae":{"transfer":true,"stackable":false}},"changes":[{"key":"data.details.species","value":"Besalisk","mode":5,"priority":5},{"key":"data.abilities.str.value","value":2,"mode":2,"priority":20},{"key":"data.abilities.wis.value","value":1,"mode":2,"priority":20},{"key":"data.traits.size","value":"med","mode":5,"priority":5},{"key":"data.attributes.movement.walk","value":30,"mode":5,"priority":5},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":0},{"key":"data.traits.languages.value","value":"besalisk","mode":0,"priority":0},{"key":"flags.sw5e.powerfulBuild","value":"1","mode":5,"priority":20},{"key":"flags.sw5e.longlimbed","value":"1","mode":5,"priority":20},{"key":"flags.sw5e.extraArms","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null,"seconds":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Besalisk.webp","label":"Besalisk","tint":"","transfer":true}]} -{"_id":"OKYCq6BHkYnx5Dhl","name":"Zeltron","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

Biology and Appearance

Zeltrons are one of the few near-human species that differentiated from the baseline stock enough to be considered a new species of the Human genus, rather than simply a subspecies. They possess two biological traits of note. The first is that they all produce potent pheromones, similar to the Falleen species, which enhanced their attractiveness and likeability. The second is a limited telepathic ability, used to project emotions onto others, as well as allowing them to read and even feel the emotions of others; some Zeltrons have been hired by the Exchange for this ability. Because of their telepathic ability, positive emotions such as happiness, love and pleasure are very important to them, while negative ones such as anger, fear, or depression are shunned.

Society and Culture

Zeltron culture is highly influenced by sexuality and the pursuit of pleasure in general. Most of their art and literature is devoted to the subject, producing some of the raciest pieces in the galaxy. Zeltrons are known to dress in wildly colorful or revealing attire. It's common to see Zeltrons wearing shockingly bright shades of neon colors in wildly designed bikinis, or nearly skin tight clothing of other sorts with bizarre color designs, patterns, and symbols.

Names

Zeltron names often have an air of mystique to them, to evoke sensuality. For a Zeltron, a beautiful face is nothing without an equally beautiful name. It's not uncommon for a Zeltron to forsake their familial surname in favor of a more attractive-sounding one.

  Male Names. Marruc, Bahb, Rahulh, Demagol

  Female Names. Lyshaa, Dani, Vianna, Chantique

  Surnames. D'Pow, Blue, Duare, Sapphire","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. Your Charisma score increases by 2, and your Constitution score increases by 1.

Age. Zeltron reach adulthood in their late teens and live about 80 years.

Alignment. Zeltron are a deeply sensual, hedonistic species, causing them to tend toward chaotic balanced or dark side alignments, though there are exceptions.

Size. Zeltron tend to be slender and statuesque, typically standing between 5 and 6 feet tall and rarely weighing more than 150 lb. Regardless of your position in that range, your size is Medium.

Speed. Your base walking speed is 30 feet.

Charismatic. You have proficiency with Deception or Persuasion (your choice).

Enthralling Pheromones. You can use your pheromones to influence individuals of both sexes. Whenever you roll a 1 on a Charisma (Persuasion) check, you can reroll the die and must use the new roll. Additionally, once per short or long rest, you can treat a d20 roll of 9 or lower on a Charisma check as a 10. This feature has no effect on droids or constructs.

Natural Empathy. Zeltron's limited telepathy allow them to sense mood shifts in those around them. You have advantage on Wisdom (Insight) checks to determine emotions against humanoids and beasts within 10 feet of you.

Two Livered. Zeltron have two livers, which makes them adept at filtering toxins. You have advantage on saving throws against poison, and you have resistance against poison damage (explained in chapter 9).

Languages. You can speak, read, and write Galactic Basic and one language of your choice.

"},"skinColorOptions":{"value":"Light pink to deep crimson"},"hairColorOptions":{"value":"Blue, brown, pink, or red"},"eyeColorOptions":{"value":"Hazel, silver, amber"},"distinctions":{"value":"Capable of producing powerful pheromones"},"heightAverage":{"value":"4'8\""},"heightRollMod":{"value":"+2d10\""},"weightAverage":{"value":"90 lb."},"weightRollMod":{"value":"x(2d4) lb."},"homeworld":{"value":"Zeltros"},"slanguage":{"value":"Galactic Basic"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"source":"Expanded Content"},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.details.species","value":"Zeltron","mode":"=","targetSpecific":false,"id":1,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[],"label":"Details Species"},{"modSpecKey":"data.abilities.cha.value","value":"2","mode":"+","targetSpecific":false,"id":2,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[],"label":"Abilities Charisma"},{"modSpecKey":"data.abilities.con.value","value":"1","mode":"+","targetSpecific":false,"id":3,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[],"label":"Abilities Constitution"},{"modSpecKey":"data.traits.size","value":"med","mode":"=","targetSpecific":false,"id":4,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[],"label":"Traits Size"},{"modSpecKey":"data.attributes.movement.walk","value":"30","mode":"=","targetSpecific":false,"id":5,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[],"label":"Attributes Speed"},{"modSpecKey":"data.traits.dr.value","value":"poison","mode":"+","targetSpecific":false,"id":6,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[]},{"modSpecKey":"data.traits.languages.value","value":"basic","mode":"+","targetSpecific":false,"id":7,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Zeltron.webp","effects":[{"_id":"67J2jENh3a5uydk3","flags":{"dae":{"transfer":true,"stackable":false}},"changes":[{"key":"data.details.species","value":"Zeltron","mode":5,"priority":5},{"key":"data.abilities.cha.value","value":2,"mode":2,"priority":20},{"key":"data.abilities.con.value","value":1,"mode":2,"priority":20},{"key":"data.traits.size","value":"med","mode":0,"priority":5},{"key":"data.attributes.movement.walk","value":"30","mode":5,"priority":5},{"key":"data.traits.dr.value","value":"poison","mode":0,"priority":0},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":0},{"key":"flags.sw5e.enthrallingPheromones","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null,"seconds":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Zeltron.webp","label":"Zeltron","tint":"","transfer":true}]} +{"_id":"OKYCq6BHkYnx5Dhl","name":"Zeltron","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

Biology and Appearance

Zeltrons are one of the few near-human species that differentiated from the baseline stock enough to be considered a new species of the Human genus, rather than simply a subspecies. They possess two biological traits of note. The first is that they all produce potent pheromones, similar to the Falleen species, which enhanced their attractiveness and likeability. The second is a limited telepathic ability, used to project emotions onto others, as well as allowing them to read and even feel the emotions of others; some Zeltrons have been hired by the Exchange for this ability. Because of their telepathic ability, positive emotions such as happiness, love and pleasure are very important to them, while negative ones such as anger, fear, or depression are shunned.

Society and Culture

Zeltron culture is highly influenced by sexuality and the pursuit of pleasure in general. Most of their art and literature is devoted to the subject, producing some of the raciest pieces in the galaxy. Zeltrons are known to dress in wildly colorful or revealing attire. It's common to see Zeltrons wearing shockingly bright shades of neon colors in wildly designed bikinis, or nearly skin tight clothing of other sorts with bizarre color designs, patterns, and symbols.

Names

Zeltron names often have an air of mystique to them, to evoke sensuality. For a Zeltron, a beautiful face is nothing without an equally beautiful name. It's not uncommon for a Zeltron to forpake their familial surname in favor of a more attractive-sounding one.

  Male Names. Marruc, Bahb, Rahulh, Demagol

  Female Names. Lyshaa, Dani, Vianna, Chantique

  Surnames. D'Pow, Blue, Duare, Sapphire","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. Your Charisma score increases by 2, and your Constitution score increases by 1.

Age. Zeltron reach adulthood in their late teens and live about 80 years.

Alignment. Zeltron are a deeply sensual, hedonistic species, causing them to tend toward chaotic balanced or dark side alignments, though there are exceptions.

Size. Zeltron tend to be slender and statuesque, typically standing between 5 and 6 feet tall and rarely weighing more than 150 lb. Regardless of your position in that range, your size is Medium.

Speed. Your base walking speed is 30 feet.

Charismatic. You have proficiency with Deception or Persuasion (your choice).

Enthralling Pheromones. You can use your pheromones to influence individuals of both sexes. Whenever you roll a 1 on a Charisma (Persuasion) check, you can reroll the die and must use the new roll. Additionally, once per short or long rest, you can treat a d20 roll of 9 or lower on a Charisma check as a 10. This feature has no effect on droids or constructs.

Natural Empathy. Zeltron's limited telepathy allow them to sense mood shifts in those around them. You have advantage on Wisdom (Insight) checks to determine emotions against humanoids and beasts within 10 feet of you.

Two Livered. Zeltron have two livers, which makes them adept at filtering toxins. You have advantage on saving throws against poison, and you have resistance against poison damage (explained in chapter 9).

Languages. You can speak, read, and write Galactic Basic and one language of your choice.

"},"skinColorOptions":{"value":"Light pink to deep crimson"},"hairColorOptions":{"value":"Blue, brown, pink, or red"},"eyeColorOptions":{"value":"Hazel, silver, amber"},"distinctions":{"value":"Capable of producing powerful pheromones"},"heightAverage":{"value":"4'8\""},"heightRollMod":{"value":"+2d10\""},"weightAverage":{"value":"90 lb."},"weightRollMod":{"value":"x(2d4) lb."},"homeworld":{"value":"Zeltros"},"slanguage":{"value":"Galactic Basic"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"source":"Expanded Content"},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.details.species","value":"Zeltron","mode":"=","targetSpecific":false,"id":1,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[],"label":"Details Species"},{"modSpecKey":"data.abilities.cha.value","value":"2","mode":"+","targetSpecific":false,"id":2,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[],"label":"Abilities Charisma"},{"modSpecKey":"data.abilities.con.value","value":"1","mode":"+","targetSpecific":false,"id":3,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[],"label":"Abilities Constitution"},{"modSpecKey":"data.traits.size","value":"med","mode":"=","targetSpecific":false,"id":4,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[],"label":"Traits Size"},{"modSpecKey":"data.attributes.movement.walk","value":"30","mode":"=","targetSpecific":false,"id":5,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[],"label":"Attributes Speed"},{"modSpecKey":"data.traits.dr.value","value":"poison","mode":"+","targetSpecific":false,"id":6,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[]},{"modSpecKey":"data.traits.languages.value","value":"basic","mode":"+","targetSpecific":false,"id":7,"itemId":"TSnP7ODGs6vIPQNe","active":false,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Zeltron.webp","effects":[{"_id":"67J2jENh3a5uydk3","flags":{"dae":{"transfer":true,"stackable":false}},"changes":[{"key":"data.details.species","value":"Zeltron","mode":5,"priority":5},{"key":"data.abilities.cha.value","value":2,"mode":2,"priority":20},{"key":"data.abilities.con.value","value":1,"mode":2,"priority":20},{"key":"data.traits.size","value":"med","mode":0,"priority":5},{"key":"data.attributes.movement.walk","value":"30","mode":5,"priority":5},{"key":"data.traits.dr.value","value":"poison","mode":0,"priority":0},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":0},{"key":"flags.sw5e.enthrallingPheromones","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null,"seconds":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Zeltron.webp","label":"Zeltron","tint":"","transfer":true}]} {"_id":"QHVGvW0HeaVzMfin","name":"Chevin","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

Biology and Appearance

\n

Chevin have long snouts which hang down nearly to their ankles. Combined with their intellect, this makes them skilled hunters of animals such as backshin, because they can smell out their prey or feed while keeping their eyes on the horizon. It is also their hunting prowess which allowed them to dominate their homeworld and conquer the Chevs. Chevin have thick legs, massive wide bodies, thin rope-like tails, and arms so long their three-fingered hands often brushed the ground.

\n

Society and Culture

\n

Chevin live in small, mobile communities, with homes mounted on great wheeled carts. Even after they gained access to galactic technology, they continued to live as nomads (though more affluent Chevin mounted their lodges on large repulsorlift vehicles instead.) Their Chev slaves are usually forced to follow on foot. Nomadic groups of Chevin keep in touch via comlinks, and often converge on a single location to deal with danger.

\n

The only Chevin settlements that stay in place for more than one standard month are the Government Villages, where Chevin dictators live with their hand-picked advisors. Even these settlements are movable when necessary. Each of the roughly two dozen Government Villages rules a Chevin nation.

\n

Names

\n

Chevin names do not vary significantly based on gender. Surnames are based on community.

\n

  First Names. Buula, Ephant, Perre, Phylus, Reseros

\n

  Surnames. Meh, Mon, Nen, Needmo, Phrusaani

","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. Your Constitution score increases by 2, and your Wisdom score increases by 1.

Age. Chevin reach adulthood in their thirties and live up to 200 years.

Alignment. Chevin warmongering and slavetrading cause them to tend toward the dark side, though there are exceptions.

Size. Chevin stand between 6 and 8 feet tall and weigh up to 300 lbs. Regardless of your position in that range, your size is Medium.

Speed. Your base walking speed is 30 feet.

Hide. You have a thick hide. While you are unarmored or wearing light armor, your AC is 13 + your Dexterity modifier. Additionally, your thick hide is naturally adapted to both hot and cold climates, as described in chapter 5 of the Dungeon Master's Guide.

Keen Hearing. You have advantage on Wisdom (Perception) checks that rely on hearing.

Nomadic. You are proficient in Survival.

Thick Skull. Your skull is a natural weapon, which you can use to make unarmed strikes. If you hit with it, you deal 1d6 + your Strength modifier kinetic damage.

Languages. You can speak, read, and write Galactic Basic and Chevin. The Chevin language is characterized by grunts and low-pitched rumblings. Chevin typically have deep voices, even when speaking Basic.

"},"skinColorOptions":{"value":"Grey"},"hairColorOptions":{"value":"Black, brown, blond, grey, or white (usually with age)"},"eyeColorOptions":{"value":"Black"},"distinctions":{"value":"Stocky build, large heads, long snouts, long arms, three-fingered hands, four-toed feet"},"heightAverage":{"value":"5'9\""},"heightRollMod":{"value":"+2d12\""},"weightAverage":{"value":"170 lb."},"weightRollMod":{"value":"x(2d6) lb."},"homeworld":{"value":"Vinsoth"},"slanguage":{"value":"Chevin"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"source":"Expanded Content"},"flags":{"dynamiceffects":{"equipActive":true,"effects":[{"modSpecKey":"data.details.species","value":"Chevin","mode":"=","targetSpecific":false,"id":1,"itemId":"3SeMWMEHYM8A74qG","active":false,"_targets":[],"label":"Details Species"},{"modSpecKey":"data.abilities.con.value","value":"2","mode":"+","targetSpecific":false,"id":2,"itemId":"3SeMWMEHYM8A74qG","active":false,"_targets":[],"label":"Abilities Constitution"},{"modSpecKey":"data.abilities.wis.value","value":"1","mode":"+","targetSpecific":false,"id":3,"itemId":"3SeMWMEHYM8A74qG","active":false,"_targets":[],"label":"Abilities Wisdom"},{"modSpecKey":"data.traits.size","value":"med","mode":"=","targetSpecific":false,"id":4,"itemId":"3SeMWMEHYM8A74qG","active":false,"_targets":[],"label":"Traits Size"},{"modSpecKey":"data.attributes.movement.walk","value":"30","mode":"=","targetSpecific":false,"id":5,"itemId":"3SeMWMEHYM8A74qG","active":false,"_targets":[],"label":"Attributes Speed"},{"modSpecKey":"data.attributes.ac.min","value":"13","mode":"=","targetSpecific":false,"id":6,"itemId":"3SeMWMEHYM8A74qG","active":false,"_targets":[],"label":"Attributes Armor Class Min"},{"modSpecKey":"data.skills.sur.value","value":"1","mode":"+","targetSpecific":false,"id":7,"itemId":"3SeMWMEHYM8A74qG","active":false,"_targets":[]},{"modSpecKey":"data.traits.languages.value","value":"basic","mode":"+","targetSpecific":false,"id":8,"itemId":"3SeMWMEHYM8A74qG","active":false,"_targets":[]},{"modSpecKey":"data.traits.languages.value","value":"chevin","mode":"+","targetSpecific":false,"id":9,"itemId":"3SeMWMEHYM8A74qG","active":false,"_targets":[]}],"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Chevin.webp","effects":[{"_id":"xyKlxEBAGLcMBv2n","flags":{"dae":{"transfer":true,"stackable":false}},"changes":[{"key":"data.details.species","value":"Chevin","mode":5,"priority":5},{"key":"data.abilities.con.value","value":2,"mode":2,"priority":20},{"key":"data.abilities.wis.value","value":1,"mode":2,"priority":20},{"key":"data.traits.size","value":"med","mode":5,"priority":5},{"key":"data.attributes.movement.walk","value":30,"mode":5,"priority":5},{"key":"data.attributes.ac.value","value":"13+@abilities.dex.mod","mode":5,"priority":1},{"key":"data.skills.sur.value","value":1,"mode":4,"priority":20},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":0},{"key":"data.traits.languages.value","value":"chevin","mode":0,"priority":0},{"key":"flags.sw5e.keenSenses","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null,"seconds":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Chevin.webp","label":"Chevin","tint":"","transfer":true}]} {"_id":"QOvjUOUaERMXgOdN","name":"Zygerrian","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

Biology and Appearance

\n

The Zygerrians are a bipedal, sentient humanoid species. Feline in appearance, the species possesses strong, angular features, with long fangs jutting from their jaws and claws extending from their hands. The Zygerrians' faces and their pointed ears are almost entirely covered with fur; males usually have more hair than females, with bands of fur growing on their cheeks. Male Zygerrians also display a number of bony spurs protruding from the chin, which females typically lack. Zygerrians usually have sallow complexions and are physically strong, but some suffer from obesity.

\n

Society and Culture

\n

A warlike species, the Zygerrians hold strength—both physical and mental—in great esteem, viewing it as a means to gain power and authority. They believe that it is the natural order of life for the strong to dominate the weak, so slavery is normal for the species, and a display of weakness could mean death or enslavement in their culture. Those who become their slaves are viewed as inferior by the Zygerrians. Zygerrian society is organized into clans and classes. They have a noble class, many members of which, despite their high status, pursue a career in the military. The Zygerrian government is a monarchy; female rulers hold the title of Queen, and males are addressed as Kings. The center of the Zygerrian society is the Zygerrian Slavers Guild, which focuses on the slave trade in the Outer Rim Territories.

\n

Names

\n

Zygerrian names are rather diverse, though shorter names are the most common. Surnames are familial.

\n

  Male Names. Agruss, Darts, Atai, Sono

\n

  Female Names. Miraj, Faralhi, Latrans, MaDall

\n

  Surnames. D'nar, Molec, Scientel, Thanda, Tyne

","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. Your Charisma score increases by 2, and your Intelligence score increases by 1.

Age. Zygerrians reach adulthood in their late teens and live less than a century.

Alignment. Zygerrian culture's emphasis on subjugation and strength causes them to tend towards chaotic dark side, though there are exceptions.

Size. Zygerrians normally stand between 5 to 6 feet tall and weigh about 140 lbs. Regardless of your position in that range, your size is Medium.

Speed. Your base walking speed is 30 feet.

Acrobatic. You have proficiency in Acrobatics.

Claws. Your unarmed strikes deal 1d4 kinetic damage. You can use your choice of your Strength or Dexterity modifier for the attack and damage rolls. You must use the same modifier for both rolls.

Darkvision. You have a cat's keen senses, especially in the dark. You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can't discern color in darkness, only shades of gray.

Notorious Slavers. Whenever you make an ability check related to the buying, selling, or controlling of slaves, you are considered proficient in the check. If you would already be proficient, you instead have expertise.

Reputation for Cruelty. You are proficient in Intimidation, as well as the saberwhip and vibrowhip.

Languages. You can speak, read, and write Galactic Basic and Zygerrian. Zygerrian is characterized by its subtle growls and purrs.

"},"skinColorOptions":{"value":"Light tones"},"hairColorOptions":{"value":"Black, brown, gray, or red"},"eyeColorOptions":{"value":"Blue or yellow"},"distinctions":{"value":"Large pointed ears, clawed hands, fur-covered faces, bony facial spurs"},"heightAverage":{"value":"5'1\""},"heightRollMod":{"value":"+2d8\""},"weightAverage":{"value":"120 lb."},"weightRollMod":{"value":"x(2d4) lb."},"homeworld":{"value":"Zygerria"},"slanguage":{"value":"Zygerrian"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"source":"Expanded Content"},"flags":{"dynamiceffects":{"equipActive":true,"alwaysActive":false,"effects":[{"modSpecKey":"data.details.species","value":"Zygerrian","mode":"=","targetSpecific":false,"id":1,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[],"label":"Details Species"},{"modSpecKey":"data.abilities.cha.value","value":"2","mode":"+","targetSpecific":false,"id":2,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[],"label":"Abilities Charisma"},{"modSpecKey":"data.abilities.int.value","value":"1","mode":"+","targetSpecific":false,"id":3,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[],"label":"Abilities Intelligence"},{"modSpecKey":"data.traits.size","value":"med","mode":"=","targetSpecific":false,"id":4,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[],"label":"Traits Size"},{"modSpecKey":"data.attributes.movement.walk","value":"30","mode":"=","targetSpecific":false,"id":5,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[],"label":"Attributes Speed"},{"modSpecKey":"data.skills.acr.value","value":"1","mode":"+","targetSpecific":false,"id":6,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[],"label":"Skills Acrobatics"},{"modSpecKey":"data.traits.senses","value":"Darkvision (60 ft.)","mode":"+","targetSpecific":false,"id":7,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[],"label":"Traits Senses"},{"modSpecKey":"data.skills.itm.value","value":"1","mode":"+","targetSpecific":false,"id":8,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[],"label":"Skills Intimidation"},{"modSpecKey":"data.traits.weaponProf.custom","value":"saberwhip","mode":"+","targetSpecific":false,"id":9,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[],"label":"Traits Weapon Prof. Custom"},{"modSpecKey":"data.traits.weaponProf.custom","value":"vibrowhip","mode":"+","targetSpecific":false,"id":10,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[],"label":"Traits Weapon Prof. Custom"},{"modSpecKey":"data.traits.languages.value","value":"basic","mode":"+","targetSpecific":false,"id":11,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[]},{"modSpecKey":"data.traits.languages.value","value":"zygerrian","mode":"+","targetSpecific":false,"id":12,"itemId":"6MO90piX6tJOvvqL","active":false,"_targets":[]}]},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Zygerrian.webp","effects":[{"_id":"zFWMZ7TZhGP32ghr","flags":{"dae":{"transfer":true}},"changes":[{"key":"data.details.species","value":"Zygerrian","mode":5,"priority":5},{"key":"data.abilities.cha.value","value":2,"mode":2,"priority":20},{"key":"data.abilities.int.value","value":1,"mode":2,"priority":20},{"key":"data.traits.size","value":"med","mode":5,"priority":5},{"key":"data.attributes.movement.walk","value":30,"mode":5,"priority":5},{"key":"data.skills.acr.value","value":1,"mode":4,"priority":20},{"key":"data.traits.senses","value":"Darkvision (60 ft.)","mode":2,"priority":20},{"key":"data.skills.itm.value","value":1,"mode":4,"priority":20},{"key":"data.traits.weaponProf.custom","value":"saberwhip","mode":0,"priority":0},{"key":"data.traits.weaponProf.custom","value":"vibrowhip","mode":0,"priority":0},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":0},{"key":"data.traits.languages.value","value":"zygerrian","mode":0,"priority":0}],"disabled":false,"duration":{"startTime":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Zygerrian.webp","label":"Zygerrian","tint":"","transfer":true}]} {"_id":"Qhc2eCsVgdnPixsz","name":"Aing-Tii","permission":{"default":0,"IpSq6HI4edO6e0Yw":3},"type":"species","data":{"data":"$characteristics-table","description":{"value":"

BIOLOGY AND APPEARANCE

\n

The aing-tii are a species of sentient, toothless mammals who stand on two clawed feet with two spindly arms, each with three large digits. Their bodies are covered in jointed white, bony plates covered in unique painted motifs. The aing-tii head is small and juts out perpendicularly from their chest, featuring two large eyes and six long, thin, green tongues extending from their mouths. They have a long, prehensile tail. The species is incapable of producing sound and conveys information via tasting, smelling and touching each other with their tongues.

\n

SOCIETY AND CULTURE

\n

The aing-tii are native to a planet whose location in the Kathol Rift is a closely guarded secret. Although in a dangerous area of space, the majority of Aing-Tii never leave their homeworld nor have any contact with the outside world. Those who do—commonly called aing-tii warrior monks—are often xenophobic and reclusive. The monks spend their entire lives performing errands for their gods, in the hope that they will receive \"an answer\" from them. The aing-tii hate slavery, and often attack slavers who roam the Kathol Outback.

\n

While the aing-tii are Force-sensitive, they avoid wielding the Force, which they see as sacred. The aing-tii believe that everything is somehow guided by the Force. They do not believe in the light or dark sides of the Force. Instead, they hold that there are many different aspects to the Force.

\n

NAMES

\n

Aing-tii names are, in reality, non-verbal and only truly understandable via taste, smell, and touch. The few aing-tii who have been known to the outside world have used translators to convey an auditory identifier.

\n

  Male Names. Ben'Sur, Looshen'Fel, Tadar'Ro

\n

  Female Names. Kulan'Pa, Laman'So, Te'Nuriel

","chat":"","unidentified":""},"traits":{"value":"

Ability Score Increase. Your Wisdom score increases by 2, and your Constitution score increases by 1.

\n

Age. Aing-tii reach adulthood in their late teens and live more than a century.

\n

Alignment. Aing-tii's foreign nature causes them to be hard to understand. Most aing-tii tend toward neutral light side, though there are exceptions.

\n

Size. Aing-tii typically stand 6 to 7 feet tall and generally weigh about 200 lbs. Regardless of your position in that range, your size is Medium.

\n

Speed. Your base walking speed is 30 feet.

\n

Armored Plates. You have thick armored plates. When you aren't wearing armor, your AC is 13 + your Dexterity modifier.

\n

Closed Mind. Aing-tii have a natural attunement for the Force, which makes them resistant to its powers. You have advantage on Wisdom and Charisma saving throws against force powers.

\n

Force-Sensitive. You know the force push/pull at-will force power. Wisdom or Charisma (your choice) is your forcecasting ability for this power.

\n

Prehensile Tail. You have supreme control over your tail and can use it to manipulate objects as well as your hands.

\n

Wisdom of the Elders. You are proficient in the Lore skill.

\n

Languages. You can understand, read, and write Galactic Basic, and the non-verbal communication of the aing-tii. However, you cannot speak or make noise verbally.

"},"skinColorOptions":{"value":"White"},"hairColorOptions":{"value":"None"},"eyeColorOptions":{"value":"Black"},"distinctions":{"value":"Force-sensitivity, unique technology, six green tongues"},"heightAverage":{"value":"5'7\""},"heightRollMod":{"value":"+2d10\""},"weightAverage":{"value":"145 lb."},"weightRollMod":{"value":"x(2d4) lb."},"homeworld":{"value":"Aing-Tii homeworld in the Kathol Rift"},"slanguage":{"value":"Non-verbal communication via taste, smell, and touch"},"damage":{"parts":[]},"armorproperties":{"parts":[]},"weaponproperties":{"parts":[]},"Ability Score Increase":{"value":"Ability Score Increase"},"Your Wisdom score increases by 2, and your Constitution score increases by 1":{"":{"value":"Your Wisdom score increases by 2, and your Constitution score increases by 1."}},"Age":{"value":"Age"},"Aing-tii reach adulthood in their late teens and live more than a century":{"":{"value":"Aing-tii reach adulthood in their late teens and live more than a century."}},"Alignment":{"value":"Alignment"},"Aing-tii's foreign nature causes them to be hard to understand":{" Most aing-tii tend toward neutral light side, though there are exceptions":{"":{"value":"Aing-tii's foreign nature causes them to be hard to understand. Most aing-tii tend toward neutral light side, though there are exceptions."}}},"Size":{"value":"Size"},"Aing-tii typically stand 6 to 7 feet tall and generally weigh about 200 lbs":{" Regardless of your position in that range, your size is Medium":{"":{"value":"Aing-tii typically stand 6 to 7 feet tall and generally weigh about 200 lbs. Regardless of your position in that range, your size is Medium."}}},"Speed":{"value":"Speed"},"Your base walking speed is 30 feet":{"":{"value":"Your base walking speed is 30 feet."}},"Armored Plates":{"value":"Armored Plates"},"You have thick armored plates":{" When you aren't wearing armor, your AC is 13 + your Dexterity modifier":{"":{"value":"You have thick armored plates. When you aren't wearing armor, your AC is 13 + your Dexterity modifier."}}},"Closed Mind":{"value":"Closed Mind"},"Aing-tii have a natural attunement for the Force, which makes them resistant to its powers":{" You have advantage on Wisdom and Charisma saving throws against force powers":{"":{"value":"Aing-tii have a natural attunement for the Force, which makes them resistant to its powers. You have advantage on Wisdom and Charisma saving throws against force powers."}}},"Force-Sensitive":{"value":"Force-Sensitive"},"You know the force push/pull at-will force power":{" Wisdom or Charisma (your choice) is your forcecasting ability for this power":{"":{"value":"You know the force push/pull at-will force power. Wisdom or Charisma (your choice) is your forcecasting ability for this power."}}},"Prehensile Tail":{"value":"Prehensile Tail"},"You have supreme control over your tail and can use it to manipulate objects as well as your hands":{"":{"value":"You have supreme control over your tail and can use it to manipulate objects as well as your hands."}},"Wisdom of the Elders":{"value":"Wisdom of the Elders"},"You are proficient in the Lore skill":{"":{"value":"You are proficient in the Lore skill."}},"Languages":{"value":"Languages"},"You can understand, read, and write Galactic Basic, and the non-verbal communication of the aing-tii":{" However, you cannot speak or make noise verbally":{"":{"value":"You can understand, read, and write Galactic Basic, and the non-verbal communication of the aing-tii. However, you cannot speak or make noise verbally."}}},"source":"Expanded Content"},"flags":{"dynamiceffects":{"effects":[{"modSpecKey":"data.abilities.wis.value","value":"2","mode":"+","targetSpecific":false,"id":1,"itemId":"BvV56gDIilVwLcFE","active":false,"_targets":[],"label":"Abilities Wisdom"},{"modSpecKey":"data.abilities.con.value","value":"1","mode":"+","targetSpecific":false,"id":2,"itemId":"BvV56gDIilVwLcFE","active":false,"_targets":[],"label":"Abilities Constitution"},{"modSpecKey":"data.attributes.movement.walk","value":"30","mode":"=","targetSpecific":false,"id":3,"itemId":"BvV56gDIilVwLcFE","active":false,"_targets":[],"label":"Attributes Speed"},{"modSpecKey":"data.skills.lor.value","value":"1","mode":"+","targetSpecific":false,"id":5,"itemId":"BvV56gDIilVwLcFE","active":false,"_targets":[]},{"modSpecKey":"data.traits.languages.value","value":"basic","mode":"+","targetSpecific":false,"id":6,"itemId":"BvV56gDIilVwLcFE","active":false,"_targets":[],"label":"Traits Language"},{"modSpecKey":"data.traits.size","value":"med","mode":"=","targetSpecific":false,"id":7,"itemId":"BvV56gDIilVwLcFE","active":false,"_targets":[],"label":"Traits Size"},{"modSpecKey":"data.traits.languages.custom","value":"the non-verbal communication of the Aing-Tii","mode":"+","targetSpecific":false,"id":8,"itemId":"BvV56gDIilVwLcFE","active":false,"_targets":[],"label":"Traits Language Custom"},{"modSpecKey":"data.details.species","value":"Aing-Tii","mode":"=","targetSpecific":false,"id":9,"itemId":"BvV56gDIilVwLcFE","active":false,"_targets":[],"label":"Details Species"},{"modSpecKey":"data.attributes.ac.min","value":"13","mode":"=","targetSpecific":false,"id":10,"itemId":"BvV56gDIilVwLcFE","active":false,"_targets":[],"label":"Attributes Armor Class Min"}],"equipActive":true,"alwaysActive":false},"dae":{"activeEquipped":false,"alwaysActive":true}},"img":"systems/sw5e/packs/Icons/Species/Aing-Tii.webp","effects":[{"_id":"3aUdsUbBSwi6cZH0","flags":{"dae":{"transfer":true,"stackable":false}},"changes":[{"key":"data.abilities.wis.value","value":2,"mode":2,"priority":20},{"key":"data.abilities.con.value","value":1,"mode":2,"priority":20},{"key":"data.attributes.movement.walk","value":30,"mode":5,"priority":5},{"key":"data.skills.lor.value","value":1,"mode":4,"priority":20},{"key":"data.traits.languages.value","value":"basic","mode":0,"priority":0},{"key":"data.traits.size","value":"med","mode":5,"priority":5},{"key":"data.traits.languages.custom","value":"the non-verbal communication of the Aing-Tii","mode":0,"priority":0},{"key":"data.details.species","value":"Aing-Tii","mode":5,"priority":5},{"key":"data.attributes.ac.value","value":"13 + @abilities.dex.mod","mode":5,"priority":1},{"key":"flags.sw5e.closedMind","value":"1","mode":5,"priority":20}],"disabled":false,"duration":{"startTime":null,"seconds":null,"rounds":null,"turns":null,"startRound":null,"startTurn":null},"icon":"systems/sw5e/packs/Icons/Species/Aing-Tii.webp","label":"Aing-Tii","tint":"","transfer":true}]} diff --git a/sw5e copy.css b/sw5e copy.css index 8417ca66..58d9546a 100644 --- a/sw5e copy.css +++ b/sw5e copy.css @@ -1370,7 +1370,7 @@ body { } .sw5e.chat-card .card-footer span { border-right: 2px groove #FFF; - padding: 0 5px 0 0; + padding: 0 3px 0 0; font-size: 10px; } .sw5e.chat-card .card-footer span:last-child { @@ -1784,4 +1784,4 @@ a.entity-link i::before { top: 2px; height: 15px; width: 15px; -} +} diff --git a/sw5e-update.css b/sw5e-update.css index 61dc98c1..c259503a 100644 --- a/sw5e-update.css +++ b/sw5e-update.css @@ -392,7 +392,7 @@ button:focus { } .sw5e.chat-card .card-footer span { border-right: 2px groove #FFF; - padding: 0 4px 0 0; + padding: 0 3px 0 0; font-size: 10px; } .sw5e.chat-card .card-footer span:last-child { diff --git a/sw5e.js b/sw5e.js index a5f8868f..a2c1389d 100644 --- a/sw5e.js +++ b/sw5e.js @@ -44,7 +44,7 @@ import * as migrations from "./module/migration.js"; /* -------------------------------------------- */ Hooks.once("init", function() { - console.log(`SW5e | Initializing Star Wars 5th Edition System\n${SW5E.ASCII}`); + console.log(`SW5e | Initializing SW5E System\n${SW5E.ASCII}`); // Create a SW5E namespace within the game global game.sw5e = { @@ -80,7 +80,10 @@ Hooks.once("init", function() { CONFIG.Actor.entityClass = Actor5e; CONFIG.Item.entityClass = Item5e; CONFIG.time.roundTime = 6; - + + // 5e cone RAW should be 53.13 degrees + CONFIG.MeasuredTemplate.defaults.angle = 53.13; + // Add DND5e namespace for module compatability game.dnd5e = game.sw5e; CONFIG.DND5E = CONFIG.SW5E; @@ -145,7 +148,7 @@ Hooks.once("setup", function() { "abilities", "abilityAbbreviations", "abilityActivationTypes", "abilityConsumptionTypes", "actorSizes", "alignments", "armorProficiencies", "armorPropertiesTypes", "conditionTypes", "consumableTypes", "cover", "currencies", "damageResistanceTypes", "damageTypes", "distanceUnits", "equipmentTypes", "healingTypes", "itemActionTypes", "languages", - "limitedUsePeriods", "movementUnits", "polymorphSettings", "proficiencyLevels", "senses", "skills", + "limitedUsePeriods", "movementTypes", "movementUnits", "polymorphSettings", "proficiencyLevels", "senses", "skills", "powerComponents", "powerLevels", "powerPreparationModes", "powerScalingModes", "powerSchools", "targetTypes", "timePeriods", "toolProficiencies", "weaponProficiencies", "weaponProperties", "weaponTypes" ]; @@ -187,7 +190,7 @@ Hooks.once("ready", function() { // Determine whether a system migration is required and feasible if ( !game.user.isGM ) return; const currentVersion = game.settings.get("sw5e", "systemMigrationVersion"); - const NEEDS_MIGRATION_VERSION = "1.2.0"; + const NEEDS_MIGRATION_VERSION = "1.2.1"; const COMPATIBLE_MIGRATION_VERSION = 0.80; const needsMigration = currentVersion && isNewerVersion(NEEDS_MIGRATION_VERSION, currentVersion); if ( !needsMigration ) return; diff --git a/system.json b/system.json index 630b177c..daa334a3 100644 --- a/system.json +++ b/system.json @@ -2,7 +2,7 @@ "name": "sw5e", "title": "SW 5th Edition", "description": "A comprehensive game system for running games of SW 5th Edition in the Foundry VTT environment.", - "version": "R1-A1", + "version": "1.2.2", "author": "Dev Team", "scripts": [], "esmodules": ["sw5e.js"], diff --git a/template.json b/template.json index e49c592b..84f6021c 100644 --- a/template.json +++ b/template.json @@ -43,6 +43,15 @@ "init": { "value": 0, "bonus": 0 + }, + "movement": { + "burrow": 0, + "climb": 0, + "fly": 0, + "swim": 0, + "walk": 30, + "units": "ft", + "hover": false } }, "details": { @@ -76,15 +85,6 @@ }, "creature": { "attributes": { - "movement": { - "burrow": 0, - "climb": 0, - "fly": 0, - "swim": 0, - "walk": 30, - "units": "ft", - "hover": false - }, "senses": { "darkvision": 0, "blindsight": 0, @@ -94,9 +94,6 @@ "special": "" }, "powercasting": "none", - "speed": { - "_deprecated": true - } }, "details": { "alignment": "", diff --git a/templates/actors/newActor/character-sheet.html b/templates/actors/newActor/character-sheet.html index c2eb7d93..95762cdc 100644 --- a/templates/actors/newActor/character-sheet.html +++ b/templates/actors/newActor/character-sheet.html @@ -6,7 +6,7 @@
-
+
{{ localize "SW5E.Level" }} {{data.details.level}} {{classLabels}}
{{#unless disableExperience}} diff --git a/templates/actors/newActor/npc-sheet.html b/templates/actors/newActor/npc-sheet.html index c5144990..8207fe83 100644 --- a/templates/actors/newActor/npc-sheet.html +++ b/templates/actors/newActor/npc-sheet.html @@ -44,6 +44,7 @@

Hit Points

+

{{ localize "SW5E.Health" }}

/ diff --git a/templates/actors/newActor/parts/swalt-traits.html b/templates/actors/newActor/parts/swalt-traits.html index 96544a56..7ffb16c4 100644 --- a/templates/actors/newActor/parts/swalt-traits.html +++ b/templates/actors/newActor/parts/swalt-traits.html @@ -12,7 +12,7 @@
diff --git a/templates/actors/oldActor/character-sheet.html b/templates/actors/oldActor/character-sheet.html index a28c2261..fe66b89b 100644 --- a/templates/actors/oldActor/character-sheet.html +++ b/templates/actors/oldActor/character-sheet.html @@ -10,7 +10,7 @@