Skip to content

Commit

Permalink
Update 0.1.2
Browse files Browse the repository at this point in the history
New marker color for gray
  • Loading branch information
nesuprachy committed Sep 10, 2024
1 parent 8c114da commit ffc922f
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 5 deletions.
82 changes: 82 additions & 0 deletions DrD2StatusMarkers/0.1.2/DrD2StatusMarkers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// Github: TBD
// By: nesuprachy
// Contact: https://app.roll20.net/users/11071738/nesuprachy
//
// This script sets token markers based on relevant sheet attributes.
// Works with the DrD2 token marker set, icons must be named `RED`, `BLU`, `GRN`, `VIO`, `BLK`
// Uses TokenMod to set token markers from chat https://wiki.roll20.net/Script:Token_Mod

var DrD2StatusMarkers = DrD2StatusMarkers || (function() {
'use strict';

const version = '0.1.2';
const lastUpdate = 1725975609706;
const markerAttributes = ['body_scarred', 'spirit_scarred', 'influence_scarred', 'danger', 'advantages', 'companion_bond_scarred'];

checkInstall = function () {
log(`-=> DrD2StatusMarkers v${version} <=- [${new Date(lastUpdate)}]`);
},

handleMarkerAttributes = function (obj, prev) {
var attr = obj.get('name');
if(markerAttributes.includes(attr)) {
var prevVal = parseInt(prev.current)||0;
var newVal = parseInt(obj.get('current'))||0;
var charId = obj.get('_characterid');
var color = '';
//log(`${obj.get('name')} changed`);
//log(`prevVal ${prevVal} -> newVal ${newVal}`);
switch (attr) {
case markerAttributes[0]:
color = 'RED';
break;
case markerAttributes[1]:
color = 'BLU';
break;
case markerAttributes[2]:
color = 'GRN';
break;
case markerAttributes[3]:
color = 'VIO';
break;
case markerAttributes[4]:
color = 'BLK';
break;
case markerAttributes[5]:
color = 'GRY';
break;
default:
break;
}
if(color){
if(newVal > 0 && newVal < 10) {
sendChat('API', `!token-mod --ignore-selected --ids ${charId} --set statusmarkers|-${color}1|-${color}2|-${color}3|-${color}4|-${color}5|-${color}6|-${color}7|-${color}8|-${color}9|-${color}9plus|${color}${newVal}`, null, {noarchive:true} );
//log(`!token-mod --ignore-selected --ids ${charId} --set statusmarkers|-${color}1|-${color}2|-${color}3|-${color}4|-${color}5|-${color}6|-${color}7|-${color}8|-${color}9|-${color}9plus|${color}${newVal}`);
} else if(newVal >= 10) {
sendChat('API', `!token-mod --ignore-selected --ids ${charId} --set statusmarkers|-${color}1|-${color}2|-${color}3|-${color}4|-${color}5|-${color}6|-${color}7|-${color}8|-${color}9|${color}9plus`, null, {noarchive:true} );
//log(`!token-mod --ignore-selected --ids ${charId} --set statusmarkers|-${color}1|-${color}2|-${color}3|-${color}4|-${color}5|-${color}6|-${color}7|-${color}8|-${color}9|${color}9plus`);
} else {
sendChat('API', `!token-mod --ignore-selected --ids ${charId} --set statusmarkers|-${color}1|-${color}2|-${color}3|-${color}4|-${color}5|-${color}6|-${color}7|-${color}8|-${color}9|-${color}9plus`, null, {noarchive:true} );
//log(`!token-mod --ignore-selected --ids ${charId} --set statusmarkers|-${color}1|-${color}2|-${color}3|-${color}4|-${color}5|-${color}6|-${color}7|-${color}8|-${color}9|-${color}9plus`);
}
}
}
},

registerEventHandlers = function () {
on('change:attribute:current', function(obj, prev){handleMarkerAttributes(obj, prev)});
};

return {
CheckInstall: checkInstall,
RegisterEventHandlers: registerEventHandlers
};

}());

on('ready', () => {
'use strict';

DrD2StatusMarkers.CheckInstall();
DrD2StatusMarkers.RegisterEventHandlers();
});
9 changes: 6 additions & 3 deletions DrD2StatusMarkers/DrD2StatusMarkers.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
var DrD2StatusMarkers = DrD2StatusMarkers || (function() {
'use strict';

const version = '0.1.1';
const lastUpdate = 1725386405067;
const markerAttributes = ['body_scarred', 'spirit_scarred', 'influence_scarred', 'danger', 'advantages'];
const version = '0.1.2';
const lastUpdate = 1725975609706;
const markerAttributes = ['body_scarred', 'spirit_scarred', 'influence_scarred', 'danger', 'advantages', 'companion_bond_scarred'];

checkInstall = function () {
log(`-=> DrD2StatusMarkers v${version} <=- [${new Date(lastUpdate)}]`);
Expand Down Expand Up @@ -42,6 +42,9 @@ var DrD2StatusMarkers = DrD2StatusMarkers || (function() {
case markerAttributes[4]:
color = 'BLK';
break;
case markerAttributes[5]:
color = 'GRY';
break;
default:
break;
}
Expand Down
4 changes: 2 additions & 2 deletions DrD2StatusMarkers/script.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "DrD2StatusMarkers",
"script": "DrD2StatusMarkers.js",
"version": "0.1.1",
"previousversions": ["0.1.0"],
"version": "0.1.2",
"previousversions": ["0.1.0", "0.1.1"],
"description": "Designed for use only with the Draci Doupe II sheet.\n\nThis script sets token markers based on relevant sheet attributes.\nWorks with the DrD2 token marker set, icons must be named `RED`, `BLU`, `GRN`, `VIO`, `BLK`.",
"authors": "nesuprachy",
"roll20userid": "11071738",
Expand Down

0 comments on commit ffc922f

Please sign in to comment.