Ki release trigger. when blast hits you type: "contain ki;concentrate on ki" and then "re 0". if you want access second energy, then type "re 1"
SCRIPT_NAME = "ki";
SCRIPT_DESC = "ki_release";
SCRIPT_OFF = false;
import java.util.ArrayList;
ArrayList array = new ArrayList();
void bootup(){
clientGUI.doCommand("/alias re=$ki");
triggerManager.newTrigger("resetKi",
"^You have a maximum of (.*) meridian channel locations:$",
"$"+SCRIPT_NAME+".resetKi");
triggerManager.newTrigger("kiChannelAdd",
"^The (.*) meridian channel contains (.*)",
"$"+SCRIPT_NAME+".kiChannelAdd");
triggerManager.newTrigger("kiPrint",
"^You can release stored ki with the .*",
"$"+SCRIPT_NAME+".kiPrint");
}
void resetKi(){
array.clear(); // removes all elements
// or: array = new ArrayList(); // replace with a new empty list
}
void kiChannelAdd(){
String a = (String)vars.get(1);
String b = (String)vars.get(2);
array.add(new String[]{a, b});
}
void kiPrint(){
if(array.isEmpty()){
clientGUI.printText("general", "no stored ki\n", "42e9f5");
return;
}
for(int i = 0; i < array.size(); i++){
String[] pair = (String[]) array.get(i);
String a = pair.length > 0 ? pair[0] : "";
String b = pair.length > 1 ? pair[1] : "";
clientGUI.printText("general", (i) + ": " + a + " | " + b + "\n", "42e9f5");
}
}
void run() {
try {
int val = Integer.parseInt(argument);
String[] pair = (String[]) array.get(val);
String a = pair.length > 0 ? pair[0] : "";
clientGUI.doCommand("release ki from " + a);
} catch (NumberFormatException e) {
print("Invalid number: " + argument);
}
}