forked from public/foundryvtt-reve-de-dragon
		
	v10 WIP
This commit is contained in:
		| @@ -2,6 +2,16 @@ import { Misc } from "./misc.js"; | |||||||
|  |  | ||||||
| export class RdDHotbar { | export class RdDHotbar { | ||||||
|  |  | ||||||
|  |   static async createMacro(item, command) { | ||||||
|  |     let macro = await Macro.create({ | ||||||
|  |       name: item.name, | ||||||
|  |       type: "script", | ||||||
|  |       img: item.img, | ||||||
|  |       command: command | ||||||
|  |     }, { displaySheet: false }) | ||||||
|  |     return macro | ||||||
|  |   } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * Create a macro when dropping an entity on the hotbar |    * Create a macro when dropping an entity on the hotbar | ||||||
|    * Item      - open roll dialog for item |    * Item      - open roll dialog for item | ||||||
| @@ -10,8 +20,7 @@ export class RdDHotbar { | |||||||
|    */ |    */ | ||||||
|   static initDropbar() { |   static initDropbar() { | ||||||
|  |  | ||||||
|     Hooks.on("hotbarDrop", async (bar, documentData, slot) => { |     Hooks.on("hotbarDrop", (bar, documentData, slot) => { | ||||||
|  |  | ||||||
|  |  | ||||||
|       // Create item macro if rollable item - weapon, spell, prayer, trait, or skill |       // Create item macro if rollable item - weapon, spell, prayer, trait, or skill | ||||||
|       if (documentData.type == "Item") { |       if (documentData.type == "Item") { | ||||||
| @@ -21,23 +30,19 @@ export class RdDHotbar { | |||||||
|         } |         } | ||||||
|         console.log("DROP", documentData, item) |         console.log("DROP", documentData, item) | ||||||
|         if (!item || (item.type != "arme" && item.type != "competence")) { |         if (!item || (item.type != "arme" && item.type != "competence")) { | ||||||
|         return |           return true | ||||||
|         } |         } | ||||||
|         let command = `game.system.rdd.RdDHotbar.rollMacro("${item.name}", "${item.type}");`; |         let command = `game.system.rdd.RdDHotbar.rollMacro("${item.name}", "${item.type}");`; | ||||||
|         let macro = game.macros.contents.find(m => (m.name === item.name) && (m.command === command)); |         let macro = game.macros.contents.find(m => (m.name === item.name) && (m.command === command)); | ||||||
|         if (!macro) { |         if (!macro) { | ||||||
|         macro = await Macro.create({ |           macro = this.createMacro(item, command) | ||||||
|           name: item.name, |  | ||||||
|           type: "script", |  | ||||||
|           img: item.img, |  | ||||||
|           command: command |  | ||||||
|         }, { displaySheet: false }) |  | ||||||
|         } |         } | ||||||
|         game.user.assignHotbarMacro(macro, slot); |         game.user.assignHotbarMacro(macro, slot); | ||||||
|  |         return false | ||||||
|       } |       } | ||||||
|  |  | ||||||
|           // Create a macro to open the actor sheet of the actor dropped on the hotbar |           // Create a macro to open the actor sheet of the actor dropped on the hotbar | ||||||
|     else if (documentData.type == "Actor") { |     /*else if (documentData.type == "Actor") { | ||||||
|       let actor = game.actors.get(documentData.id); |       let actor = game.actors.get(documentData.id); | ||||||
|       let command = `game.actors.get("${documentData.id}").sheet.render(true)` |       let command = `game.actors.get("${documentData.id}").sheet.render(true)` | ||||||
|       let macro = game.macros.contents.find(m => (m.name === actor.name) && (m.command === command)); |       let macro = game.macros.contents.find(m => (m.name === actor.name) && (m.command === command)); | ||||||
| @@ -51,6 +56,7 @@ export class RdDHotbar { | |||||||
|         game.user.assignHotbarMacro(macro, slot); |         game.user.assignHotbarMacro(macro, slot); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // Create a macro to open the journal sheet of the journal dropped on the hotbar |     // Create a macro to open the journal sheet of the journal dropped on the hotbar | ||||||
|     else if (documentData.type == "JournalEntry") { |     else if (documentData.type == "JournalEntry") { | ||||||
|       let journal = fromUuidSync(documentData.uuid) |       let journal = fromUuidSync(documentData.uuid) | ||||||
| @@ -65,8 +71,8 @@ export class RdDHotbar { | |||||||
|         }, { displaySheet: false }) |         }, { displaySheet: false }) | ||||||
|         game.user.assignHotbarMacro(macro, slot); |         game.user.assignHotbarMacro(macro, slot); | ||||||
|       } |       } | ||||||
|     } |     }*/ | ||||||
|     return false; |     return true; | ||||||
|   }); |   }); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,7 +34,7 @@ | |||||||
|   ], |   ], | ||||||
|   "url": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/", |   "url": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/", | ||||||
|   "license": "LICENSE.txt", |   "license": "LICENSE.txt", | ||||||
|   "version": "10.0.10", |   "version": "10.0.11", | ||||||
|   "compatibility": { |   "compatibility": { | ||||||
|     "minimum": "10" |     "minimum": "10" | ||||||
|   }, |   }, | ||||||
| @@ -332,7 +332,7 @@ | |||||||
|   ], |   ], | ||||||
|   "socket": true, |   "socket": true, | ||||||
|   "manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v10/system.json", |   "manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v10/system.json", | ||||||
|   "download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-10.0.10.zip", |   "download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-10.0.11.zip", | ||||||
|   "gridDistance": 1, |   "gridDistance": 1, | ||||||
|   "gridUnits": "m", |   "gridUnits": "m", | ||||||
|   "primaryTokenAttribute": "sante.vie", |   "primaryTokenAttribute": "sante.vie", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user