// Triggers for all occasions and zones.
[{
  zoneRegex: /.*/,
  triggers: [
    {
      id: 'General Provoke',
      regex: /:(\y{Name}):1D6D:Provoke:/,
      condition: function(data) { return data.role == 'tank' },
      infoText: function(data, matches) {
        return 'Provoke: ' + matches[1];
      },
    },
    {
      id: 'General Ultimatum',
      regex: /:(\y{Name}):1D73:Ultimatum:/,
      condition: function(data) { return data.role == 'tank' },
      infoText: function(data, matches) {
        return 'Ultimatum: ' + matches[1];
      },
    },
    {
      id: 'General Shirk',
      regex: /:(\y{Name}):1D71:Shirk:/,
      condition: function(data) { return data.role == 'tank' },
      infoText: function(data, matches) {
        return 'Shirk: ' + matches[1];
      },
    },
    {
      id: 'General Holmgang',
      regex: /:(\y{Name}):2B:Holmgang:/,
      condition: function(data) { return data.role == 'tank' },
      infoText: function(data, matches) {
        return 'Holmgang: ' + matches[1];
      },
    },
    {
      id: 'General Hallowed',
      regex: /:(\y{Name}):1E:Hallowed Ground:/,
      condition: function(data) { return data.role == 'tank' },
      infoText: function(data, matches) {
        return 'Hallowed: ' + matches[1];
      },
    },
    {
      id: 'General Living',
      regex: /:(\y{Name}):E36:Living Dead:/,
      condition: function(data) { return data.role == 'tank' },
      infoText: function(data, matches) {
        return 'Living: ' + matches[1];
      },
    },
    {
      id: 'General Walking',
      regex: /:(\y{Name}) gains the effect of Walking Dead/,
      condition: function(data) { return data.role == 'tank' },
      infoText: function(data, matches) {
        return 'Walking: ' + matches[1];
      },
    },
    {
      id: 'General Ready check',
      regex: /:(?:(\y{Name}) has initiated|You have commenced) a ready check\./,
      sound: '../../resources/sounds/Overwatch/D.Va_-_Game_on.ogg',
      soundVolume: 0.6,
    },
  ],
}];

@@ -278,34 +278,152 @@
 rovoke: ' + 
-matches%5B1%5D
+data.ShortName(matches%5B1%5D);%0A      %7D,%0A      tts: function(data, matches) %7B%0A        return 'provoke ' + data.ShortName(matches%5B1%5D)
 ;%0A      %7D,%0A 
@@ -642,34 +642,154 @@
 imatum: ' + 
-matches%5B1%5D
+data.ShortName(matches%5B1%5D);%0A      %7D,%0A      tts: function(data, matches) %7B%0A        return 'ultimatum ' + data.ShortName(matches%5B1%5D)
 ;%0A      %7D,%0A 
@@ -996,34 +996,150 @@
 'Shirk: ' + 
-matches%5B1%5D
+data.ShortName(matches%5B1%5D);%0A      %7D,%0A      tts: function(data, matches) %7B%0A        return 'shirk ' + data.ShortName(matches%5B1%5D)
 ;%0A      %7D,%0A 
@@ -1353,34 +1353,153 @@
 lmgang: ' + 
-matches%5B1%5D
+data.ShortName(matches%5B1%5D);%0A      %7D,%0A      tts: function(data, matches) %7B%0A        return 'holmgang ' + data.ShortName(matches%5B1%5D)
 ;%0A      %7D,%0A 
@@ -1720,34 +1720,153 @@
 llowed: ' + 
-matches%5B1%5D
+data.ShortName(matches%5B1%5D);%0A      %7D,%0A      tts: function(data, matches) %7B%0A        return 'hallowed ' + data.ShortName(matches%5B1%5D)
 ;%0A      %7D,%0A 
@@ -2080,34 +2080,151 @@
 Living: ' + 
-matches%5B1%5D
+data.ShortName(matches%5B1%5D);%0A      %7D,%0A      tts: function(data, matches) %7B%0A        return 'living ' + data.ShortName(matches%5B1%5D)
 ;%0A      %7D,%0A 
@@ -2460,26 +2460,144 @@
 ng: ' + 
-matches%5B1%5D
+data.ShortName(matches%5B1%5D);%0A      %7D,%0A      tts: function(data, matches) %7B%0A        return 'walking ' + data.ShortName(matches%5B1%5D)
 ;%0A      

Add tts for general provoke/shirk/etc triggers