From c7a47308ac332ac6fedbc11ab1f78088bfc2eedb Mon Sep 17 00:00:00 2001
From: FarawayVision <stmobo@gmail.com>
Date: Mon, 11 Feb 2019 01:09:35 -0500
Subject: [PATCH] spniBehaviour: fixup expandPlayerVariable

---
 js/spniBehaviour.js | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/js/spniBehaviour.js b/js/spniBehaviour.js
index 40808828eae..76ab02ffd63 100644
--- a/js/spniBehaviour.js
+++ b/js/spniBehaviour.js
@@ -202,7 +202,7 @@ function getTargetMarker(marker, target) {
  * Expands ~target.*~ and ~[player].*~ variables.
  ************************************************************/
 function expandPlayerVariable(split_fn, args, self, target) {
-    var fn = split_fn[1].toLowerCase();
+    if (split_fn.length > 0) var fn = split_fn[0].toLowerCase();
     
     switch (fn) {
     case 'position':
@@ -211,7 +211,7 @@ function expandPlayerVariable(split_fn, args, self, target) {
     case 'slot':
         return target.slot;
     case 'marker':
-        var markerName = split_fn[2];
+        var markerName = split_fn[1];
         if (markerName) {
             var marker;
             if (target) {
@@ -239,9 +239,10 @@ function expandDialogue (dialogue, self, target) {
     function substitute(match, variable, fn, args) {
         // If substitution fails, return match unchanged.
         var substitution = match;
+        var fn_parts = [];
         
         if (fn) {
-            var fn_parts = fn.split('.');
+            fn_parts = fn.split('.');
             fn = fn_parts[0].toLowerCase();
         }
         
@@ -320,6 +321,7 @@ function expandDialogue (dialogue, self, target) {
                 substitution = substitution.initCap();
             }
         } catch (ex) {
+            //throw ex;
             console.log("Invalid substitution caused exception " + ex);
         }
         return substitution;
-- 
GitLab