matthileo

STATUS MACRO UPDATE

Aug 13th, 2016
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.08 KB | None | 0 0
  1. $$ user.status=function(){args=quoteArgs(Array.from(arguments));var a=getNext("-character",user.currentCharacter);character=user.characters[a];var b=getNext("-hp");"reset"==b?character.sheet.hp=character.sheet.maxHP:b&&(character.sheet.hp=parseInt(character.sheet.hp)+parseInt(b));var c=getNext("-spell");c&&(character.status.concentration.name=c);var d=getNext("-effect");d&&(character.status.concentration.effect=d);var e=getNext("-target");e&&(character.status.concentration.target=e);var f=getNext("-ends");f&&(character.status.concentration.ends=f);for(idx in args)"-condition"==args[idx]?(idx=parseInt(idx),character.status.conditions||(character.status.conditions={}),character.status.conditions[args[idx+1]]||(character.status.conditions[args[idx+1]]=[]),"ends"==args[idx+2]&&(character.status.conditions[args[idx+1]].ends=args[idx+3]),"effect"==args[idx+2]&&(character.status.conditions[args[idx+1]].effect=args[idx+3]),"ends"==args[idx+4]&&"effect"==args[idx+2]&&(character.status.conditions[args[idx+1]].ends=args[idx+5]),"effect"==args[idx+4]&&"ends"==args[idx+2]&&(character.status.conditions[args[idx+1]].effect=args[idx+5])):"-clear"==args[idx]&&delete character.status.conditions[args[parseInt(idx)+1]];var g=getNext("-stealth");g&&(character.status.stealth=g);var h=getNext("-pos");if(h&&(character.status.position=h),inArguments(args,"clear")){if(inArguments(args,"spell"))for(idx in character.status.concentration)character.status.concentration[idx]="none";inArguments(args,"conditions")&&(character.status.conditions={}),character.status.stealth=0,character.status.position="Outside Combat"}inArguments(args,"silent")||displayStatus()};
  2.  
  3. ---------------------------------------------------------------------------------------------------------------------
  4.  
  5. $$ user.displayStatus = function()
  6. {
  7. echo("```"+character.sheet.name+"'s Status```");
  8. echo("**Hit Points: **" + character.sheet.hp + "/" + character.sheet.maxHP + "\n");
  9. echo("**Position: **" + character.status.position + "\n");
  10.  
  11. for (condition in character.status.conditions)
  12. {
  13. conditionString = "";
  14. if (character.status.conditions[condition].ends && character.status.conditions[condition].effect)
  15. conditionString += character.status.conditions[condition].effect + " (Ends " + character.status.conditions[condition].ends + ")";
  16. else if (character.status.conditions[condition].ends)
  17. conditionString += " Ends " + character.status.conditions[condition].ends;
  18. else if (character.status.conditions[condition].effect)
  19. conditionString += character.status.conditions[condition].effect;
  20. echo("**" + condition + ": **" + conditionString + "\n");
  21. }
  22.  
  23. if (character.status.stealth!=0) echo("**Stealth: **" + character.status.stealth + "\n");
  24.  
  25. if (character.status.concentration.name!="none")
  26. {
  27. spellstring = "**Concentration: **" + character.status.concentration.name;
  28. if (character.status.concentration.effect!="none") spellstring+= " [" + character.status.concentration.effect + "]";
  29. if (character.status.concentration.target!="none") spellstring+= " on " + character.status.concentration.target;
  30. if (character.status.concentration.ends!="none") spellstring+= " (Ends " + character.status.concentration.ends + ")";
  31. echo(spellstring + "\n");
  32. }
  33.  
  34. if (inArguments(args,"end")) echo("```END TURN```");
  35. }
  36.  
  37. --------------------------------------------------------------------------
  38.  
  39. $$ user.list = function()
  40. {
  41. echo("```Characters```");
  42. for (idx in user.characters)
  43. {
  44. charString = "**" + idx +":** " + user.characters[idx].sheet.hp +"/" + user.characters[idx].sheet.maxHP;
  45.  
  46. for (condition in user.characters[idx].status.conditions)
  47. {
  48. if (charString!="") charString+=", ";
  49. charString += condition;
  50. }
  51.  
  52. if (user.characters[idx].status.concentration.name!="none")
  53. {
  54. if (charString!="") charString+=", ";
  55. charString+= "Concentrating on " + user.characters[idx].status.concentration.name;
  56. }
  57.  
  58. if (user.characters[idx].status.stealth!="0")
  59. {
  60. if (charString!="") charString+=", ";
  61. charString+= user.characters[idx].status.stealth + "Stealth";
  62. }
  63. echo(charString + "\n");
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment