nethaxion

MSDP AffectCheck

May 2nd, 2024 (edited)
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.05 KB | Gaming | 0 0
  1. // Spell Affects parsed from MSDP-VARS/AFFECTS variable.
  2. //On import, you'll need to replace whitespace markup with whitespace characters matching those in the AFFECTS variable in MSDP-VARS. These are noted below.
  3. // Start of Text: Hold down ALT and type 0002
  4. // Start of Header: Hold down ALT and type 0001
  5.  
  6. //***** Obfuscation Spells *****//
  7. #IF (%pos(conceal alignment,@AFFECTS) > 0) {#VAR btnconceal %subregex(%copy(@affects,(%pos(conceal alignment,@AFFECTS) + 18),4),"\D*","")} {#VAR btnconceal 0}
  8. #IF (%pos(invisibility,@AFFECTS) > 0) {#VAR btninvis %subregex(%copy(@affects,(%pos(invisibility,@AFFECTS) + 13),4),"\D*","")} {#VAR btninvis 0}
  9.  
  10. //***** Enhancement Spells *****//
  11. //Bless needs to have a STX (Start of Text) character after 'bless' in '%pos(bless'
  12. #IF (%pos(bless,@AFFECTS) > 0) {#VAR btnbless %subregex(%copy(@affects,(%pos(bless,@AFFECTS) + 6),4),"\D*","")} {#VAR btnbless 0}
  13.  
  14. #IF (%pos(frenzy,@AFFECTS) > 0) {#VAR btnfrenzy %subregex(%copy(@affects,(%pos(frenzy,@AFFECTS) + 7),4),"\D*","")} {#VAR btnfrenzy 0}
  15. #IF (%pos(fly,@AFFECTS) > 0) {#VAR btnfly %subregex(%copy(@affects,(%pos(fly,@AFFECTS) + 4),4),"\D*","")} {#VAR btnfly 0}
  16. #IF (%pos(free action,@AFFECTS) > 0) {#VAR btnfree %subregex(%copy(@affects,(%pos(free action,@AFFECTS) + 12),4),"\D*","")} {#VAR btnfree 0}
  17. #IF (%pos(giant strength,@AFFECTS) > 0) {#VAR btngiant %subregex(%copy(@affects,(%pos(giant strength,@AFFECTS) + 15),4),"\D*","")} {#VAR btngiant 0}
  18. #IF (%pos(haste,@AFFECTS) > 0) {#VAR btnhaste %subregex(%copy(@affects,(%pos(haste,@AFFECTS) + 6),4),"\D*","")} {#VAR btnhaste 0}
  19. #IF (%pos(water breathe,@AFFECTS) > 0) {#VAR btnwaterbreathe %subregex(%copy(@affects,(%pos(water breathe,@AFFECTS) + 14),4),"\D*","")} {#VAR btnwaterbreathe 0}
  20. #IF (%pos(pass door,@AFFECTS) > 0) {#VAR btnpassdoor %subregex(%copy(@affects,(%pos(pass door,@AFFECTS) + 10),4),"\D*","")} {#VAR btnpassdoor 0}
  21. #IF (%pos(corpse visage,@AFFECTS) > 0) {#VAR btncorpse %subregex(%copy(@affects,(%pos(corpse visage,@AFFECTS) + 14),4),"\D*","")} {#VAR btncorpse 0}
  22.  
  23. //***** Protective Spells *****//
  24. //Shield needs to have a SOH (Start of Header) character before 'shield' in '%pos(shield' and replace XXXX with one as well.
  25. #IF (%pos(shield,@AFFECTS) > 0) {#VAR btnshield %replace(%subregex(%copy(@affects,(%pos(shield,@AFFECTS) + 7),4),"\D*",""),XXXX,"")} {#VAR btnshield 0}
  26. //Protection needs to have a STX (Start of Text) character after 'protection' in '%pos(protection'
  27. #IF (%pos(protection,@AFFECTS) > 0) {#VAR btnprot %subregex(%copy(@affects,(%pos(protection,@AFFECTS) + 11),4),"\D*","")} {#VAR btnprot 0}
  28.  
  29. #IF (%pos(armor,@AFFECTS) > 0) {#VAR btnarmor %subregex(%copy(@affects,(%pos(armor,@AFFECTS) + 6),4),"\D*","")} {#VAR btnarmor 0}
  30. #IF (%pos(sanctuary,@AFFECTS) > 0) {#VAR btnsanc %subregex(%copy(@affects,(%pos(sanctuary,@AFFECTS) + 10),4),"\D*","")} {#VAR btnsanc 0}
  31. #IF (%pos(stone skin,@AFFECTS) > 0) {#VAR btnstone %subregex(%copy(@affects,(%pos(stone skin,@AFFECTS) + 11),4),"\D*","")} {#VAR btnstone 0}
  32. #IF (%pos(earthshield,@AFFECTS) > 0) {#VAR btnearths %subregex(%copy(@affects,(%pos(earthshield,@AFFECTS) + 12),4),"\D*","")} {#VAR btnearths 0}
  33. #IF (%pos(flameshield,@AFFECTS) > 0) {#VAR btnflames %subregex(%copy(@affects,(%pos(flameshield,@AFFECTS) + 12),4),"\D*","")} {#VAR btnflames 0}
  34. #IF (%pos(iceshield,@AFFECTS) > 0) {#VAR btnices %subregex(%copy(@affects,(%pos(iceshield,@AFFECTS) + 10),4),"\D*","")} {#VAR btnices 0}
  35. #IF (%pos(shockshield,@AFFECTS) > 0) {#VAR btnshocks %subregex(%copy(@affects,(%pos(shockshield,@AFFECTS) + 12),4),"\D*","")} {#VAR btnshocks 0}
  36. #IF (%pos(protection element,@AFFECTS) > 0) {#VAR btnelem %subregex(%copy(@affects,(%pos(protection element,@AFFECTS) + 19),4),"\D*","")} {#VAR btnelem 0}
  37. #IF (%pos(protection good,@AFFECTS) > 0) {#VAR btnprogood %subregex(%copy(@affects,(%pos(protection good,@AFFECTS) + 16),4),"\D*","")} {#VAR btnprogood 0}
  38. #IF (%pos(protection evil,@AFFECTS) > 0) {#VAR btnproevil %subregex(%copy(@affects,(%pos(protection evil,@AFFECTS) + 16),4),"\D*","")} {#VAR btnproevil 0}
  39. #IF (%pos(protection neutral,@AFFECTS) > 0) {#VAR btnproneutral %subregex(%copy(@affects,(%pos(protection neutral,@AFFECTS) + 19),4),"\D*","")} {#VAR btnproneutral 0}
  40.  
  41. //***** Divination Spells *****//
  42. #IF (%pos(detect hidden,@AFFECTS) > 0) {#VAR btndetecth %subregex(%copy(@affects,(%pos(detect hidden,@AFFECTS) + 14),4),"\D*","")} {#VAR btndetecth 0}
  43. #IF (%pos(detect invis,@AFFECTS) > 0) {#VAR btndetectinv %subregex(%copy(@affects,(%pos(detect invis,@AFFECTS) + 13),4),"\D*","")} {#VAR btndetectinv 0}
  44. #IF (%pos(detect magic,@AFFECTS) > 0) {#VAR btndetectm %subregex(%copy(@affects,(%pos(detect magic,@AFFECTS) + 13),4),"\D*","")} {#VAR btndetectm 0}
  45. #IF (%pos(infravision,@AFFECTS) > 0) {#VAR btninfra %subregex(%copy(@affects,(%pos(infravision,@AFFECTS) + 12),4),"\D*","")} {#VAR btninfra 0}
  46. #IF (%pos(true sight,@AFFECTS) > 0) {#VAR btntruesight %subregex(%copy(@affects,(%pos(true sight,@AFFECTS) + 11),4),"\D*","")} {#VAR btntruesight 0}
  47. #IF (%pos(understand tongues,@AFFECTS) > 0) {#VAR btntongues %subregex(%copy(@affects,(%pos(understand tongues,@AFFECTS) + 19),4),"\D*","")} {#VAR btntongues 0}
  48.  
  49. //***** Nonmagical *****//
  50. #IF (%pos(berserk,@AFFECTS) > 0) {#VAR btnberserk 1} {#VAR btnberserk 0}
  51. #IF (%pos(sneak,@AFFECTS) > 0) {#VAR btnsneak 1} {#VAR btnsneak 0}
  52.  
  53. //***** Special Buffs *****//
  54. #IF (%pos(divine blessing,@AFFECTS) > 0) {#VAR btndivinebless 1} {#VAR btndivinebless 0}
  55. #IF (%pos(annoint,@AFFECTS) > 0) {#VAR btndivinebless 1} {#VAR btndivinebless 0}
  56.  
  57. //***** Monk Spells *****//
  58. #IF (%pos(diamond skin,@AFFECTS) > 0) {#VAR btndiamskin %subregex(%copy(@affects,(%pos(diamond skin,@AFFECTS) + 13),4),"\D*","")} {#VAR btndiamskin 0}
  59. #IF (%pos(wood skin,@AFFECTS) > 0) {#VAR btnwoodskin %subregex(%copy(@affects,(%pos(wood skin,@AFFECTS) + 10),4),"\D*","")} {#VAR btnwoodskin 0}
  60. #IF (%pos(bark skin,@AFFECTS) > 0) {#VAR btnbarkskin %subregex(%copy(@affects,(%pos(bark skin,@AFFECTS) + 10),4),"\D*","")} {#VAR btnbarkskin 0}
  61. #IF (%pos(steel skin,@AFFECTS) > 0) {#VAR btnsteelskin %subregex(%copy(@affects,(%pos(steel skin,@AFFECTS) + 11),4),"\D*","")} {#VAR btnsteelskin 0}
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
Tags: mud cmud ANSALON
Advertisement
Add Comment
Please, Sign In to add comment