diff --git a/README.md b/README.md index a00e8ae..0692cbb 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,9 @@ Check out the [wiki](https://github.com/crash1115/5e-training/wiki) for instruct Contact me on Discord (CRASH1115#2944) to chat, or create an issue right here on GitHub. ## Attributions and Special Thanks -- Thanks to platypus_pi for help with English translations - Thanks to KLO#1490 for Korean translations -- Thanks to hmqgg#5775 for Chinese translations - Thanks to MS-PBS for Spanish translations +- Thanks Varriount for some CSS fixes ## License - This work is licensed under a [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/legalcode). diff --git a/changelog.md b/changelog.md index 2a4c0a1..7e8e294 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,9 @@ +# Version 0.6.8 +- Fixed some small CSS issues (credit Varriount) +- Get rid of some log spam +- Remove Chinese localization, as it lives in its own repo (credit Hmqgg) +- Confirmed v9 compatibility + # Version 0.6.7 - Fixing incompatibilities when BR and Midi are both being used simultaneously - Fixed a bug where imported items would get lost in the void if they were in a category when they were exported diff --git a/lang/cn.json b/lang/cn.json deleted file mode 100644 index d422934..0000000 --- a/lang/cn.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "C5ETRAINING.Ability": "属性", - "C5ETRAINING.AbilityCha": "魅力", - "C5ETRAINING.AbilityCheck": "属性检定", - "C5ETRAINING.AbilityCon": "体质", - "C5ETRAINING.AbilityDex": "敏捷", - "C5ETRAINING.AbilityInt": "智力", - "C5ETRAINING.AbilitySkillToolCheck": "属性/技能/工具检定", - "C5ETRAINING.AbilityStr": "力量", - "C5ETRAINING.AbilityWis": "感知", - "C5ETRAINING.Action": "动作", - "C5ETRAINING.Activity": "活动", - "C5ETRAINING.ActivityProgress": "活动进度", - "C5ETRAINING.Add": "添加", - "C5ETRAINING.Advantage": "优势", - "C5ETRAINING.AdjustProgressValue": "调整进度", - "C5ETRAINING.AdvanceActivityProgress": "推进活动进度", - "C5ETRAINING.AnnounceActivityCompletionFor": "宣告活动完成:", - "C5ETRAINING.AnnounceActivityCompletionForHint": "选择一种角色类型,该类角色会在活动完成时触发发送聊天消息。", - "C5ETRAINING.Apply": "应用", - "C5ETRAINING.Attempt": "尝试", - "C5ETRAINING.AttemptsToComplete": "尝试完成", - "C5ETRAINING.AuditLog": "变更记录", - "C5ETRAINING.AuditLogDeleteNote": "注意: 取消变更并不会回滚。 如果你想要回滚这里看到的更改的内容,你必须手动处理。但如果需要的话这个记录可以帮助你找出变更的部分。", - "C5ETRAINING.AuditLogInstructionsGm": "该记录展示了对该角色休整活动的进度产生的所有变更的列表。你可以在查看时通过点击‘取消’栏的勾选框并点击窗口底部的按钮来从该列表中移除项目。一旦确认,你或者玩家都无法看到被删除的项目。", - "C5ETRAINING.AuditLogInstructionsPlayer": "该记录展示了GM还没有审阅的你的休整活动的进度产生的所有变更的列表。检查后,这些记录将不再在这里显示。", - - "C5ETRAINING.Cancel": "取消", - "C5ETRAINING.CheckDC": "检定DC", - "C5ETRAINING.CheckWithDC": "检定DC", - "C5ETRAINING.Completed": "已完成", - "C5ETRAINING.CompletedADowntimeActivity": "完成了一项休整活动。", - "C5ETRAINING.CompletionTarget": "完成目标", - "C5ETRAINING.Create": "创建", - "C5ETRAINING.CreateNewDowntimeActivity": "创建一个新的休整活动", - "C5ETRAINING.CurrentProgress": "当前进度", - "C5ETRAINING.Custom": "自定义", - "C5ETRAINING.CustomRoll": "自定义掷骰", - - "C5ETRAINING.DC": "DC", - "C5ETRAINING.DefaultAbility": "基于检定进度的默认属性/技能", - "C5ETRAINING.DefaultAbilityHint": "为基于检定进度的休整活动,在创建时设置默认的属性/技能。在创建后可以编辑。", - "C5ETRAINING.DefaultAbilityCompletion": "默认活动完成目标(属性/技能/工具检定)", - "C5ETRAINING.DefaultAbilityCompletionHint": "为基于检定进度的休整活动,设定完成100%活动完成度默认所需要的目标数值。通常来说,平均每个人每次检定可以为活动进度贡献10点。默认值是300(也就是说每人每天独立训练平均需要30天)。", - "C5ETRAINING.DefaultDcDifficulty": "默认检定难度(检定DC)", - "C5ETRAINING.DefaultDcDifficultyHint": "为基于检定DC的休整活动,设定默认所需要的能力检定DC。默认值是10。", - "C5ETRAINING.DefaultDcSuccesses": "默认活动完成目标(检定DC)", - "C5ETRAINING.DefaultDcSuccessesHint": "为基于检定DC的休整活动,设定完成100%活动完成度默认所需要的检定成功次数。默认值是5次成功。", - "C5ETRAINING.DefaultSimpleCompletion": "默认活动完成目标(简单)", - "C5ETRAINING.DefaultSimpleCompletionHint": "为基于简单进度的休整活动,设定完成100%活动完成度默认所需要的尝试目标次数。默认值是10次尝试。", - "C5ETRAINING.DefaultTimeCompletion": "默认活动完成目标(时间)", - "C5ETRAINING.DefaultTimeCompletionHint": "为基于时间进度的休整活动,设定完成100%活动完成度默认所需要的天数。默认值是30天。(需要使用 About Time 模组)。", - "C5ETRAINING.Delete": "删除", - "C5ETRAINING.DeleteConfirmation": "你确定要删除该项目吗?", - "C5ETRAINING.DeleteDowntimeActivity": "删除休整活动", - "C5ETRAINING.Description": "描述", - "C5ETRAINING.Disadvantage": "劣势", - "C5ETRAINING.Dismiss": "取消", - "C5ETRAINING.DismissSelected": "取消已选择的", - "C5ETRAINING.DowntimeActivityComplete": "修正活动完成", - "C5ETRAINING.DowntimeTabName": "休整活动选项卡名称", - "C5ETRAINING.DowntimeTabNameHint": "设定训练选项卡的标题。默认值是'Downtime,'但你可以任意更改。", - - "C5ETRAINING.Edit": "编辑", - "C5ETRAINING.EditDowntimeActivity": "编辑休整活动", - "C5ETRAINING.EnableDowntimeReminders": "启用休整活动提醒", - "C5ETRAINING.EnableDowntimeRemindersHint": "启用该选项将会给GM在每天开始时显示一个提示,提醒让有休整活动的玩家是否推进进度。(需要使用 About Time 模组)。", - - "C5ETRAINING.InvalidNumberWarning": "无效输入值。请输入一个数字。", - "C5ETRAINING.InvalidTool": "未找到工具", - - "C5ETRAINING.Name": "名称", - "C5ETRAINING.NewDowntimeActivity": "新的休整活动", - "C5ETRAINING.None": "无", - "C5ETRAINING.Normal": "正常", - "C5ETRAINING.NpcsOnly": "仅限NPC", - - "C5ETRAINING.PcsAndNpcs": "PC和NPC", - "C5ETRAINING.PcsOnly": "仅限PC", - "C5ETRAINING.ProgressChange": "进度变更", - "C5ETRAINING.ProgressionType": "进度类型", - - "C5ETRAINING.ReviewChanges": "审阅变更", - "C5ETRAINING.Roll": "掷骰", - - "C5ETRAINING.SelectAnAbility": "选择一项进度使用的属性", - "C5ETRAINING.ShowDowntimeTabPc": "显示休整选项卡(PC)", - "C5ETRAINING.ShowDowntimeTabPcHint": "开启该项将会在所有PC的角色卡上显示休整活动选项卡。需要关闭重开角色卡来生效。", - "C5ETRAINING.ShowDowntimeTabNpc": "显示休整选项卡(NPC)", - "C5ETRAINING.ShowDowntimeTabNpcHint": "开启该项将会在所有NPC的角色卡上显示休整活动选项卡。需要关闭重开角色卡来生效。", - "C5ETRAINING.Simple": "简单", - "C5ETRAINING.Skill": "技能", - "C5ETRAINING.SkillAcr": "特技", - "C5ETRAINING.SkillAni": "驯兽", - "C5ETRAINING.SkillArc": "奥秘", - "C5ETRAINING.SkillAth": "运动", - "C5ETRAINING.SkillDec": "欺瞒", - "C5ETRAINING.SkillHis": "历史", - "C5ETRAINING.SkillIns": "洞悉", - "C5ETRAINING.SkillInv": "调查", - "C5ETRAINING.SkillItm": "威吓", - "C5ETRAINING.SkillMed": "医疗", - "C5ETRAINING.SkillNat": "自然", - "C5ETRAINING.SkillPer": "游说", - "C5ETRAINING.SkillPrc": "察觉", - "C5ETRAINING.SkillPrf": "表演", - "C5ETRAINING.SkillRel": "宗教", - "C5ETRAINING.SkillSlt": "巧手", - "C5ETRAINING.SkillSte": "隐匿", - "C5ETRAINING.SkillSur": "生存", - "C5ETRAINING.SuccessesRequired": "需要成功", - - "C5ETRAINING.Time": "时间(UTC)", - "C5ETRAINING.ToggleInfo": "切换信息", - "C5ETRAINING.Tool": "工具", - "C5ETRAINING.ToolNotFoundWarning": "没有找到选择的工具。请编辑该活动并选择新的。", - - "C5ETRAINING.User": "用户" -} diff --git a/module.json b/module.json index 0985f68..b21e829 100644 --- a/module.json +++ b/module.json @@ -1,14 +1,14 @@ { "name": "5e-training", "title": "Crash's Tracking & Training (5e)", - "description": "Adds a section to the character sheet to keep track of downtime activities, training, spell scribing, faction reputation, quest progress, and anything else you can think of.", + "description": "Adds a tab to the character sheet to keep track of downtime activities, training, spell scribing, faction reputation, quest progress, and anything else you can think of.", "author": "CRASH1115#2944", "url": "https://github.com/crash1115/5e-training", "readme": "https://github.com/crash1115/5e-training/blob/master/README.md", "bugs": "https://github.com/crash1115/5e-training/issues", - "version": "0.6.7", + "version": "0.6.8", "minimumCoreVersion": "0.8.2", - "compatibleCoreVersion": "0.8.9", + "compatibleCoreVersion": "9", "minimumSystemVersion": "1.3.0", "esmodules": [ "scripts/crash-5e-training.js" @@ -30,11 +30,6 @@ "name": "한국어", "path": "lang/ko.json" }, - { - "lang": "cn", - "name": "中文", - "path": "lang/cn.json" - }, { "lang": "es", "name": "Español", @@ -42,5 +37,5 @@ } ], "manifest": "https://raw.githubusercontent.com/crash1115/5e-training/master/module.json", - "download": "https://github.com/crash1115/5e-training/releases/download/v0.6.7/5e-training.zip" + "download": "https://github.com/crash1115/5e-training/releases/download/v0.6.8/5e-training.zip" } diff --git a/scripts/CrashTrackingAndTraining.js b/scripts/CrashTrackingAndTraining.js index cebb60b..b3a8773 100644 --- a/scripts/CrashTrackingAndTraining.js +++ b/scripts/CrashTrackingAndTraining.js @@ -6,7 +6,7 @@ import Category from "./Category.js"; export default class CrashTrackingAndTraining { static async addCategory(actorId){ - console.log("Crash's Tracking & Training (5e) | New Category excuted!"); + // console.log("Crash's Tracking & Training (5e) | New Category excuted!"); let actor = game.actors.get(actorId); let data = { @@ -17,7 +17,7 @@ export default class CrashTrackingAndTraining { } static async editCategory(actorId, categoryId){ - console.log("Crash's Tracking & Training (5e) | Edit Category excuted!"); + // console.log("Crash's Tracking & Training (5e) | Edit Category excuted!"); let actor = game.actors.get(actorId); let allCategories = actor.getFlag("5e-training","categories") || []; @@ -30,7 +30,7 @@ export default class CrashTrackingAndTraining { } static async deleteCategory(actorId, categoryId){ - console.log("Crash's Tracking & Training (5e) | Delete Category excuted!"); + // console.log("Crash's Tracking & Training (5e) | Delete Category excuted!"); // Set up some variables let actor = game.actors.get(actorId); @@ -69,7 +69,7 @@ export default class CrashTrackingAndTraining { } static async addItem(actorId, DROPDOWN_OPTIONS){ - console.log("Crash's Tracking & Training (5e) | New Item excuted!"); + // console.log("Crash's Tracking & Training (5e) | New Item excuted!"); let actor = game.actors.get(actorId); let allCategories = actor.getFlag("5e-training","categories") || []; let item = new TrackedItem; @@ -84,7 +84,7 @@ export default class CrashTrackingAndTraining { } static async editFromSheet(actorId, itemId, DROPDOWN_OPTIONS){ - console.log("Crash's Tracking & Training (5e) | Edit Downtime Activity excuted!"); + // console.log("Crash's Tracking & Training (5e) | Edit Downtime Activity excuted!"); let actor = game.actors.get(actorId); let allCategories = actor.getFlag("5e-training","categories") || []; let allItems = actor.getFlag("5e-training", "trainingItems") || []; @@ -100,7 +100,7 @@ export default class CrashTrackingAndTraining { } static async deleteFromSheet(actorId, itemId){ - console.log("Crash's Tracking & Training (5e) | Delete Downtime Activity excuted!"); + // console.log("Crash's Tracking & Training (5e) | Delete Downtime Activity excuted!"); // Set up some variables let actor = game.actors.get(actorId); @@ -129,7 +129,7 @@ export default class CrashTrackingAndTraining { } static async updateItemProgressFromSheet(actorId, itemId, value){ - console.log("Crash's Tracking & Training (5e) | Progression Override excuted!"); + // console.log("Crash's Tracking & Training (5e) | Progression Override excuted!"); // Set up some variables let actor = game.actors.get(actorId); @@ -163,7 +163,7 @@ export default class CrashTrackingAndTraining { } static async progressItem(actorId, itemId){ - console.log("Crash's Tracking & Training (5e) | Progress Downtime Activity excuted!"); + // console.log("Crash's Tracking & Training (5e) | Progress Downtime Activity excuted!"); // Set up some variables let actor = game.actors.get(actorId); @@ -355,7 +355,7 @@ export default class CrashTrackingAndTraining { } if (sendIt){ - console.log("Crash's Tracking & Training (5e) | " + actor.name + " " + game.i18n.localize("C5ETRAINING.CompletedATrackedItem")); + // console.log("Crash's Tracking & Training (5e) | " + actor.name + " " + game.i18n.localize("C5ETRAINING.CompletedATrackedItem")); let chatHtml = await renderTemplate('modules/5e-training/templates/completion-message.html', {actor:actor, activity:item}); let chatObj = {content: chatHtml}; if(game.settings.get("5e-training", "gmOnlyMode")){ diff --git a/scripts/crash-5e-training.js b/scripts/crash-5e-training.js index 47452a2..5c8f889 100644 --- a/scripts/crash-5e-training.js +++ b/scripts/crash-5e-training.js @@ -52,14 +52,14 @@ async function addTrainingTab(app, html, data) { // NEW CATEGORY html.find('.crash-training-new-category').click(async (event) => { event.preventDefault(); - console.log("Crash's Tracking & Training (5e) | Create Category excuted!"); + // console.log("Crash's Tracking & Training (5e) | Create Category excuted!"); await CrashTrackingAndTraining.addCategory(actor.id); }); // EDIT CATEGORY html.find('.crash-training-edit-category').click(async (event) => { event.preventDefault(); - console.log("Crash's Tracking & Training (5e) | Edit Category excuted!"); + // console.log("Crash's Tracking & Training (5e) | Edit Category excuted!"); let fieldId = event.currentTarget.id; let categoryId = fieldId.replace('crash-edit-category-',''); await CrashTrackingAndTraining.editCategory(actor.id, categoryId); @@ -68,7 +68,7 @@ async function addTrainingTab(app, html, data) { // DELETE CATEGORY html.find('.crash-training-delete-category').click(async (event) => { event.preventDefault(); - console.log("Crash's Tracking & Training (5e) | Delete Category excuted!"); + // console.log("Crash's Tracking & Training (5e) | Delete Category excuted!"); let fieldId = event.currentTarget.id; let categoryId = fieldId.replace('crash-delete-category-',''); await CrashTrackingAndTraining.deleteCategory(actor.id, categoryId); @@ -77,14 +77,14 @@ async function addTrainingTab(app, html, data) { // ADD NEW DOWNTIME ACTIVITY html.find('.crash-training-add').click(async (event) => { event.preventDefault(); - console.log("Crash's Tracking & Training (5e) | Create Item excuted!"); + // console.log("Crash's Tracking & Training (5e) | Create Item excuted!"); await CrashTrackingAndTraining.addItem(actor.id, DROPDOWN_OPTIONS); }); // EDIT DOWNTIME ACTIVITY html.find('.crash-training-edit').click(async (event) => { event.preventDefault(); - console.log("Crash's Tracking & Training (5e) | Edit Item excuted!"); + // console.log("Crash's Tracking & Training (5e) | Edit Item excuted!"); let allItems = actor.getFlag("5e-training","trainingItems") || []; let itemId = event.currentTarget.id.replace('crash-edit-',''); if(!itemId){ @@ -97,7 +97,7 @@ async function addTrainingTab(app, html, data) { // DELETE DOWNTIME ACTIVITY html.find('.crash-training-delete').click(async (event) => { event.preventDefault(); - console.log("Crash's Tracking & Training (5e) | Delete Item excuted!"); + // console.log("Crash's Tracking & Training (5e) | Delete Item excuted!"); let allItems = actor.getFlag("5e-training","trainingItems") || []; let itemId = event.currentTarget.id.replace('crash-delete-',''); if(!itemId){ @@ -110,7 +110,7 @@ async function addTrainingTab(app, html, data) { // EDIT PROGRESS VALUE html.find('.crash-training-override').change(async (event) => { event.preventDefault(); - console.log("Crash's Tracking & Training (5e) | Progress Override excuted!"); + // console.log("Crash's Tracking & Training (5e) | Progress Override excuted!"); let field = event.currentTarget; let itemId = event.currentTarget.id.replace('crash-override-',''); if(!itemId){ @@ -130,7 +130,7 @@ async function addTrainingTab(app, html, data) { // ROLL TO TRAIN html.find('.crash-training-roll').click(async (event) => { event.preventDefault(); - console.log("Crash's Tracking & Training (5e) | Roll Item excuted!"); + // console.log("Crash's Tracking & Training (5e) | Roll Item excuted!"); let itemId = event.currentTarget.id.replace('crash-roll-',''); if(!itemId){ ui.notifications.warn("Crash's Tracking & Training (5e): " + game.i18n.localize("C5ETRAINING.NoIdWarning"),{permanent:true}); @@ -144,7 +144,7 @@ async function addTrainingTab(app, html, data) { // dnd5e/module/actor/sheets/base.js html.find('.crash-training-toggle-desc').click(async (event) => { event.preventDefault(); - console.log("Crash's Tracking & Training (5e) | Toggle Acvtivity Info excuted!"); + // console.log("Crash's Tracking & Training (5e) | Toggle Acvtivity Info excuted!"); // Set up some variables let fieldId = event.currentTarget.id; @@ -189,7 +189,7 @@ async function addTrainingTab(app, html, data) { // OPEN AUDIT LOG html.find('.crash-training-audit').click(async (event) => { event.preventDefault(); - console.log("Crash's Tracking & Training (5e) | GM Audit excuted!"); + // console.log("Crash's Tracking & Training (5e) | GM Audit excuted!"); new AuditLog(actor).render(true); }); @@ -239,7 +239,7 @@ async function migrateAllActors(){ let currentUserOwnsActor = a.data.permission[currentUserId] === 3; let currentUserIsGm = game.user.isGM; if(!currentUserOwnsActor && !currentUserIsGm){ - // console.log("Crash's Tracking & Training (5e): " + game.i18n.localize("C5ETRAINING.Skipping") + ": " + a.data.name); + console.log("Crash's Tracking & Training (5e): " + game.i18n.localize("C5ETRAINING.Skipping") + ": " + a.data.name); continue; } @@ -338,7 +338,7 @@ Hooks.on(`renderActorSheet`, (app, html, data) => { }); Hooks.on(`CrashTrainingTabReady`, (app, html, data) => { - console.log("Crash's Tracking & Training (5e) | Downtime tab ready!"); + // console.log("Crash's Tracking & Training (5e) | Downtime tab ready!"); }); Hooks.on(`ready`, () => { diff --git a/styles/audit-log.css b/styles/audit-log.css index b162d2a..c6befac 100644 --- a/styles/audit-log.css +++ b/styles/audit-log.css @@ -9,7 +9,7 @@ .crash-audit-log .action-table table { text-align: left; border: none; - background-color: none; + background-color: transparent; } .crash-audit-log .action-table table tr th,