function drawDefault(token, fillColor, p, aw, h, hh, w, hw, ah) { token.target.beginFill(fillColor, 1.0) .lineStyle(1, 0x000000) .drawPolygon([-p, hh, -p - aw, hh - ah, -p - aw, hh + ah]) .drawPolygon([w + p, hh, w + p + aw, hh - ah, w + p + aw, hh + ah]) .drawPolygon([hw, -p, hw - ah, -p - aw, hw + ah, -p - aw]) .drawPolygon([hw, h + p, hw - ah, h + p + aw, hw + ah, h + p + aw]); } function drawCrossHairs1(token, fillColor, p, aw, h, hh, w, hw, ah) { let borderColor = 0x000000; let rw = 10; // rect width let rh = 30; // rect length let r = hh; // radius let topX = hw - rw / 2; let topY = 0 - rh / 2; let rightX = w - rh / 2; let rightY = hh - rw / 2; let botX = hw - rw / 2; let botY = h - rh / 2; let leftX = 0 - rh / 2; let leftY = hh - rw / 2; token.target .beginFill(borderColor, 0).lineStyle(10, borderColor).drawCircle(hw, hh, r).endFill() .beginFill(fillColor, 0).lineStyle(6, fillColor).drawCircle(hw, hh, r).endFill() .beginFill(fillColor).lineStyle(2, borderColor).drawRect(topX, topY, rw, rh).endFill() // top bar .beginFill(fillColor).lineStyle(2, borderColor).drawRect(rightX, rightY, rh, rw).endFill() // right bar .beginFill(fillColor).lineStyle(2, borderColor).drawRect(botX, botY, rw, rh).endFill() // bottom bar .beginFill(fillColor).lineStyle(2, borderColor).drawRect(leftX, leftY, rh, rw).endFill(); // tleft bar } function drawCrossHairs2(token, fillColor, p, aw, h, hh, w, hw, ah) { let borderColor = 0x000000; let rw = 10; // rect width let rh = 50; // rect length let r = hh; // radius let topX = hw - rw / 2; let topY = 0 - rh / 2; let rightX = w - rh / 2; let rightY = hh - rw / 2; let botX = hw - rw / 2; let botY = h - rh / 2; let leftX = 0 - rh / 2; let leftY = hh - rw / 2; token.target .beginFill(borderColor, 1).lineStyle(8, borderColor).drawCircle(hw, hh, 2).endFill() .beginFill(fillColor, 1).lineStyle(6, fillColor).drawCircle(hw, hh, 2).endFill() .beginFill(fillColor).lineStyle(2, borderColor).drawRect(topX, topY, rw, rh).endFill() // top bar .beginFill(fillColor).lineStyle(2, borderColor).drawRect(rightX, rightY, rh, rw).endFill() // right bar .beginFill(fillColor).lineStyle(2, borderColor).drawRect(botX, botY, rw, rh).endFill() // bottom bar .beginFill(fillColor).lineStyle(2, borderColor).drawRect(leftX, leftY, rh, rw).endFill(); // tleft bar } function drawBullsEye1(token, fillColor, p, aw, h, hh, w, hw, ah) { let borderColor = 0x000000; token.target .beginFill(borderColor, 0).lineStyle(6, borderColor).drawCircle(hw, hh, hh).endFill() .beginFill(fillColor, 0).lineStyle(4, fillColor).drawCircle(hw, hh, hh).endFill() // stop here for outer ring .beginFill(borderColor, 0).lineStyle(6, borderColor).drawCircle(hw, hh, hh - 40).endFill() .beginFill(fillColor, 0).lineStyle(4, fillColor).drawCircle(hw, hh, hh - 40).endFill(); } function drawBullsEye2(token, fillColor, p, aw, h, hh, w, hw, ah) { let borderColor = 0x000000; token.target .beginFill(borderColor, 0).lineStyle(6, borderColor).drawCircle(hw, hh, hh).endFill() .beginFill(fillColor, 0).lineStyle(4, fillColor).drawCircle(hw, hh, hh).endFill() // stop here for outer ring .beginFill(borderColor, 0).lineStyle(6, borderColor).drawCircle(hw, hh, hh - 20).endFill() .beginFill(fillColor, 0).lineStyle(4, fillColor).drawCircle(hw, hh, hh - 20).endFill() .beginFill(fillColor, 1).lineStyle(8, fillColor).drawCircle(hw, hh, 2).endFill(); } function drawBetterTarget(token, fillColor, p, aw, h, hh, w, hw, ah) { let size = token.w; // Constrain dimensions to the shortest axis if (size > token.h) { size = token.h; } const padding = size / 8; const stroke = size / 16; const vmid = token.h / 2; const hmid = token.w / 2; const crossLen = (size / 2) - (padding * 1.5); // TODO: Remove this when core PIXI.js graphics-smooth version >= v0.0.17 const smoothGraphicsHack = 0.999; token.target .beginFill(0x000000, 0.0).lineStyle(stroke + 2, 0x000000) .drawCircle(hmid, vmid, (size / 2) - padding - (stroke / 2)) .endFill() .beginFill(0x000000, 0.0).lineStyle(stroke, fillColor) .drawCircle(hmid, vmid, (size / 2) - padding - (stroke / 2)) .endFill() .beginFill(fillColor, 1.0).lineStyle(1, 0x000000) .drawRoundedRect(hmid - (stroke / 2), vmid - stroke - (padding / 2) - crossLen, stroke, crossLen, stroke / 2 * smoothGraphicsHack) .drawRoundedRect(hmid - (stroke / 2), vmid + (padding * 1.5) - stroke, stroke, crossLen, stroke / 2 * smoothGraphicsHack) .drawRoundedRect(hmid - stroke - (padding / 2) - crossLen, vmid - (stroke / 2), crossLen, stroke, stroke / 2 * smoothGraphicsHack) .drawRoundedRect(hmid + (padding * 1.5) - stroke, vmid - (stroke / 2), crossLen, stroke, stroke / 2 * smoothGraphicsHack) .endFill(); }