client/tintin-2.02.60 #1

Merged
binaryatrocity merged 53 commits from client/tintin-2.02.60 into master 2026-03-01 01:42:32 +00:00
4 changed files with 728 additions and 720 deletions
Showing only changes of commit 5d929a475c - Show all commits

View File

@ -8,6 +8,8 @@
#read {src/mindspace/spelldata.tin}; #read {src/mindspace/spelldata.tin};
#read {src/mindspace/spellbook.tin}; #read {src/mindspace/spellbook.tin};
#read {src/mindspace/skillscapture.tin};
#read {src/mindspace/spellcheck.tin};
#nop --- Data: list of spell names currently memorized (filled by triggers in later steps) --- ; #nop --- Data: list of spell names currently memorized (filled by triggers in later steps) --- ;
#list {mindspace_spells} {create}; #list {mindspace_spells} {create};
@ -36,16 +38,54 @@
#nop --- Alias: capture max mindspace from "skills ma.sp.sp raw" (special bonus + 30). --- ; #nop --- Alias: capture max mindspace from "skills ma.sp.sp raw" (special bonus + 30). --- ;
#alias {^mindspace skills$} { #alias {^mindspace skills$} {
#var {mindspace_waiting_skills} {1}; #var {mindspace_waiting_skills} {1};
#var {mindspace_skills_done} {0};
#send {cols 60}; #send {cols 60};
#send {skills ma.sp.sp raw}; #send {skills ma.sp.sp raw};
#send {skills $mindspace_skills_paths};
#send {cols 999}; #send {cols 999};
}; };
#nop --- Alias: mindspace help -> show help text. --- ;
#alias {^mindspace help$} {
#showme {};
#showme {<fca>Mindspace & Spellcheck Help<099>};
#showme {};
#showme {<acf>Command: "<aac>mindspace help<acf>"<099>};
#showme { This help information};
#showme {};
#showme {<acf>Command: "<aac>spells<acf>"<099>};
#showme { Show remembered spells with mindspace used/free and gained/lost since last run};
#showme {};
#showme {<acf>Command: "<aac>mindspace skills<acf>"<099>};
#showme { Record your skill bonuses. Run after large skill or stat changes for accurate spellchecks};
#showme {};
#showme {<acf>Command: "<aac>mindspace <acronym><acf>"<099>};
#showme { Lookup spell details, GP cost, mindspace, components, and full spellcheck data (e.g. mindspace tpa)};
#showme {};
#showme {<acf>Clickable links<099>};
#showme { Book titles in spell output and spell acronyms in book listings are clickable.};
#showme { Click a book title to list all spells in that book; click an acronym to show that spell.};
#showme {};
};
#nop --- Alias: mindspace <acronym> -> show spell. (?!skills$|help$) so skills and help are not caught. ---
#alias {^mindspace {?!skills$|help$}{.*}$} {
#if {"%1" == ""} { #return };
#format {mindspace_acr} {%l} {%1};
#var {mindspace_full} {$acronym_to_spell[$mindspace_acr]};
#if {"$mindspace_full" == ""} {
#showme {<118>No spell found for '%1'.<099>};
#return;
};
#var {mindspace_show_spell_name} {$mindspace_full};
/mindspace_show_spell;
};
#nop --- Action: parse magic.spells.special. Table format (configurable MUD output). %1 = bonus. --- ; #nop --- Action: parse magic.spells.special. Table format (configurable MUD output). %1 = bonus. --- ;
#action {^| | special......... %+1..4d %+1..4d$} { #action {^| | special......... %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #if {"$mindspace_waiting_skills" == "1"} {
#math {mindspace_data[$GMCP[charinfo][capname]][max]} {%2 + 30}; #math {mindspace_data[$GMCP[charinfo][capname]][max]} {%2 + 30};
#var {mindspace_waiting_skills} {0};
/writemindspacetofile; /writemindspacetofile;
#delay {1} {#showme {<aee>Mindspace max set to <fff>$mindspace_data[$GMCP[charinfo][capname]][max]<aee> (raw bonus + 30).<099>}}; #delay {1} {#showme {<aee>Mindspace max set to <fff>$mindspace_data[$GMCP[charinfo][capname]][max]<aee> (raw bonus + 30).<099>}};
}; };
@ -55,7 +95,6 @@
#action {^magic\.spells\.special %+1..4d %+1..4d$} { #action {^magic\.spells\.special %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #if {"$mindspace_waiting_skills" == "1"} {
#math {mindspace_data[$GMCP[charinfo][capname]][max]} {%2 + 30}; #math {mindspace_data[$GMCP[charinfo][capname]][max]} {%2 + 30};
#var {mindspace_waiting_skills} {0};
/writemindspacetofile; /writemindspacetofile;
#delay {1} {#showme {<aee>Mindspace max set to <fff>$mindspace_data[$GMCP[charinfo][capname]][max]<aee> (raw bonus + 30).<099>}}; #delay {1} {#showme {<aee>Mindspace max set to <fff>$mindspace_data[$GMCP[charinfo][capname]][max]<aee> (raw bonus + 30).<099>}};
}; };
@ -127,11 +166,10 @@
#nop --- Alias to write out mindspace data to file so we can recall it later --- ; #nop --- Alias to write out mindspace data to file so we can recall it later --- ;
#alias {^/writemindspacetofile$} { #alias {^/writemindspacetofile$} {
#class {mindsync} {clear}; #class {mindsync} {kill};
#class {mindsync} {open}; #class {mindsync} {open};
#var {mindspace_sync} {$mindspace_data}; #var {mindspace_sync} {$mindspace_data};
#class {mindsync} {close}; #class {mindsync} {close};
#class {mindsync} {write} {$mindspace_file}; #class {mindsync} {write} {$mindspace_file};
}; };

View File

@ -0,0 +1,248 @@
#class {mindspace_skills} {kill};
#class {mindspace_skills} {open};
#nop ============================================================================= ;
#nop skillscapture.tin - Per-skill actions to capture bonuses (Phase 2 Step 1). ;
#nop Two actions per skill: table (branched) and raw path. Read after spelldata so skill_tree exists. ;
#nop ============================================================================= ;
#nop --- Comma-separated paths to request in one "skills" command (all skill_tree paths). --- ;
#var {mindspace_skills_paths} {ma.me.el.air,ma.me.el.earth,ma.me.el.fire,ma.me.el.water,ma.me.me.animating,ma.me.me.channeling,ma.me.me.charming,ma.me.me.convoking,ma.me.me.cursing,ma.me.ph.binding,ma.me.ph.brewing,ma.me.ph.chanting,ma.me.ph.dancing,ma.me.ph.enchanting,ma.me.ph.evoking,ma.me.ph.healing,ma.me.ph.scrying,ma.me.sp.abjuring,ma.me.sp.banishing,ma.me.sp.conjuring,ma.me.sp.divining,ma.me.sp.summoning,ma.it.he.wand,ma.it.he.rod,ma.it.he.staff,ma.it.wo.amulet,ma.it.wo.ring,ma.it.talisman,cr.sm.gold,cr.sm.silver,cr.ca.turning,cr.ca.whittling,cr.hus.pl.herbal,cr.pot.fo.shaping,cr.ma.weaving};
#nop --- Number of skills we expect (for "all received" check). --- ;
#var {mindspace_skills_needed} {35};
#nop --- Shared handler: store bonus for current char, increment done, finish when all received. --- ;
#alias {/mindspace_skill_captured} {
#var {mindspace_skill_old} {$mindspace_data[$GMCP[charinfo][capname]][skills][%1]};
#var {mindspace_data[$GMCP[charinfo][capname]][skills][%1]} {%2};
#if {"$mindspace_skill_old" == ""} {
#math {mindspace_skills_done} {$mindspace_skills_done + 1};
};
#if {$mindspace_skills_done >= $mindspace_skills_needed} {
/mindspace_skills_finish;
};
};
#nop --- Called when all skills captured: clear flag, persist, notify. --- ;
#alias {/mindspace_skills_finish} {
#var {mindspace_waiting_skills} {0};
/writemindspacetofile;
#delay {1} {#showme {<aee>Skills and mindspace recorded. Check <fff>$mindspace_data[$GMCP[charinfo][capname]][skills]<aee> for bonuses.<099>}};
};
#nop --- Two actions per skill: table (branched | | name.... level bonus) and raw (path level bonus). --- ;
#nop Table depth: | | | = 3, | | = 2, | | | | = 4. %1=level %2=bonus in both. --- ;
#action {^| | | air{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured air $mindspace_tmp_bonus };
};
#action {^ma.me.el.air%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured air $mindspace_tmp_bonus };
};
#action {^| | | earth{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured earth $mindspace_tmp_bonus };
};
#action {^ma.me.el.earth%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured earth $mindspace_tmp_bonus };
};
#action {^| | | fire{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured fire $mindspace_tmp_bonus };
};
#action {^ma.me.el.fire%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured fire $mindspace_tmp_bonus };
};
#action {^| | | water{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured water $mindspace_tmp_bonus };
};
#action {^ma.me.el.water%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured water $mindspace_tmp_bonus };
};
#action {^| | | animating{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured animating $mindspace_tmp_bonus };
};
#action {^ma.me.me.animating%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured animating $mindspace_tmp_bonus };
};
#action {^| | | channeling{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured channeling $mindspace_tmp_bonus };
};
#action {^ma.me.me.channeling%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured channeling $mindspace_tmp_bonus };
};
#action {^| | | charming{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured charming $mindspace_tmp_bonus };
};
#action {^ma.me.me.charming%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured charming $mindspace_tmp_bonus };
};
#action {^| | | convoking{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured convoking $mindspace_tmp_bonus };
};
#action {^ma.me.me.convoking%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured convoking $mindspace_tmp_bonus };
};
#action {^| | | cursing{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured cursing $mindspace_tmp_bonus };
};
#action {^ma.me.me.cursing%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured cursing $mindspace_tmp_bonus };
};
#action {^| | | binding{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured binding $mindspace_tmp_bonus };
};
#action {^ma.me.ph.binding%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured binding $mindspace_tmp_bonus };
};
#action {^| | | brewing{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured brewing $mindspace_tmp_bonus };
};
#action {^ma.me.ph.brewing%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured brewing $mindspace_tmp_bonus };
};
#action {^| | | chanting{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured chanting $mindspace_tmp_bonus };
};
#action {^ma.me.ph.chanting%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured chanting $mindspace_tmp_bonus };
};
#action {^| | | dancing{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured dancing $mindspace_tmp_bonus };
};
#action {^ma.me.ph.dancing%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured dancing $mindspace_tmp_bonus };
};
#action {^| | | enchanting{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured enchanting $mindspace_tmp_bonus };
};
#action {^ma.me.ph.enchanting%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured enchanting $mindspace_tmp_bonus };
};
#action {^| | | evoking{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured evoking $mindspace_tmp_bonus };
};
#action {^ma.me.ph.evoking%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured evoking $mindspace_tmp_bonus };
};
#action {^| | | healing{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured healing $mindspace_tmp_bonus };
};
#action {^ma.me.ph.healing%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured healing $mindspace_tmp_bonus };
};
#action {^| | | scrying{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured scrying $mindspace_tmp_bonus };
};
#action {^ma.me.ph.scrying%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured scrying $mindspace_tmp_bonus };
};
#action {^| | | abjuring{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured abjuring $mindspace_tmp_bonus };
};
#action {^ma.me.sp.abjuring%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured abjuring $mindspace_tmp_bonus };
};
#action {^| | | banishing{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured banishing $mindspace_tmp_bonus };
};
#action {^ma.me.sp.banishing%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured banishing $mindspace_tmp_bonus };
};
#action {^| | | conjuring{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured conjuring $mindspace_tmp_bonus };
};
#action {^ma.me.sp.conjuring%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured conjuring $mindspace_tmp_bonus };
};
#action {^| | | divining{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured divining $mindspace_tmp_bonus };
};
#action {^ma.me.sp.divining%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured divining $mindspace_tmp_bonus };
};
#action {^| | | summoning{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured summoning $mindspace_tmp_bonus };
};
#action {^ma.me.sp.summoning%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured summoning $mindspace_tmp_bonus };
};
#action {^| | | wand{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured wand $mindspace_tmp_bonus };
};
#action {^ma.it.he.wand%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured wand $mindspace_tmp_bonus };
};
#action {^| | | rod{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured rod $mindspace_tmp_bonus };
};
#action {^ma.it.he.rod%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured rod $mindspace_tmp_bonus };
};
#action {^| | | staff{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured staff $mindspace_tmp_bonus };
};
#action {^ma.it.he.staff%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured staff $mindspace_tmp_bonus };
};
#action {^| | | amulet{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured amulet $mindspace_tmp_bonus };
};
#action {^ma.it.wo.amulet%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured amulet $mindspace_tmp_bonus };
};
#action {^| | | ring{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured ring $mindspace_tmp_bonus };
};
#action {^ma.it.wo.ring%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured ring $mindspace_tmp_bonus };
};
#action {^| | talisman{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured talisman $mindspace_tmp_bonus };
};
#action {^ma.it.talisman%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured talisman $mindspace_tmp_bonus };
};
#action {^| | | gold{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured gold $mindspace_tmp_bonus };
};
#action {^cr.sm.gold%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured gold $mindspace_tmp_bonus };
};
#action {^| | | silver{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured silver $mindspace_tmp_bonus };
};
#action {^cr.sm.silver%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured silver $mindspace_tmp_bonus };
};
#action {^| | | turning{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured turning $mindspace_tmp_bonus };
};
#action {^cr.ca.turning%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured turning $mindspace_tmp_bonus };
};
#action {^| | | whittling{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured whittling $mindspace_tmp_bonus };
};
#action {^cr.ca.whittling%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured whittling $mindspace_tmp_bonus };
};
#action {^| | | | herbal{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured herbal $mindspace_tmp_bonus };
};
#action {^cr.hus.pl.herbal%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured herbal $mindspace_tmp_bonus };
};
#action {^| | | | shaping{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured shaping $mindspace_tmp_bonus };
};
#action {^cr.pot.fo.shaping%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured shaping $mindspace_tmp_bonus };
};
#action {^| | | weaving{.+} %+1..4d %+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured weaving $mindspace_tmp_bonus };
};
#action {^cr.ma.weaving%s%+1..4d%s%+1..4d$} {
#if {"$mindspace_waiting_skills" == "1"} { #var {mindspace_tmp_bonus} {%2}; /mindspace_skill_captured weaving $mindspace_tmp_bonus };
};
#class {mindspace_skills} {close};

View File

@ -0,0 +1,265 @@
#class {spellcheck} {kill};
#class {spellcheck} {open};
#nop =============================================================================
#nop spellcheck.tin - Show spell details + spellcheck table. Read by mindspace.tin.
#nop Expects: mindspace_show_spell_name (set by mindspace before /mindspace_show_spell).
#nop Uses: spell_data, methods_data, books, type_short, skill_levels, order_shorts, skill_tree, mindspace_data, GMCP (from spelldata / mindspace).
#nop Events: PRESSED SECURE LINK MINDSPACEBOOK (book listing), PRESSED SECURE LINK MINDSPACESPELL (show spell).
#nop Colors: xterm 256 format <aaa>-<fff> foreground only.
#nop =============================================================================
#nop --- Returns [bonus] with color by level: red->orange->yellow->green (reversed greens: ada=90%, afa=99+). --- ;
#function {bonus_colored} {
#if {"%1" == "1"} {#return {[<faa>%2<099>]}};
#if {"%1" == "2"} {#return {[<eaa>%2<099>]}};
#if {"%1" == "3"} {#return {[<daa>%2<099>]}};
#if {"%1" == "4"} {#return {[<caa>%2<099>]}};
#if {"%1" == "5"} {#return {[<fca>%2<099>]}};
#if {"%1" == "6"} {#return {[<ffa>%2<099>]}};
#if {"%1" == "7"} {#return {[<efa>%2<099>]}};
#if {"%1" == "8"} {#return {[<dfa>%2<099>]}};
#if {"%1" == "9"} {#return {[<bfa>%2<099>]}};
#if {"%1" == "10"} {#return {[<ada>%2<099>]}};
#return {[<afa>%2<099>]};
};
#alias {/mindspace_show_spell} {
#var {mindspace_bid} {$spell_data[$mindspace_show_spell_name][bookid]};
#format {mindspace_acr} {%u} {$spell_data[$mindspace_show_spell_name][short]};
#showme {};
#showme {<fff>$mindspace_acr: <aff>$mindspace_show_spell_name<099>. Mindspace = <fff>$spell_data[$mindspace_show_spell_name][mindspace]<099>, GP Cost = <fff>$spell_data[$mindspace_show_spell_name][gp]<099>};
#showme {It is categorised as <fff>$spell_data[$mindspace_show_spell_name][type].<099>};
#showme {Components: $spell_data[$mindspace_show_spell_name][components]<099>};
#if {"$spell_data[$mindspace_show_spell_name][hasbook]" == "true"} {
#showme {This is a witch spell.<099>};
} {
#if {"$mindspace_bid" != ""} {
#showme {It is found in '<fff>@book_link{$mindspace_bid;$books[$mindspace_bid][title]}<099>' - '$books[$mindspace_bid][desc]'.<099>};
#showme {<fff>$books[$mindspace_bid][location]<099>};
} {
#showme {It is unknown where this spell can be obtained.<099>};
};
};
#showme {};
#showme {(type '<aff>mindspace skills<099>' to update the plugin with your current bonuses for accurate spellchecks)<099>};
#var {mindspace_char} {$GMCP[charinfo][capname]};
#var {mindspace_char_order} {0};
#if {"$order_shorts[$GMCP[charinfo][guildspec]]" != ""} {
#var {mindspace_char_order} {$order_shorts[$GMCP[charinfo][guildspec]]}
} {
#if {"$GMCP[charinfo][guild]" == "wizards"} {
#var {mindspace_char_order} {3}
};
};
#showme {<fff>Skill Fail <g10>-><g11>-><g12>-><g13>-><g14>-><g15>-><g16>-><g17>-><g18>-><g19>-><g20>-><g20><fff> Equal <g20>-><g20>-><g21>-><g22>-><g23>-><g23>-><g23>-><g23>-><g23>-><g23>-><g23>-><g23>-<fff> Success Chance [bonus]<099>};
#foreach {*methods_data[$mindspace_show_spell_name][%*]} {mindspace_m} {
#var {mindspace_bonus} {$mindspace_data[$mindspace_char][skills][$mindspace_m]};
#if {"$mindspace_bonus" == ""} {
#var {mindspace_bonus} {0}
};
#var {mindspace_level} {1};
#if {$mindspace_bonus >= $methods_data[$mindspace_show_spell_name][$mindspace_m][1]} {
#var {mindspace_level} {2}
};
#if {$mindspace_bonus >= $methods_data[$mindspace_show_spell_name][$mindspace_m][2]} {
#var {mindspace_level} {3}
};
#if {$mindspace_bonus >= $methods_data[$mindspace_show_spell_name][$mindspace_m][3]} {
#var {mindspace_level} {4}
};
#if {$mindspace_bonus >= $methods_data[$mindspace_show_spell_name][$mindspace_m][4]} {
#var {mindspace_level} {5}
};
#if {$mindspace_bonus >= $methods_data[$mindspace_show_spell_name][$mindspace_m][5]} {
#var {mindspace_level} {6}
};
#if {$mindspace_bonus >= $methods_data[$mindspace_show_spell_name][$mindspace_m][6]} {
#var {mindspace_level} {7}
};
#if {$mindspace_bonus >= $methods_data[$mindspace_show_spell_name][$mindspace_m][7]} {
#var {mindspace_level} {8}
};
#if {$mindspace_bonus >= $methods_data[$mindspace_show_spell_name][$mindspace_m][8]} {
#var {mindspace_level} {9}
};
#if {$mindspace_bonus >= $methods_data[$mindspace_show_spell_name][$mindspace_m][9]} {
#var {mindspace_level} {10}
};
#if {$mindspace_bonus >= $methods_data[$mindspace_show_spell_name][$mindspace_m][10]} {
#var {mindspace_level} {11}
};
#var {mindspace_pre} {};
#var {mindspace_mid} {};
#var {mindspace_post} {};
#format {mindspace_cell} {\x3c%s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][1]};
#format {mindspace_cell} {%-9s} {$mindspace_cell};
#if {1 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {1 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_cell} {%-6s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][2]};
#if {2 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {2 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_cell} {%-6s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][2]};
#if {3 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {3 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_cell} {%-6s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][3]};
#if {4 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {4 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_cell} {%-6s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][4]};
#if {5 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {5 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_cell} {%-6s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][5]};
#if {6 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {6 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_cell} {%-6s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][6]};
#if {7 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {7 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_cell} {%-6s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][7]};
#if {8 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {8 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_cell} {%-6s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][8]};
#if {9 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {9 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_cell} {%-6s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][9]};
#if {10 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {10 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_cell} {%-6s} {$methods_data[$mindspace_show_spell_name][$mindspace_m][10]};
#if {11 < $mindspace_level} {
#var {mindspace_pre} {$mindspace_pre$mindspace_cell}
} {
#if {11 == $mindspace_level} {
#var {mindspace_mid} {$mindspace_mid$mindspace_cell}
} {
#var {mindspace_post} {$mindspace_post$mindspace_cell}
}
};
#format {mindspace_skill_fmt} {%-12s } {$mindspace_m};
#var {mindspace_p_suffix} {};
#if {$mindspace_char_order > 0 && "$skill_tree[$mindspace_m][orders]" != ""} {
#foreach {*skill_tree[$mindspace_m][orders][%*]} {_oidx} {
#if {"$skill_tree[$mindspace_m][orders][$_oidx]" == "$mindspace_char_order"} {
#var {mindspace_p_suffix} { <acf>*P*<099>};
#break
};
};
};
#showme {$mindspace_skill_fmt<aff>$mindspace_pre<ffa>$mindspace_mid<faa>$mindspace_post<099> $skill_levels[$mindspace_level]@bonus_colored{$mindspace_level;$mindspace_bonus}<099>$mindspace_p_suffix};
};
#showme {};
};
#nop --- MSLP SECURE LINK: book name -> clickable, passes book ID, outputs Quow-style book listing --- ;
#event {PRESSED SECURE LINK MSBOOK MOUSE BUTTON ONE} {
#showme {clicked book link ><><};
#var {mindspace_bid} {%4};
#if {"$books[$mindspace_bid][title]" == ""} {
#showme {<118>Unknown book ID.<099>};
#return;
};
#showme {};
#showme {<acf>Listing spells found in book '<fff>$books[$mindspace_bid][title]<acf>'<099>};
#showme {<acf>($books[$mindspace_bid][location]):<099>};
#showme {};
#var {mindspace_book_idx} {0};
#foreach {*spell_data[%*]} {mindspace_sn} {
#if {"$spell_data[$mindspace_sn][bookid]" == "$mindspace_bid"} {
#math {mindspace_book_idx} {$mindspace_book_idx + 1};
#var {mindspace_ts} {$type_short[$spell_data[$mindspace_sn][type]]};
#format {mindspace_book_fmt} {%-2s} {$mindspace_book_idx};
#format {mindspace_acr} {%u} {$spell_data[$mindspace_sn][short]};
#showme {<acf> $mindspace_book_fmt: <099>@spell_link{$mindspace_sn;$mindspace_acr}<acf> - $mindspace_sn ($mindspace_ts) [size:$spell_data[$mindspace_sn][mindspace], GP:$spell_data[$mindspace_sn][gp]]<099>};
};
};
#showme {};
};
#nop --- MSLP SECURE LINK: spell acronym/name -> clickable, triggers show spell --- ;
#event {PRESSED SECURE LINK MINDSPACESPELL MOUSE BUTTON ONE} {
#var {mindspace_show_spell_name} {%4};
/mindspace_show_spell;
};
#function {spell_link} {
#nop %1 = full spell name, %2 = display text (e.g. acronym);
#return {\e]68;2;MINDSPACESPELL;%1\a\e[4m%2\e[24m};
}
#function {book_link} {
#showme {created book link ><><};
#nop %1 = book id, %2 = display text;
#return {\e]68;2;MSBOOK;%1\a\e[4m%2\e[24m};
}
#class {spellcheck} {close};

File diff suppressed because it is too large Load Diff